gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:15:31 25 4
gpt4 key购买 nike

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

我该如何实现?

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

最佳答案

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

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

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

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

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

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

我希望这能以某种方式有所帮助。

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com