【问题标题】:Trouble porting OpenGL code to iPhone's OpenGL ES无法将 OpenGL 代码移植到 iPhone 的 OpenGL ES
【发布时间】:2009-07-21 04:00:02
【问题描述】:

这里是我正在使用的示例代码。此代码在 OpenGL 中。我想将它移植到 OpenGL ES。 OpenGL ES 不支持glArrayElement()。相反,建议使用glDrawElements()glDrawArrays()。我无法转换它。你能帮我转换一下代码吗?

glTexCoordPointer(2,GL_FLOAT,sizeof(struct texcoord),tex);
glColorPointer(4,GL_UNSIGNED_BYTE,4,col);
glNormalPointer(GL_FLOAT,sizeof(vector),wet->n);
glVertexPointer(2,GL_FLOAT,sizeof(struct vertexcoord),vert);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);
glEnableClientState(GL_VERTEX_ARRAY);
glLockArraysEXT(0,wet->w*wet->h);
i=0;
for(int y=0;y<wet->h-1;y++)
{
    glBegin(GL_TRIANGLE_STRIP);
    for(int x=0;x<wet->w;x++)
    {
        glArrayElement(i);
        glArrayElement(i+wet->w);
        i++;
    }
    glEnd();
}
glUnlockArraysEXT();

还有一个问题是我们是否可以在 OpenGL ES 中替换 glEnable(GL_TEXTURE_RECTANGLE_EXT)

【问题讨论】:

    标签: iphone opengl opengl-es


    【解决方案1】:

    glLockArrays 中的所有内容都可以摆脱。只需将所有内容替换为 glDrawArrays 即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多