gpt4 book ai didi

iphone - iPhone 上的 OpenGL ES 颜色选择

转载 作者:可可西里 更新时间:2023-11-01 05:48:24 24 4
gpt4 key购买 nike

我正在研究 iPhone 上的 3D,我已经设法在设备上获得一个 3D 立方体,但想添加交互性,例如触摸一张脸会触发一个特定事件,而另一张脸会触发一个不同的事件。我宁愿避开光线拾取,因为这会增加我不希望在我的应用程序中出现的额外复杂性。

我已经阅读了很多颜色选择教程,但是网络上似乎没有任何特定于 iPhone 的教程或示例代码。

我的主要问题是将独特的彩色对象绘制到后台缓冲区,并将纹理对象绘制到前台缓冲区,从不向用户显示独特的彩色对象,而是检测从后台缓冲区触摸的像素的颜色。

所以我的问题是任何人都可以指出 Objective-C 教程的方向或发布一些示例代码吗?

如有任何帮助或建议,我们将不胜感激。

最佳答案

好的,18 小时后我终于解决了我的问题。在渲染方法中,我所要做的就是在渲染处于 SELECT 模式时阻止 presentRenderbuffer 调用。我现在可以踢自己了!

if (mode == SELECT) {
glDisable(GL_DITHER);
glDisable(GL_LIGHTING);
glDisable(GL_LIGHT0);
}

// Draws the cube object, face by face and adds unique color to each face
[Face1 draw];
[Face2 draw];
[Face3 draw];
[Face4 draw];
[Face5 draw];
[Face6 draw];

if (mode == SELECT) {
glEnable(GL_DITHER);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
}

// Wrapping presentRenderbuffer with this if statement fixed
// the problem where the unique colors would appear onscreen
if (mode == RENDER) {
[context presentRenderbuffer:GL_RENDERBUFFER_OES];
}

我希望这对以后的其他人有帮助:o)

关于iphone - iPhone 上的 OpenGL ES 颜色选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3652692/

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