投影方式
存储着色器分类
常见图元连接方式
最受欢迎的是三角形
分类图示
三角形环绕方式
- OpenGL中默认具有逆时针环绕方向的多边形为正面
- 可以通过代码修改默认的正面
glFrontFace(GL_CW); GL_CW:告诉OpenGL 顺时针环绕的多边形为正⾯面; GL_CCW:告诉OpenGL 逆时针环绕的多边形为正⾯面
GL_CCW:告诉OpenGL 逆时针环绕的多边形为正⾯面
三角形带的优势
- 第一个三角形用了3个顶点之后,对于往后的三角形,每次只需再指定一个顶点,即可构成三角形。当需要绘制大量三角形时,一是可以复用,而是可以节省存储空间。
- 提高运算性能和节省宽带,更少的顶点使数据从内存传输到顶点着色器的速度更快,顶点着色器中顶点处理的次数也更少了。
工具类 GLBatch
参数1:图元 参数2:顶点数 参数3:⼀组或者2组纹理理坐标(可选) void GLBatch::Begain(GLeunm primitive,GLuint nVerts,GLuint nTexttureUnints = 0); //复制顶点数据(⼀个由3分量量x,y,z顶点组成的数组) void GLBatch::CopyVerterxData3f(GLfloat *vVerts); //复制表⾯法线数据 void GLBatch::CopyNormalDataf(GLfloat *vNorms); //复制颜⾊数据 void GLBatch::CopyColorData4f(GLfloat *vColors); //复制纹理坐标数据 void GLBatch::CopyTexCoordData2f(GLFloat *vTextCoords, GLuint uiTextureLayer); //结束数据复制 void GLBatch::End(void); //绘制图形 void GLBatch::Draw(void)