Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
 internal void BindGBufferForWrite(MyGBuffer gbuffer)
 {
     BindDepthRT(
         gbuffer.Get(MyGbufferSlot.DepthStencil), DepthStencilAccess.ReadWrite,
         gbuffer.Get(MyGbufferSlot.GBuffer0),
         gbuffer.Get(MyGbufferSlot.GBuffer1),
         gbuffer.Get(MyGbufferSlot.GBuffer2));
 }
Beispiel #3
0
 internal void BindGBufferForReadSkipStencil(int slot, MyGBuffer gbuffer)
 {
     BindSRV(slot,
             gbuffer.DepthStencil.Depth,
             gbuffer.Get(MyGbufferSlot.GBuffer0),
             gbuffer.Get(MyGbufferSlot.GBuffer1),
             gbuffer.Get(MyGbufferSlot.GBuffer2));
 }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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);
        }
 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));
 }