在2D GLKit / iOS游戏中实现滚动时,最佳做法是什么?

时间:2012-08-16 00:56:43

标签: objective-c ios opengl-es opengl-es-2.0 glkit

我有一个很好的场景设置,一切都很好,现在我想要平移世界,类似于我用scrollToPoint()调整UIScrollView或CAScrollLayer的原点。我已经确定我可以在GLKBaseEffect上不断调整projectionMatrix以改变我看到的内容,但我不确定这是否是适当的做事方式。

在其他代码中,我看到了对glViewport等的调用,并且声音就像是可能正确使用的东西,但我不知道这个调用实际上做了什么,所以也许它只是红鲱鱼。

做这样的事情的典型方法是什么?

1 个答案:

答案 0 :(得分:-1)

为此必须使用转换矩阵。换句话说,投影和视图矩阵在场景中是一种伪相机,因此,如果您想要滚动场景,则必须将平移转换应用于World(移动场景中的对象)或View(移动相机)矩阵。

我推荐这本关于OpengLS ES的免费在线书籍:http://ofps.oreilly.com/titles/9780596804824/chmath.html