如何缩放随机 3D 模型以适合 opengl 视口(viewport)?我能够将模型置于视口(viewport)中央。如何缩放它以适合视口(viewport)。该模型可以是飞机、圆锥体、3d 物体或任何其他随机模型。
感谢任何帮助。
最佳答案
您将需要以下信息:
r
:对象 bounding sphere 的半径z
:物体到相机的距离fovy
:相机的垂直视野(以度为单位),您可能已将其传递给gluPerspective
画出这个情况的一个小草图,找到其中的直角三角形,并推导出完全适合的球体的最大半径。给定上述参数,您应该找到 r_max = z * sin(fovy*M_PI/180/2)
。
由此,比例因子为r_max/r
。
所有这些都假设视口(viewport)的宽度大于高度;如果不是,您应该首先派生 fovx
,并使用它来代替 fovy
。
关于opengl - 缩放随机 3D 模型以适合视口(viewport),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2571645/