我正在制作物理引擎并使用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);
答案 0 :(得分:0)
您可以根据需要为每帧提供尽可能多的效果变化。唯一的限制是数据在单次绘制调用中保持不变。
BindTriangleData();
deviceContext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST);
DrawPrimitives();
BindPointData();
deviceContext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_POINTS);
DrawPrimitives();