如何缩放随机3d模型以适应opengl视口?我能够将模型置于视口中间。如何缩放它以使其适合视口。该模型可以是飞机,锥形,3d对象或任何其他随机模型。
感谢任何帮助。
答案 0 :(得分:5)
您需要以下信息:
r
:对象的bounding sphere z
:从物体到相机的距离fovy
:相机的垂直视野(让我们说以度为单位),因为您可能已将其传递给gluPerspective
制作一个小情况,在那里找到正确的三角形,并推导出一个完全适合的球体的最大半径。鉴于上述参数,您应该找到r_max = z * sin(fovy*M_PI/180 / 2)
。
由此,比例因子为r_max / r
。
所有这些都假设视口比它高;如果不是,则应首先派生fovx
,然后使用fovy
而不是{{1}}。