缩放随机3d模型以适应视口

Joh*_*lis 2 opengl

如何缩放随机3d模型以适应opengl视口?我能够将模型置于视口中间.如何缩放它以使其适合视口.该模型可以是飞机,锥体,3d对象或任何其他随机模型.

感谢任何帮助.

Tho*_*mas 5

您需要以下信息:

  • r:对象边界球体的半径
  • z:物体到相机的距离
  • fovy:摄像机的垂直视野(比如以度为单位),因为您可能已将其传递给它 gluPerspective

对情况做一点描述,在那里找到正确的三角形,并推导出精确拟合的球体的最大半径.鉴于上述参数,您应该找到r_max = z * sin(fovy*M_PI/180 / 2).

由此,比例因子是r_max / r.

所有这些都假设视口比它高; 如果不是,你应该fovx首先推导出来,而不是使用它fovy.