Ejemplo n.º 1
0
        static void InitializeRasterizerStates()
        {
            m_wireframeRasterizerState = MyPipelineStates.CreateRasterizerState(new RasterizerStateDescription
            {
                FillMode = FillMode.Wireframe,
                CullMode = CullMode.Back
            });

            RasterizerStateDescription desc = new RasterizerStateDescription();

            desc.FillMode = FillMode.Wireframe;
            desc.CullMode = CullMode.Back;
            m_wireframeRasterizerState = MyPipelineStates.CreateRasterizerState(desc);

            desc.FillMode           = FillMode.Solid;
            desc.CullMode           = CullMode.Front;
            m_invTriRasterizerState = MyPipelineStates.CreateRasterizerState(desc);

            desc.FillMode           = FillMode.Solid;
            desc.CullMode           = CullMode.None;
            m_nocullRasterizerState = MyPipelineStates.CreateRasterizerState(desc);

            desc.FillMode = FillMode.Wireframe;
            desc.CullMode = CullMode.None;
            m_nocullWireframeRasterizerState = MyPipelineStates.CreateRasterizerState(desc);

            desc                   = new RasterizerStateDescription();
            desc.FillMode          = FillMode.Solid;
            desc.CullMode          = CullMode.Back;
            m_linesRasterizerState = MyPipelineStates.CreateRasterizerState(desc);

            desc          = new RasterizerStateDescription();
            desc.FillMode = FillMode.Solid;
            desc.CullMode = CullMode.None;
            desc.IsFrontCounterClockwise = true;
            desc.DepthBias            = 20;
            desc.DepthBiasClamp       = 2;
            desc.SlopeScaledDepthBias = 4;
            m_cascadesRasterizerState = MyPipelineStates.CreateRasterizerState(desc);

            desc          = new RasterizerStateDescription();
            desc.FillMode = FillMode.Solid;
            desc.CullMode = CullMode.None;
            desc.IsFrontCounterClockwise = true;
            desc.DepthBias            = 25000;
            desc.DepthBiasClamp       = 2;
            desc.SlopeScaledDepthBias = 1;
            m_shadowRasterizerState   = MyPipelineStates.CreateRasterizerState(desc);

            desc.FillMode = FillMode.Solid;
            desc.CullMode = CullMode.Back;
            desc.IsFrontCounterClockwise = false;
            desc.IsScissorEnabled        = true;
            m_scissorTestRasterizerState = MyPipelineStates.CreateRasterizerState(desc);
        }