了解OpenGL中的投影方式、存储着色器分类、常见图元连接方式

OpenGL + OpenGL ES +Metal 系列文章汇总

投影方式

投影方式

存储着色器分类

存储着色器分类

常见图元连接方式

最受欢迎的是三角形


常见图元连接方式

分类图示


F73DD16D4AC392E366E6068E0FB69CF8.png

三角形环绕方式

  • OpenGL中默认具有逆时针环绕方向的多边形为正面
  • 可以通过代码修改默认的正面
glFrontFace(GL_CW);
GL_CW:告诉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)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。