Direct-X学习笔记--图元绘制

DX中有6种图元:

顶点集合,线段集合,线段条带,三角形集合,三角形条带,三角扇形。


在渲染时一般采用三角形来构成多边形,三角形三个顶点一定共面,共面的时候,渲染较快。

Direct-X学习笔记--图元绘制_第1张图片

(该图片来自百度)

我们在绘制的时候,使用该函数绘制图元,第一个参数为图元的类型,即上图中的几种类型:

点列集合    D3DPT_POINTLIST   一组点的集合
线列集合    D3DPT_LINELIST      一组线段的集合
线带集合    D3DPT_LINESTRIP    首尾相连的线段的集合
三角形列    D3DPT_TRIANGLELIST      一组三角形的集合
三角形带    D3DPT_TRIANGLESTRIP  首尾相连的三角形,有两个顶点重合
三角形扇    D3DPT_TRIANGLEFAN      组成扇形的一组三角形

//绘制图元 
	g_pDevice->DrawPrimitive(
		D3DPT_LINELIST,		    //图元类型
		0,			   //起始点编号
		1			   //图元数量
		);

这里,我用了两个顶点,绘制了一个从0号顶点开始到1号顶点的一个图元,是一条直线:


其他的图元绘制也类似,不过要注意的是绘制的顺序,按照给出的顶点顺序来绘制的。根据各种图元,绘制相应类型的图。

三个点绘制两个图元,首尾相连,线带。

Direct-X学习笔记--图元绘制_第2张图片


调整了一下,本想画个圆,不过貌似坐标没搞对,于是出了个这样个奇葩东东。。。

竟然还意外的好看....

Direct-X学习笔记--图元绘制_第3张图片

使用三角形绘图的时候,一定要注意顶点要足够。即使使用三角扇形时,有公用的顶点,如果顶点不够,是画不出来的。


你可能感兴趣的:(图片,3D,图形,C++11,DirectX)