Esempio n. 1
0
        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);
        }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
 public void UpdateWorldParams(DeviceContext context, DrawSystem.WorldData worldData)
 {
     // nothing
 }