Dx11 - spreading rasterizer

Hey

I’m sure in dx9 it was possible to spread the rasterizer, eg to draw a wireframe and solid version of a model at once.

This doesn’t seem possible with dx11 shaders. Is is possible within the shader itself, maybe having a two passes with a different setting for each?

I actually want to this to be able to draw transparent geometry by rendering the back faces first, then the front faces

Cheers

Ok, I’ve found out how to set blend and renderstates in the shader.

Am using the following -

BlendState AlphaBlendingOn
{
    BlendEnable[0](0) = TRUE;
    DestBlend = INV_SRC_ALPHA;
    SrcBlend = SRC_ALPHA;
};

RasterizerState CullFront {
    FrontCounterClockwise = TRUE; 
};

RasterizerState CullBack {
    FrontCounterClockwise = FALSE; 
};


technique10 Constant
{
	pass P0
	{
	
		SetBlendState(AlphaBlendingOn, float4(0.0f, 0.0f, 0.0f, 0.0f), 0xFFFFFFFF);
		SetRasterizerState( CullFront );
		SetVertexShader( CompileShader( vs_4_0, VS() ) );
		SetPixelShader( CompileShader( ps_4_0, PS() ) );
	}
	pass P1
	{
		
		SetBlendState(AlphaBlendingOn, float4(0.0f, 0.0f, 0.0f, 0.0f), 0xFFFFFFFF);
		SetRasterizerState( CullBack );
		SetVertexShader( CompileShader( vs_4_0, VS() ) );
		SetPixelShader( CompileShader( ps_4_0, PS() ) );
	}
}

Problem is, only the first pass is visible… Any ideas?

U need to spread technique i guess

no joy there either

iirc several passes are not allowed anymore in vuxes dx11 implementation (or in general?!)

don’t think it’s implementation problem, prolly u have to setup it somehow

No. I asked vux some time ago when I wanted to convert the planetshader from dx9 to dx11. Only 1 pass possible ;)