Sunday, March 18, 2007

triangle_strip,triangle_fan,triangle_list

看了一下psp sdk里对sceGuDrawArray中prim这个参数的值的描述,始终对“3 vertices for the first primitive, 1 for every following”这句话的后半句理解不能!:worried:

void sceGuDrawArray ( int prim,
int vtype,
int count,
const void * indices,
const void * vertices
)

Draw array of vertices forming primitives.

Available primitive-types are:

* GU_POINTS - Single pixel points (1 vertex per primitive)
* GU_LINES - Single pixel lines (2 vertices per primitive)
* GU_LINE_STRIP - Single pixel line-strip (2 vertices for the first primitive, 1 for every following)
* GU_TRIANGLES - Filled triangles (3 vertices per primitive)
* GU_TRIANGLE_STRIP - Filled triangles-strip (3 vertices for the first primitive, 1 for every following)
* GU_TRIANGLE_FAN - Filled triangle-fan (3 vertices for the first primitive, 1 for every following)
* GU_SPRITES - Filled blocks (2 vertices per primitive)


在看了
http://hankfiles.pcvsconsole.com/answer.php?file=87
后才恍然大悟原来是这个意思,似乎的确是sdk文档上没说清楚。

triangle_strip:就是前3个点组成一个简单图形(这里不就是3角形嘛),第4个点和其之前2个点组成又一个简单图形,以此类推。
triangle_fan:就是前3个点组成一个简单图形,第4个点和其之前一个点以及第一个点组成又一个简单图形,以此类推。
triangle_list:哈哈,见图。。。。。

No comments: