|
|
|
|
|
|
RenderGaussianPyramidColor(hdCamera, cmd, renderContext, true); |
|
|
|
|
|
|
|
// Render all type of transparent forward (unlit, lit, complex (hair...)) to keep the sorting between transparent objects.
|
|
|
|
cmd.SetGlobalBuffer(HDShaderIDs._DebugScreenSpaceTracingData, m_DebugScreenSpaceTracingData); |
|
|
|
cmd.SetRandomWriteTarget(1, m_DebugScreenSpaceTracingData); |
|
|
|
cmd.ClearRandomWriteTargets(); |
|
|
|
RenderForwardError(m_CullResults, hdCamera, renderContext, cmd, ForwardPass.Transparent); |
|
|
|
|
|
|
|
// Fill depth buffer to reduce artifact for transparent object during postprocess
|
|
|
|
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
// Assign debug data
|
|
|
|
if (m_CurrentDebugDisplaySettings.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceTracing |
|
|
|
&& pass == ForwardPass.Transparent) |
|
|
|
{ |
|
|
|
cmd.SetGlobalBuffer(HDShaderIDs._DebugScreenSpaceTracingData, m_DebugScreenSpaceTracingData); |
|
|
|
cmd.SetRandomWriteTarget(1, m_DebugScreenSpaceTracingData); |
|
|
|
} |
|
|
|
|
|
|
|
HDUtils.SetRenderTarget(cmd, hdCamera, m_CameraColorBuffer, m_CameraDepthStencilBuffer); |
|
|
|
if (m_FrameSettings.enableDBuffer) // enable d-buffer flag value is being interpreted more like enable decals in general now that we have clustered
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
if (m_CurrentDebugDisplaySettings.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceTracing |
|
|
|
&& pass == ForwardPass.Transparent) |
|
|
|
{ |
|
|
|
cmd.ClearRandomWriteTargets(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|