glDrawArrays(GL_TRIANGLE_STRIP,i,j)怎么使用,假设我这有个数组array=[1,2,3 ,2,3,4 ,4,5,6 ,7,8,9 ,10,11,12]
有5个点,其中{1 2 3,2 3 4, 4 5 6}画一个三角形,{2 3 4, 4 5 6,7,8,9}又画一个,一次类推,这边的i,j该怎么设置啊,求高人讲解下,没怎么懂这个函数
有5个点,其中{1 2 3,2 3 4, 4 5 6}画一个三角形,{2 3 4, 4 5 6,7,8,9}又画一个,一次类推,这边的i,j该怎么设置啊,求高人讲解下,没怎么懂这个函数
第一个参数是模式有:
GL_POINTS:画点
GL_LINE_STRIP:两两画线,第一个点和最后一个点不相连
GL_LINE_LOOP:两两画线,第一个点和最后一个点相连
GL_LINES:第一个点与第二个点画先、第三个与第四个画线、类推
GL_TRIANGLES:第1、2、3个点画三角形,第4、5、6个点画三角形,类推
GL_TRIANGLE_STRIP:第1、2、3个点画三角形,第2、3、4个点画三角形,类推第二个参数:起点位置,设为0就好。
第三个参数:要画线或三角形的数量。
glVertexPointer(3,GL_FLOAT,0,a);
// GLfloat colorvertex[]={1.0f,1.0f,1.0f,1.0f};
// glColorPointer(4,GL_FLOAT,0,colorvertex);
for(int i=0;i<2;i++)
{
glDrawArrays(GL_TRIANGLE_STRIP,i,3);
}
这样子是不是等于画了2个三角形,坐标分别是{1 2 3 4 5 6 7 8 9}和{4 5 6 7 8 9 10 11 12}
另外如果这2个三角形颜色都要一样是不是可以这样子设置颜色数组
GLfloat colorvertex[]={1.0f,1.0f,1.0f,1.0f};
glColorPointer(4,GL_FLOAT,0,colorvertex);
为什么我画的三角形颜色一直在跳动啊