我是DirectX 10编程的新手,我一直在尝试用我有限的技能做以下事情(尽管我有很强的OpenGL背景)
我试图显示2个不同的纹理四边形,每个显示器1个.为此,我明白我需要一个D3D10设备,多个(2)交换链和单个VertexBuffer
虽然我认为我能够创造所有这些,但我仍然不确定如何处理所有这些.我需要多个ID3D10RenderTargetView吗?我应该如何以及在哪里使用OMSetRenderTargets(...)?
除了MSDN之外,这些概念的文档或说明相当有限,因此非常欢迎任何帮助.这是我的一些代码:
这是渲染代码
for(int i = 0; i < screenNumber; i++){
//clear scene
pD3DDevice->ClearRenderTargetView( pRenderTargetView, D3DXCOLOR(0,1,0,0) );
//fill vertex buffer with vertices
UINT numVertices = 4;
vertex* v = NULL;
//lock vertex buffer for CPU use
pVertexBuffer->Map(D3D10_MAP_WRITE_DISCARD, 0, (void**) &v );
v[0] = vertex( D3DXVECTOR3(-1,-1,0), D3DXVECTOR4(1,0,0,1), D3DXVECTOR2(0.0f, 1.0f) );
v[1] = vertex( D3DXVECTOR3(-1,1,0), D3DXVECTOR4(0,1,0,1), D3DXVECTOR2(0.0f, 0.0f) );
v[2] = vertex( D3DXVECTOR3(1,-1,0), D3DXVECTOR4(0,0,1,1), D3DXVECTOR2(1.0f, 1.0f) );
v[3] = vertex( D3DXVECTOR3(1,1,0), D3DXVECTOR4(1,1,0,1), D3DXVECTOR2(1.0f, 0.0f) );
pVertexBuffer->Unmap();
// Set primitive …Run Code Online (Sandbox Code Playgroud)