美文网首页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