如何在directX 11中使用多个显示基元?

时间:2014-01-12 04:50:32

标签: 3d directx-11

我正在制作物理引擎并使用directX作为我的显示平台。我正在关注directX编程的rastertek教程。

我想知道我是否可以使用多个显示基元,例如POINTLIST和LINELIST或TRIANGLELIST的组合

这是我的代码:

stride = sizeof(VertexType); 

offset = 0;


deviceContext->IASetVertexBuffers(0, 1, &m_vertexBuffer, &stride, &offset);


deviceContext->IASetIndexBuffer(m_indexBuffer, DXGI_FORMAT_R32_UINT, 0);


deviceContext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST);

1 个答案:

答案 0 :(得分:0)

您可以根据需要为每帧提供尽可能多的效果变化。唯一的限制是数据在单次绘制调用中保持不变。

BindTriangleData();
deviceContext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST);
DrawPrimitives();

BindPointData();
deviceContext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_POINTS);
DrawPrimitives();