|
|
|
|
|
|
cmd.SetRandomWriteTarget(bindSlot, m_HTile); |
|
|
|
} |
|
|
|
|
|
|
|
public void UnSetHTile(CommandBuffer cmd) |
|
|
|
{ |
|
|
|
cmd.ClearRandomWriteTargets(); |
|
|
|
} |
|
|
|
|
|
|
|
public void PushGlobalParams(CommandBuffer cmd) |
|
|
|
{ |
|
|
|
cmd.SetGlobalInt(HDShaderIDs._EnableDBuffer, vsibleDecalCount > 0 ? 1 : 0); |
|
|
|
|
|
|
RenderOpaqueRenderList(cull, camera, renderContext, cmd, HDShaderPassNames.s_GBufferName, m_currentRendererConfigurationBakedLighting, HDRenderQueue.k_RenderQueue_AllOpaque, m_DepthStateOpaque); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (m_FrameSettings.enableDBuffer) |
|
|
|
{ |
|
|
|
m_DbufferManager.UnSetHTile(cmd); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
CoreUtils.SetRenderTarget(cmd, m_DbufferManager.GetDBuffers(), m_CameraDepthStencilBufferRT); // do not clear anymore
|
|
|
|
m_DbufferManager.SetHTile(m_DbufferManager.dbufferCount, cmd); |
|
|
|
DecalSystem.instance.Render(renderContext, camera, cmd); |
|
|
|
cmd.ClearRandomWriteTargets(); |
|
|
|
m_DbufferManager.UnSetHTile(cmd); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|