Hi all.
I just wanted to do a simple 2D game using directx11 (as I have been using direct 9 mostly).
I set up a 2D sprite class which was to render 2 triangles making a square and giving it a texture to represent the sprite.
Now all this compiles but I cannot get the sprite visible on screen.
The directx breakdown on PIX is attached. It's showing that all my vertices are correct and the vertex shader is doing what it's supposed to.
[attachment=15626:PIX.png]
So can only assume it is something to do with the rasterizer or output merger as I have tried just outputting a colour from my pixel shader instead of a texture sample.
My rasterizer state is
D3D11_RASTERIZER_DESC rastDesc;
ZeroMemory( &rastDesc, sizeof( rastDesc ) );
rastDesc.FillMode = D3D11_FILL_SOLID ;
rastDesc.CullMode = D3D11_CULL_NONE ;
rastDesc.FrontCounterClockwise = false;
rastDesc.DepthBias = 0.0f;
rastDesc. DepthBiasClamp = 0.0f;
rastDesc. SlopeScaledDepthBias = 0.0f;
rastDesc.DepthClipEnable = true;
rastDesc.ScissorEnable = false;
rastDesc.MultisampleEnable = false;
rastDesc.AntialiasedLineEnable = false;
Program::GetInstance()->GetD3DDevice()->CreateRasterizerState(&rastDesc, & m_rasterizerState);
Program::GetInstance()->GetD3DDeviceContext()->RSSetState(m_rasterizerState);
My blender state is
D3D11_BLEND_DESC blendDesc;
ZeroMemory( &blendDesc, sizeof( blendDesc ) );
blendDesc.RenderTarget[0].BlendEnable = TRUE;
blendDesc.RenderTarget[0].BlendOp = D3D11_BLEND_OP_ADD;
blendDesc.RenderTarget[0].SrcBlend = D3D11_BLEND_SRC_ALPHA;
blendDesc.RenderTarget[0].DestBlend = D3D11_BLEND_ONE;
blendDesc.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD;
blendDesc.RenderTarget[0].SrcBlendAlpha = D3D11_BLEND_SRC1_ALPHA;
blendDesc.RenderTarget[0].DestBlendAlpha = D3D11_BLEND_INV_SRC1_ALPHA;
blendDesc.RenderTarget[0].RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL;
float blendFactor[4] = { 0.0f, 0.0f, 0.0f, 0.0f };
Program::GetInstance()->GetD3DDevice()->CreateBlendState( &blendDesc, &alphaBlendState_ );
Program::GetInstance()->GetD3DDeviceContext()->OMSetBlendState( alphaBlendState_, &blendFactor, 0xFFFFFFFF );
Im using this projection matrix also as it's 2D.
Matrix projection = XMMatrixOrthographicOffCenterLH( 0.0f, 1000.0f, 0.0f, 1000.0f, 0.0f, 2.0f );
I am all out of ideas as to what the issue could be.
Thanks