2012-08-16 38 views
0

我有一个很好的场景设置,并且一切都很好,现在我想要遍历整个世界,类似于如何使用scrollToPoint()调整UIScrollView或CAScrollLayer的原点。我已经确定,我可以通过GLKBaseEffect不断调整projectionMatrix来改变我所看到的内容,但我不确定这是否是执行操作的适当方式。实现在2D GLKit/iOS游戏中滚动的最佳做法是什么?

在其他的代码,我看到glViewport和这样的电话,那听起来喜欢的事,可能是使用正确的事情,但我不知道这是什么调用实际上呢,所以也许它只是一个红鲱鱼。

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

回答

-1

你必须为此使用你的变换矩阵。换句话说,投影和视图矩阵是场景中的假照相机,所以,如果您想要滚动场景,则必须将转换转换应用于“世界”(移动场景中的对象)或“查看”(移动相机)矩阵。

我建议你这个免费的在线书约OpengLS ES:http://ofps.oreilly.com/titles/9780596804824/chmath.html

+0

好了,这听起来像周围的projectionMatrix移动确实是围绕移动摄像机的适当的方式,是正确的? – 2012-08-16 19:03:11

+1

不完全是,你必须使用视图矩阵。 OpenGLE ES中有三个矩阵 - 模型(或世界)矩阵用于转换世界中的单个节点或对象。视图矩阵用于相对于摄像机视图变换世界,使得由摄像机确定的应该可视的对象被转换为视锥体。投影矩阵负责将可见平截头体“展平”并将其安装到屏幕的设备坐标上。 – Tutankhamen 2012-08-17 03:44:14

+0

不是每个人都有时间阅读在线书籍,举个例子。 – michaelsnowden 2014-03-03 03:43:49

相关问题