DX中有6种图元:
顶点集合,线段集合,线段条带,三角形集合,三角形条带,三角扇形。
在渲染时一般采用三角形来构成多边形,三角形三个顶点一定共面,共面的时候,渲染较快。
(该图片来自百度)
我们在绘制的时候,使用该函数绘制图元,第一个参数为图元的类型,即上图中的几种类型:
点列集合 D3DPT_POINTLIST 一组点的集合
线列集合 D3DPT_LINELIST 一组线段的集合
线带集合 D3DPT_LINESTRIP 首尾相连的线段的集合
三角形列 D3DPT_TRIANGLELIST 一组三角形的集合
三角形带 D3DPT_TRIANGLESTRIP 首尾相连的三角形,有两个顶点重合
三角形扇 D3DPT_TRIANGLEFAN 组成扇形的一组三角形
//绘制图元 g_pDevice->DrawPrimitive( D3DPT_LINELIST, //图元类型 0, //起始点编号 1 //图元数量 );
这里,我用了两个顶点,绘制了一个从0号顶点开始到1号顶点的一个图元,是一条直线:
其他的图元绘制也类似,不过要注意的是绘制的顺序,按照给出的顶点顺序来绘制的。根据各种图元,绘制相应类型的图。
三个点绘制两个图元,首尾相连,线带。
调整了一下,本想画个圆,不过貌似坐标没搞对,于是出了个这样个奇葩东东。。。
竟然还意外的好看....
使用三角形绘图的时候,一定要注意顶点要足够。即使使用三角扇形时,有公用的顶点,如果顶点不够,是画不出来的。
时间: 2024-11-10 05:11:40