• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - OpenGL ES(在 iOS 上):

[复制链接]
菜鸟教程小白 发表于 2022-12-12 16:12:04 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一系列这种形式的标准 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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap