Commit 34278645 authored by chili's avatar chili
Browse files

primitive topology and input layout

parent 85bff2d8
...@@ -134,29 +134,50 @@ void Graphics::DrawTestTriangle() ...@@ -134,29 +134,50 @@ void Graphics::DrawTestTriangle()
pContext->IASetVertexBuffers( 0u,1u,pVertexBuffer.GetAddressOf(),&stride,&offset ); pContext->IASetVertexBuffers( 0u,1u,pVertexBuffer.GetAddressOf(),&stride,&offset );
// create pixel shader
wrl::ComPtr<ID3D11PixelShader> pPixelShader;
wrl::ComPtr<ID3DBlob> pBlob;
GFX_THROW_INFO( D3DReadFileToBlob( L"PixelShader.cso",&pBlob ) );
GFX_THROW_INFO( pDevice->CreatePixelShader( pBlob->GetBufferPointer(),pBlob->GetBufferSize(),nullptr,&pPixelShader ) );
// bind pixel shader
pContext->PSSetShader( pPixelShader.Get(),nullptr,0u );
// create vertex shader // create vertex shader
wrl::ComPtr<ID3D11VertexShader> pVertexShader; wrl::ComPtr<ID3D11VertexShader> pVertexShader;
wrl::ComPtr<ID3DBlob> pBlob;
GFX_THROW_INFO( D3DReadFileToBlob( L"VertexShader.cso",&pBlob ) ); GFX_THROW_INFO( D3DReadFileToBlob( L"VertexShader.cso",&pBlob ) );
GFX_THROW_INFO( pDevice->CreateVertexShader( pBlob->GetBufferPointer(),pBlob->GetBufferSize(),nullptr,&pVertexShader ) ); GFX_THROW_INFO( pDevice->CreateVertexShader( pBlob->GetBufferPointer(),pBlob->GetBufferSize(),nullptr,&pVertexShader ) );
// bind vertex shader // bind vertex shader
pContext->VSSetShader( pVertexShader.Get(),nullptr,0u ); pContext->VSSetShader( pVertexShader.Get(),nullptr,0u );
// create pixel shader // input (vertex) layout (2d position only)
wrl::ComPtr<ID3D11PixelShader> pPixelShader; wrl::ComPtr<ID3D11InputLayout> pInputLayout;
GFX_THROW_INFO( D3DReadFileToBlob( L"PixelShader.cso",&pBlob ) ); const D3D11_INPUT_ELEMENT_DESC ied[] =
GFX_THROW_INFO( pDevice->CreatePixelShader( pBlob->GetBufferPointer(),pBlob->GetBufferSize(),nullptr,&pPixelShader ) ); {
{ "Position",0,DXGI_FORMAT_R32G32_FLOAT,0,0,D3D11_INPUT_PER_VERTEX_DATA,0 },
};
GFX_THROW_INFO( pDevice->CreateInputLayout(
ied,(UINT)std::size( ied ),
pBlob->GetBufferPointer(),
pBlob->GetBufferSize(),
&pInputLayout
) );
// bind pixel shader // bind vertex layout
pContext->PSSetShader( pPixelShader.Get(),nullptr,0u ); pContext->IASetInputLayout( pInputLayout.Get() );
// bind render target // bind render target
pContext->OMSetRenderTargets( 1u,pTarget.GetAddressOf(),nullptr ); pContext->OMSetRenderTargets( 1u,pTarget.GetAddressOf(),nullptr );
// Set primitive topology to triangle list (groups of 3 vertices)
pContext->IASetPrimitiveTopology( D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST );
// configure viewport // configure viewport
D3D11_VIEWPORT vp; D3D11_VIEWPORT vp;
vp.Width = 800; vp.Width = 800;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment