|
|
如果我想绘制index buffer 数组中第 100、101、102这三个元素所指的三个顶点组成的三角形,以及103、104、105的三角形,我应该怎么写DrawIndexedPrimitive的参数?
正确的应该是画出一个两面都看得见的三角形,结果却是第100、101、102画出来了,第103、104、105画不出来,只看见一个面。我是这样写的:
索引缓存和顶点缓存的部分:
vb[100].Position=new Vector3(1.0f,1.0f,1.0f);
vb[100].Color=Color.Red.ToArgb();
vb[101].Position=new Vector3(-1.0f,1.0f,1.0f);
vb[101].Color=Color.Red.ToArgb();
vb[102].Position=new Vector3(0.0f,-1.0f,1.0f);
vb[102].Color=Color.Red.ToArgb();
ib[100]=100;
ib[101]=101;
ib[102]=102;
ib[103]=102;
ib[104]=101;
ib[105]=100;
绘图部分:
device.DrawIndexedPrimitives(PrimitiveType.TriangleList,100,0,3,0,1);
device.DrawIndexedPrimitives(PrimitiveType.TriangleList,103,0,3,0,1); |
|