OStack程序员社区-中国程序员成长平台

标题: ios - OpenGL ES(在 iOS 上): [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 16:12
标题: ios - OpenGL ES(在 iOS 上):

我有一系列这种形式的标准 OpenGL 指令:

glBegin(GL_TRIANGLES);
// ...
glNormal3fv(a); glVertex3f(a[0]*r, a[1]*r, a[2]*r);
// ...
glEnd();

我希望在 iOS 上运行它们,因此必须将它们转换为 OpenGL ES。由于 OpenGL ES 不支持 glBegin() 或 glEnd(),因此我将 glVertex3f 调用封装到 GLfloat 顶点数组中,然后是 glDrawArrays() 调用。

GLfloat vertices[] = {1,0,0, 0,1,0, ...};
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, vertices);
glDrawArrays(GL_TRIANGLES, 0, 3);
glDisableClientState(GL_VERTEX_ARRAY);

但是我不确定如何在这个 ES 版本中包含法线向量的规范(原始 glNormal3fv() 调用)。

有人愿意举例说明解决方案吗?



Best Answer-推荐答案


看看 glNormalPointer()。它的工作方式与 glVertexPointer() 大致相同,但选项较少,因为法线总是有 3 个浮点组件。

关于ios - OpenGL ES(在 iOS 上):,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5797916/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4