将OpenGL glBegin()移植到OpenGL ES

时间:2014-03-09 21:09:57

标签: android opengl opengl-es

如何将普通OpenGL的以下序列转换为OpenGL ES?

    displayList = glGenLists(1);
    glNewList(displayList, GL_COMPILE);

    glBegin(GL_TRIANGLES);
        glNormal3f(n1.x, n1.y, n1.z);
        glVertex3f(v1.x, v1.y, v1.z);
        glNormal3f(n2.x, n2.y, n2.z);
        glVertex3f(v2.x, v2.y, v2.z);
        glNormal3f(n3.x, n3.y, n3.z);
        glVertex3f(v3.x, v3.y, v3.z);
    }
    glEnd();

    glEndList();
    glCallList(displayList);

1 个答案:

答案 0 :(得分:2)

您无法直接将其转换为OpenGL ES。那里没有显示列表,您需要使用顶点数组。这是一种不同的,实际上是提交几何数据的首选方式。我建议你查阅Vertex Arrays的教程,以及openGL-ES 2顶点缓冲对象(VBO)。