美文网首页OpenGL
OpenGLSL索引实现纹理和颜色混合

OpenGLSL索引实现纹理和颜色混合

作者: MonKey_Money | 来源:发表于2020-08-03 17:52 被阅读0次

    我们绘制的金字塔是有五个面组成的,有6个三角形组成的,有4个顶点组成。我们在初始化顶点数据时,需要18个顶点组合,造成数据混乱,这就有了索引绘图。


    res.gif

    我们设置顶点的坐标

        GLfloat attributeArr[] = {
            -0.5,-0.5,0.5,   1.0f, 0.0f, 1.0f,    0,0,
            0.5,-0.5,0.5,    1.0f, 0.0f, 1.0f,   0,1,
            0.5,-0.5,-0.5, 1.0f, 1.0f, 1.0f,    1.0,1.0,
            -0.5,-0.5,-0.5, 1.0f, 1.0f, 1.0f,   1,0,
            0.0,1.0,0.0,    0.0f, 1.0f, 0.0f,   0.5,0.5,
        };
    

    索引坐标

        GLint indices[]= {
            0,2,1,
            0,3,2,
            0,1,4,
            1,2,4,
            2,3,4,
            3,0,4,
        };
    

    区别是我们一般

        glDrawArrays(<#GLenum mode#>, <#GLint first#>, <#GLsizei count#>)
    

    现在我们使用索引用下面函数

        glDrawElements(GL_TRIANGLES, sizeof(indices) / sizeof(indices[0]), GL_UNSIGNED_INT, indices);
    

    demo

    相关文章

      网友评论

        本文标题:OpenGLSL索引实现纹理和颜色混合

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