【问题标题】:Creating a 3D, pannable space in iOS在 iOS 中创建 3D 可平移空间
【发布时间】:2011-07-06 16:40:56
【问题描述】:
我是整个 OpenGL ES 场景的新手,如果这是我想要完成的方向的话。我想在 iOS 中创建一个可平移、可扩展的 3D 空间,并且正在寻找一个体面的示例、教程或文档,以帮助我在设计此功能时指明正确的方向。
我的问题:您知道如何在 iOS 中完成此任务的任何好的资源吗?我知道 OpenGL ES 编程指南以及本机绘图功能,但我正在尝试学习如何将所有这些放在一起。任何指针将不胜感激。
提前致谢!
【问题讨论】:
标签:
iphone
objective-c
ios
ipad
opengl-es
【解决方案1】:
我会从 NeHe OpenGL Tutorials 开始学习 OpenGL 基础知识。一旦您阅读了教程并对 OpenGL 的工作原理有了基本的了解(NeHe 在其网站上的大部分内容仍然适用于 OpenGL ES),那么您想要做的事情就非常简单了。您所要做的就是创建一个新的 OpenGL 项目,然后处理触摸。您需要跟踪场景平移偏移值。这将通过用户拖动他们的手指/手指来修改。接下来,您需要跟踪规模。这可以在拖动的同时完成。在 OpenGL 渲染循环中,在绘制任何几何体之前,调用:
glPushMatrix();
glTranslatef(pan.x, pan.y, 0);
glScalef(scale, scale, scale);
//draw geometry here
glPopMatrix();
这将为您提供一个可以平移和缩放的基本 OpenGL 场景。如果你想旋转,它会变得有点复杂,因为你需要创建一个轨迹球实现或使用别人的方法进行场景旋转,例如分子源代码。