I'm just starting out with D3D11, trying to port an existing OpenGL game to D3D11. Using the graphics debugger built into vs2013, I can see that I'm passing correct geometry into the input assembler, and it appears that I'm getting valid output from the vertex shader. After that, it skips right to the output merger. The pixel shader isn't being run, despite being set.
I'm not getting any errors or warning from the debug runtime. I've disabled backface culling. I have a valid viewport set. I'm feeling pretty stumped at this point. Anybody have any idea of what else I should look at?
This is my vertex shader:
cbuffer uniform_TransformState
{float4x4 param_Transform : packoffset ( c0 ) ;float4 param_Texture0Transform : packoffset ( c4 ) ;float4 param_CameraPosition : packoffset ( c5 ) ;}uniform SamplerState uniform_ColorTexture_State ;uniform Texture2D uniform_ColorTexture ;struct SagaAttributes{float4 attr_Position : POSITION ;float2 attr_TexCoord0 : TEXCOORD0 ;float4 attr_Color : COLOR0 ;};struct SagaVarrying{float2 var_TexCoord0 : TEXCOORD0 ;float4 var_Color : COLOR0 ;};float2 TextureTransform ( float2 attr , float4 transform ){return attr . x * transform . xy + attr . y * transform . zw ;}void main_vert2 ( in SagaAttributes __attribute , out SagaVarrying __varrying , out float4 __position : SV_Position ){__varrying . var_TexCoord0 = TextureTransform ( __attribute . attr_TexCoord0 , param_Texture0Transform ) ;__varrying . var_Color = __attribute . attr_Color ;__position = mul ( param_Transform , __attribute . attr_Position ) ;}
This is my vertex shader output: