|
|
|
|
|
|
CoreUtils.SetRenderTarget(cmd, m_HTileRT, ClearFlag.Color, CoreUtils.clearColorAllBlack); |
|
|
|
} |
|
|
|
|
|
|
|
public void SetHTile(CommandBuffer cmd) |
|
|
|
public void SetHTile(int bindSlot, CommandBuffer cmd) |
|
|
|
cmd.SetRandomWriteTarget(3, m_HTile); |
|
|
|
cmd.SetRandomWriteTarget(bindSlot, m_HTile); |
|
|
|
} |
|
|
|
|
|
|
|
public void PushGlobalParams(CommandBuffer cmd) |
|
|
|
|
|
|
{ |
|
|
|
// setup GBuffer for rendering
|
|
|
|
CoreUtils.SetRenderTarget(cmd, m_GbufferManager.GetGBuffers(), m_CameraDepthStencilBufferRT); |
|
|
|
if (m_FrameSettings.enableDBuffer) |
|
|
|
{ |
|
|
|
m_DbufferManager.SetHTile(m_GbufferManager.gbufferCount, cmd); |
|
|
|
} |
|
|
|
|
|
|
|
// Render opaque objects into GBuffer
|
|
|
|
if (m_CurrentDebugDisplaySettings.IsDebugDisplayEnabled()) |
|
|
|
|
|
|
m_DbufferManager.ClearNormalTargetAndHTile(clearColorNormal, cmd); |
|
|
|
|
|
|
|
CoreUtils.SetRenderTarget(cmd, m_DbufferManager.GetDBuffers(), m_CameraDepthStencilBufferRT); // do not clear anymore
|
|
|
|
m_DbufferManager.SetHTile(cmd); |
|
|
|
m_DbufferManager.SetHTile(m_DbufferManager.dbufferCount, cmd); |
|
|
|
DecalSystem.instance.Render(renderContext, camera, cmd); |
|
|
|
cmd.ClearRandomWriteTargets(); |
|
|
|
} |
|
|
|