DrawPrimitive 六种图元(Primitive):
- POINTLIST 点列表
直接渲染各个顶点
- LINELIST 线段列表
按顶点列表,每两个点渲染一条线段,线段数 = 顶点数/2
- LINESTRIP 连续的线段(线段带)
按顶点列表,每两个点间都渲染一条线段,线段数 = 顶点数-1
- TRIANGLELIST 三角形列表
按顶点列表,每三个点渲染一个三角形,三角形数 = 顶点数/3
- TRIANGLEFAN 连续的三角形(三角形扇)
按顶点列表,每三个点间渲染一个三角形,三角形数 = 顶点数-2
由第一个顶点和相邻的两个点组成,
比如使用顶点{0, 1, 2, 3, 4},那么三个三角形分别是{0, 1, 2},{0, 2, 3}和{0, 3, 4}
- TRIANGLESTRIP 连续的三角形(三角形带)
按顶点列表,每三个点间渲染一个三角形,三角形数 = 顶点数-2
连续的两个三角形是首尾相连的,
比如使用顶点集合{0, 1, 2, 3},那么两个三角形分别是{0, 1, 2}和{1, 2, 3}
如果绘制的顶点并非连续,还可以用索引(Index)来记录顶点,如使用顶点1, 3, 4,可以使用索引WORD indics[] = {1, 3, 4},
然后在Render时对device设置indics,此时调用的不再是DrawPrimitive函数,而是DrawIndexedPrimitive函数,带入参数不一样,可以查看:
http://blog.xoyo.com/xiayong/article/116039.shtml 或 http://hi.baidu.com/sxligang/blog/item/4b98e3caabbcc282c8176864.html