/// <summary> /// Bind the provided slot to SV_Target0. Useful for dual-source blending /// </summary> internal void BindGBufferForWrite(MyGBuffer gbuffer, MyGbufferSlot slot, DepthStencilAccess depthStencilFlags = DepthStencilAccess.ReadWrite) { m_tmpBinds1[0] = gbuffer.Get(slot); BindDepthRTInternal(gbuffer.Get(MyGbufferSlot.DepthStencil), depthStencilFlags, m_tmpBinds1); Array.Clear(m_tmpBinds1, 0, m_tmpBinds1.Length); }
internal void BindGBufferForWrite(MyGBuffer gbuffer) { BindDepthRT( gbuffer.Get(MyGbufferSlot.DepthStencil), DepthStencilAccess.ReadWrite, gbuffer.Get(MyGbufferSlot.GBuffer0), gbuffer.Get(MyGbufferSlot.GBuffer1), gbuffer.Get(MyGbufferSlot.GBuffer2)); }
internal void BindGBufferForReadSkipStencil(int slot, MyGBuffer gbuffer) { BindSRV(slot, gbuffer.DepthStencil.Depth, gbuffer.Get(MyGbufferSlot.GBuffer0), gbuffer.Get(MyGbufferSlot.GBuffer1), gbuffer.Get(MyGbufferSlot.GBuffer2)); }
internal void BindGBufferForWrite(MyGBuffer gbuffer, DepthStencilAccess depthStencilFlags = DepthStencilAccess.ReadWrite) { m_tmpBinds3[0] = gbuffer.Get(MyGbufferSlot.GBuffer0); m_tmpBinds3[1] = gbuffer.Get(MyGbufferSlot.GBuffer1); m_tmpBinds3[2] = gbuffer.Get(MyGbufferSlot.GBuffer2); BindDepthRTInternal(gbuffer.Get(MyGbufferSlot.DepthStencil), depthStencilFlags, m_tmpBinds3); Array.Clear(m_tmpBinds3, 0, m_tmpBinds3.Length); }
internal void BindGBufferForReadSkipStencil(int slot, MyGBuffer gbuffer) { m_tmpBinds4[0] = gbuffer.DepthStencil.Depth; m_tmpBinds4[1] = gbuffer.Get(MyGbufferSlot.GBuffer0); m_tmpBinds4[2] = gbuffer.Get(MyGbufferSlot.GBuffer1); m_tmpBinds4[3] = gbuffer.Get(MyGbufferSlot.GBuffer2); BindSRVsInternal(slot, m_tmpBinds4); Array.Clear(m_tmpBinds4, 0, m_tmpBinds4.Length); }
internal void BindGBufferForRead(int slot, MyGBuffer gbuffer) { m_tmpBinds5[0] = gbuffer.DepthStencil.Depth; m_tmpBinds5[1] = gbuffer.Get(MyGbufferSlot.GBuffer0); m_tmpBinds5[2] = gbuffer.Get(MyGbufferSlot.GBuffer1); m_tmpBinds5[3] = gbuffer.Get(MyGbufferSlot.GBuffer2); m_tmpBinds5[4] = gbuffer.DepthStencil.Stencil; BindSRVsInternal(slot, m_tmpBinds5); Array.Clear(m_tmpBinds5, 0, m_tmpBinds5.Length); }