【发布时间】:2010-03-19 11:08:48
【问题描述】:
我正在构建一个游戏关卡编辑应用程序,作为大学项目的一部分。在我的应用程序中,我有多个视口、一个透视视口和三个正交视图,所有这些都设置为查看同一场景。
我已成功设置正交视图,并且可以平移和缩放它们以模拟滚动和缩放。不幸的是,我遇到了一个问题 - 我的场景仍然包含 3 个维度,因此在某些深度的正交模式下查看的对象在超出我的剪裁体积时会被剪裁。
大多数 3D 创作工具或关卡编辑器都允许您以正交模式查看所有对象,无论深度如何。
我想我需要做的是在适当的维度上缩放我的场景,以便所有值都介于 1 和 -1 之间,有没有一种简单的方法来解决这个问题?还是有其他更好的方法。
非常感谢您的帮助, 丹
【问题讨论】:
-
抱歉回复我自己的帖子。我目前采用的解决方案是在所需轴上按一个小值(当前为 0.0001)缩放我的整个场景,并将我的剪裁平面设置为近:-10 远:10。这意味着我的立体视图捕获了 100000 范围内的项目,我无法预料会创建这样大小的场景!这不是一个优雅的解决方案,所以如果有人知道这个问题在商业应用程序中是如何解决的,我很想听听。
标签: opengl orthographic