2011-12-02 84 views
0

我在OpenGL中绘制了一个三角形,并且可以向上,向下,向左移动它。我使用SFML作为我的窗口框架,我想知道我怎样才能保持我的三角形在窗口中,而不是移动到它的外面,即如果它一直走到顶端,我希望它停止通过高度让对象留在屏幕上OpenGL SFML

回答

0

这在很大程度上取决于你的投影矩阵。你需要获得它的高/低界限(如果你使用透视图,它们将取决于Z距离;当Z被压扁时,正交矩阵更容易),然后检查它们 - 如果你的对象关闭 - 禁止移动。

+0

是的,我使用gluPerspective,我如何获得高/低界? – rjs

+0

下面是gluPerspective代码:http://www.opengl.org/wiki/GluPerspective_code Z值在近剪裁平面和远剪裁平面之间均匀分布。我不知道SFML是否有任何捷径来实现你的目标,所以我会去定制数学解决方案。 – Kromster