public void SetWorldParams(RenderTarget renderTarget, DrawSystem.WorldData data) { m_worldData = data; // set fixed param { m_context.Rasterizer.State = m_initParam.RasterizerState; int width = renderTarget.Resolution.Width; int height = renderTarget.Resolution.Height; m_context.Rasterizer.SetViewport(new Viewport(0, 0, width, height, 0.0f, 1.0f)); m_context.OutputMerger.SetTargets(renderTarget.DepthStencilView, renderTarget.TargetView); } // bind shader m_context.VertexShader.SetConstantBuffer(0, m_mainVtxConst); m_context.VertexShader.SetConstantBuffer(1, m_boneVtxConst); m_context.VertexShader.SetConstantBuffer(2, m_modelVtxConst); m_context.VertexShader.SetConstantBuffer(3, m_initParam.WorldVtxConst); m_context.PixelShader.SetConstantBuffer(0, m_mainPixConst); m_context.PixelShader.SetConstantBuffer(1, m_modelPixConst); m_context.PixelShader.SetConstantBuffer(2, m_initParam.WorldPixConst); m_drawCallCount = 0; m_nextInstanceIndex = 0; }
public RenderTarget StartPass(DrawSystem.WorldData data) { m_worldData = data; var renderTarget = m_repository.GetDefaultRenderTarget(); m_context.SetWorldParams(renderTarget, data); m_context.UpdateWorldParams(m_d3d.Device.ImmediateContext, data); m_context.UpdateEyeParams(m_d3d.Device.ImmediateContext, renderTarget, GetEyeData()); m_context.ClearRenderTarget(renderTarget); return(renderTarget); }
public RenderTarget StartPass(DrawSystem.WorldData data) { m_worldData = data; var renderTarget = m_repository.FindResource <RenderTarget>("Temp"); m_context.SetWorldParams(renderTarget, data); m_hmd.BeginScene(); m_context.UpdateWorldParams(m_d3d.Device.ImmediateContext, data); m_context.UpdateEyeParams(m_d3d.Device.ImmediateContext, renderTarget, _GetEyeData(1));// set right eye settings m_context.ClearRenderTarget(renderTarget); m_isContextDirty = true; return(renderTarget); }
public void StartPass(DrawSystem.WorldData worldData) { RenderTarget renderTarget = null; if (m_bStereoRendering) { renderTarget = m_stereoContext.StartPass(worldData); } else { renderTarget = m_monoralContext.StartPass(worldData); } foreach (var data in m_subThreadCtxList) { data.DrawContext.SetWorldParams(renderTarget, worldData); } }
public void UpdateWorldParams(DeviceContext context, DrawSystem.WorldData worldData) { // nothing }