网格instance,instance
DX中,有一顶点缓存VB,需绘制100个instance,前50个传入一个参数V = 2 到shader中参与计算,后50传V=3到shader中参与计算,请问怎么实现。下列代码实现了绘制100个实例,怎么实现传参呢?m_pD3DDevice->SetStreamSource(0, VB, 0, D3DXGetDeclVertexSize(declTreeInstance,0));
m_pD3DDevice->SetStreamSourceFreq(0, D3DSTREAMSOURCE_INDEXEDDATA | 100);
m_pD3DDevice->SetStreamSource(1, InstanceVB, 0, D3DXGetDeclVertexSize(declTreeInstance,1));
m_pD3DDevice->SetStreamSourceFreq(1, D3DSTREAMSOURCE_INSTANCEDATA | 1UL);
解决方案
在d3d10里可以用SV_InstanceID
用户评论