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

iphone - 如何识别 OpenGL ES 立方体的哪个面被触摸?

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

使用 OpenGL ES,我创建了一个带有纹理的立方体。我现在希望让每个带纹理的侧面都可以点击,这样我就可以创建一个立方体,在触摸特定侧面时导航到不同的 View 。

我该如何实现?

此外,我如何知道立方体的哪些面当前可见?



Best Answer-推荐答案


有不同的技术可以执行对象的选择,或者像您的情况一样,在 OpenGL 中选择对象的面。

有一种光线相交技术,我觉得这对你的情况来说有点过头了,尽管正如 cthutu 所说,这是一个可行的解决方案。

无论如何,我建议你的解决方案是颜色选择技术。

它包括当用户在屏幕上“点击”时以预先确定的颜色渲染后备缓冲区中的对象或对象的面。渲染完成到纹理中,工作是读取用户单击的像素的颜色。

获得像素颜色后,您可以轻松确定点击了哪个对象或面部。

例如,假设您有一个有 6 个面的立方体,您为每个面指定一种颜色(即红色、蓝色、黄色、橙色、绿色、白色),并将指定的颜色存储在程序逻辑的某个位置。当用户单击时,您使用这些假颜色渲染立方体,读取颜色,然后使用实际颜色/纹理在屏幕上再次渲染。在该过程结束时,您检查像素的颜色,例如黄色,然后确定选择。

我希望这在某种程度上有所帮助。

关于iphone - 如何识别 OpenGL ES 立方体的哪个面被触摸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10755231/

回复

使用道具 举报

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

本版积分规则

关注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