书法字典:https://www.shufadict.com

11 2010 档案

D3DPT_TRIANGLELIST与D3DPT_TRIANGLESTRIP
摘要:这两种方式都可以绘制三角形网格,那么在什么情况下使用它们呢?如果要画多个三角型,那么使用D3DPT_TRIANGLELIST一定要配合IndexBuffer,否则的话将要重复定义很多顶点,如果要画少量的三角型,则可以使用D3DPT_TRIANGLESTRIP来代替D3DPT_TRIANGLELIST,比如要画一个矩形(也叫Quad,通常用在渲染一个纹理图片时),则可以由两个三角型拼接而成,比如有如下顶点定义,则可以通过TRIANGLESTRIP来拼接成一个矩形。那么如何确定顶点的定义顺序以保证TRIANGLESTRIP能正确工作呢?这里有个小窍门1 确保前三个顶点是顺时针方向的,如下面的V0V 阅读全文

posted @ 2010-11-22 14:58 翰墨小生 阅读(5772) 评论(0) 推荐(0) 编辑

Primitive Type in DX
摘要:在调用DrawPrimitive函数时,一定要指定正确的图元个数,否则会出现诡异的结果,看下面的例子假设有下图所示的7个顶点如果图元类型是D3DPT_POINTLIST,那么按道理只能画三条线,结果如下[代码]但是如果一不小心将图元个数设置为4,就会出现下面的结果[代码]可见,如果顶点个数不够的话,DX选择了顶点(0,0)来终结。 阅读全文

posted @ 2010-11-22 10:41 翰墨小生 阅读(811) 评论(0) 推荐(0) 编辑

DirectX backface culling(背面剔除)
摘要:先看一下什么是backface,有backface必然就有frontface,在DX中,frontface是这样定义的,按照顶点定义的先后顺序,呈顺时针排列的顶点构成的三角形是frontface(以view space为参考),与frontface相对的面则是backface,如下图所示。可见决定frontface的因素有两个顶点定义的先后顺序顶点的排列方向-顺时针或者逆时针(由顶点的位置坐标决定)先看第一条,如果顶点的位置不变,但是定义顺序变了,可能导致frontface变成backface,如下图再看第二条,如果顶点的定义顺序不变,但是位置变了,也可能导致frontface变成backfa 阅读全文

posted @ 2010-11-21 16:19 翰墨小生 阅读(11248) 评论(5) 推荐(2) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
书法字典:https://www.shufadict.com
点击右上角即可分享
微信分享提示