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

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

作者: 辉辉岁月 | 来源:发表于2021-03-10 16:01 被阅读0次

    投影方式

    存储着色器分类

    常见图元连接方式

    最受欢迎用的最多的是三角形

    分类图示

    三角形环绕方式

    • 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)
    

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/mevwqltx.html