I'm writing a cel-shading effect in HLSL and Direct3D 11, and I need to be able to flip the culling mode on the outline pass of the effect. I know you do this in XNA by setting CullMode to CW or CCW inside the pass definition, but is that how you do it in D3D11/SlimDX?
1 Answer
\$\begingroup\$
\$\endgroup\$
You can do that by creating rasterizer state and setting it active in context. See D3D11_RASTERIZER_DESC and SlimDX.Direct3D11.RasterizerStateDescription.IsFrontCounterclockwise.
And if you use Effect11 framework, then you can do that directly in fx file like this:
// define your rasterizer state
RasterizerState MyCull {
FrontCounterClockwise = TRUE; // or FALSE
};
// in some effect pass use MyCull state for Rasterizer State
SetRasterizerState( MyCull );