internal static void DrawIndexedInstancedIndirectGBufferPass(MyRenderContext rc, Buffer bufferForArgsRef, int alignedByteOffsetForArgs) { BeginDrawGBufferPass(rc); rc.DrawIndexedInstancedIndirect(bufferForArgsRef, alignedByteOffsetForArgs); SwitchDrawGBufferPass(rc); rc.DrawIndexedInstancedIndirect(bufferForArgsRef, alignedByteOffsetForArgs); EndDrawGBufferPass(rc); }
internal static void DrawIndexedInstancedIndirectGPUParticles(MyRenderContext rc, Buffer bufferForArgsRef, int alignedByteOffsetForArgs) { rc.AllShaderStages.SetConstantBuffer(MyCommon.FRAME_SLOT, MyCommon.FrameConstantsStereoLeftEye); SetViewport(rc, MyStereoRegion.LEFT); rc.DrawIndexedInstancedIndirect(bufferForArgsRef, alignedByteOffsetForArgs); rc.AllShaderStages.SetConstantBuffer(MyCommon.FRAME_SLOT, MyCommon.FrameConstantsStereoRightEye); SetViewport(rc, MyStereoRegion.RIGHT); rc.DrawIndexedInstancedIndirect(bufferForArgsRef, alignedByteOffsetForArgs); rc.AllShaderStages.SetConstantBuffer(MyCommon.FRAME_SLOT, MyCommon.FrameConstants); SetViewport(rc, MyStereoRegion.FULLSCREEN); }
internal static void DrawIndexedInstancedIndirectGPUParticles(MyRenderContext rc, IBuffer bufferForArgsRef, int alignedByteOffsetForArgs) { rc.AllShaderStages.SetConstantBuffer(MyCommon.FRAME_SLOT, MyCommon.FrameConstantsStereoLeftEye); SetViewport(rc, MyStereoRegion.LEFT); rc.DrawIndexedInstancedIndirect(bufferForArgsRef, alignedByteOffsetForArgs); rc.AllShaderStages.SetConstantBuffer(MyCommon.FRAME_SLOT, MyCommon.FrameConstantsStereoRightEye); SetViewport(rc, MyStereoRegion.RIGHT); rc.DrawIndexedInstancedIndirect(bufferForArgsRef, alignedByteOffsetForArgs); rc.AllShaderStages.SetConstantBuffer(MyCommon.FRAME_SLOT, MyCommon.FrameConstants); SetViewport(rc, MyStereoRegion.FULLSCREEN); }
internal static void DrawIndexedInstancedIndirectGBufferPass(MyRenderContext rc, IBuffer bufferForArgsRef, int alignedByteOffsetForArgs) { BeginDrawGBufferPass(rc); rc.DrawIndexedInstancedIndirect(bufferForArgsRef, alignedByteOffsetForArgs); SwitchDrawGBufferPass(rc); rc.DrawIndexedInstancedIndirect(bufferForArgsRef, alignedByteOffsetForArgs); EndDrawGBufferPass(rc); }