render pass first work
This commit is contained in:
@@ -48,13 +48,13 @@ void CFunnyViewport::UpdateResolution( uint32_t uX, uint32_t uY )
|
||||
g_pRenderContext->DestroyImage(m_pColorResolved);
|
||||
g_pRenderContext->DestroyImage(m_pRenderImage);
|
||||
}
|
||||
m_pColor = g_pRenderContext->CreateRenderTarget(uX, uY, IMAGE_FORMAT_RGBA8_UNORM, MULTISAMPLE_TYPE_4_SAMPLES);
|
||||
m_pColor = g_pRenderContext->CreateRenderTarget(uX, uY, IMAGE_FORMAT_RGBA8_UNORM, MULTISAMPLE_TYPE_1_SAMPLES);
|
||||
m_pColor->SetDebugName("m_pColor");
|
||||
m_pNormal = g_pRenderContext->CreateRenderTarget(uX, uY, IMAGE_FORMAT_RGBA16_SNORM, MULTISAMPLE_TYPE_4_SAMPLES);
|
||||
m_pNormal = g_pRenderContext->CreateRenderTarget(uX, uY, IMAGE_FORMAT_RGBA16_SNORM, MULTISAMPLE_TYPE_1_SAMPLES);
|
||||
m_pNormal->SetDebugName("m_pNormal");
|
||||
m_pWorldCoords = g_pRenderContext->CreateRenderTarget(uX, uY, IMAGE_FORMAT_RGBA32_SFLOAT, MULTISAMPLE_TYPE_4_SAMPLES);
|
||||
m_pWorldCoords = g_pRenderContext->CreateRenderTarget(uX, uY, IMAGE_FORMAT_RGBA32_SFLOAT, MULTISAMPLE_TYPE_1_SAMPLES);
|
||||
m_pWorldCoords->SetDebugName("m_pWorldCoords");
|
||||
m_pDepth = g_pRenderContext->CreateRenderTarget(uX, uY, IMAGE_FORMAT_D32_SFLOAT, MULTISAMPLE_TYPE_4_SAMPLES);
|
||||
m_pDepth = g_pRenderContext->CreateRenderTarget(uX, uY, IMAGE_FORMAT_D32_SFLOAT, MULTISAMPLE_TYPE_1_SAMPLES);
|
||||
m_pDepth->SetDebugName("m_pDepth");
|
||||
m_pColorResolved = g_pRenderContext->CreateRenderTarget(uX, uY, IMAGE_FORMAT_RGBA8_UNORM, MULTISAMPLE_TYPE_1_SAMPLES);
|
||||
m_pColorResolved->SetDebugName("m_pColorResolved");
|
||||
@@ -268,7 +268,7 @@ void CFunnyWorldRenderer::ConfigureShader( IShader *pShader )
|
||||
pShader->AddOutputImage(1, IMAGE_FORMAT_RGBA16_SNORM);
|
||||
pShader->AddOutputImage(2, IMAGE_FORMAT_RGBA32_SFLOAT);
|
||||
|
||||
pShader->SetMultisampling(MULTISAMPLE_TYPE_4_SAMPLES);
|
||||
pShader->SetMultisampling(MULTISAMPLE_TYPE_1_SAMPLES);
|
||||
|
||||
pShader->SetDepthImage(IMAGE_FORMAT_D32_SFLOAT);
|
||||
}
|
||||
@@ -402,9 +402,10 @@ void CFunnyWorldRenderer::Frame( float fDelta )
|
||||
m_pRasterCommandList->Barrier(STAGE_HAZARD_RASTER_COLOR_OUT, STAGE_HAZARD_NONE, 0);
|
||||
m_pRasterCommandList->BarrierTransition(
|
||||
v->m_pColor,
|
||||
IMAGE_LAYOUT_COLOR, IMAGE_LAYOUT_TRANSFER_SRC,
|
||||
STAGE_HAZARD_RASTER_COLOR_OUT, STAGE_HAZARD_TRANSFER,
|
||||
IMAGE_LAYOUT_COLOR, IMAGE_LAYOUT_GENERAL,
|
||||
STAGE_HAZARD_RASTER_COLOR_OUT, STAGE_HAZARD_COMPUTE,
|
||||
0);
|
||||
/*
|
||||
m_pRasterCommandList->BarrierTransition(
|
||||
v->m_pColorResolved,
|
||||
IMAGE_LAYOUT_UNDEFINED, IMAGE_LAYOUT_TRANSFER_DST,
|
||||
@@ -417,16 +418,17 @@ void CFunnyWorldRenderer::Frame( float fDelta )
|
||||
IMAGE_LAYOUT_TRANSFER_DST, IMAGE_LAYOUT_GENERAL,
|
||||
STAGE_HAZARD_TRANSFER, STAGE_HAZARD_COMPUTE,
|
||||
0);
|
||||
*/
|
||||
m_pRasterCommandList->BarrierTransition(
|
||||
v->m_pRenderImage,
|
||||
IMAGE_LAYOUT_UNDEFINED, IMAGE_LAYOUT_GENERAL,
|
||||
STAGE_HAZARD_NONE, STAGE_HAZARD_COMPUTE,
|
||||
0);
|
||||
|
||||
m_pPostProcessingMaterial->CSSetTexture(0, 0, v->m_pColorResolved);
|
||||
m_pPostProcessingMaterial->CSSetTexture(0, 0, v->m_pColor);
|
||||
m_pPostProcessingMaterial->CSSetTexture(1, 0, v->m_pRenderImage);
|
||||
m_pRasterCommandList->SetMaterial(m_pPostProcessingMaterial);
|
||||
m_pRasterCommandList->DispatchCompute(uWidth, uHeight, 1);
|
||||
m_pRasterCommandList->DispatchCompute((uWidth+31)/32, (uHeight+31)/32, 1);
|
||||
m_pRasterCommandList->Barrier(STAGE_HAZARD_COMPUTE, STAGE_HAZARD_NONE, 0);
|
||||
m_pRasterCommandList->EndRecording();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user