void gluPerspective( GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar )

 

near 和 far 决定了投影参考点与裁剪窗口的距离,fovy决定了裁剪窗口的高度,还有个参数 aspect 确定了裁剪窗口的长宽比例。

所以fovy越大,裁剪窗口越大,相对的裁剪窗口中的物体就越小。

 

 

这个函数原型为:   void glFrustum(GLdouble left,GLdouble Right,GLdouble bottom,GLdouble top,       GLdouble near,GLdouble far);   它创建一个透视视景体。其操作是创建一个透视投影矩阵,并且用这个矩阵乘以当前矩阵。这个函数的参数只定义*裁剪*面的左下角点和右上角点的三维空间坐标,即(left,bottom,-near)和(right,top,-near);最后一个参数far是远裁剪*面的Z负值,其左下角点和右上角点空间坐标由函数根据透视投影原理自动生成。near和far表示离视点的远*,它们总为正值。

另一个函数是:   void gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear, GLdouble zFar);   它也创建一个对称透视视景体,但它的参数定义于前面的不同,如图8-11所示。其操作是创建一个对称的透视投影矩阵,并且用这个矩阵乘以当前矩阵。参数fovy定义视野在X-Z*面的角度,范围是[0.0, 180.0];参数aspect是投影*面宽度与高度的比率;参数zNear和Far分别是远*裁剪面沿Z负轴到视点的距离,它们总为正值。   以上两个函数缺省时,视点都在原点,视线沿Z轴指向负方向。

相关文章:

  • 2021-12-26
  • 2021-05-16
  • 2022-12-23
  • 2022-03-06
  • 2022-12-23
  • 2022-12-23
  • 2022-02-06
  • 2022-12-23
猜你喜欢
  • 2021-09-22
  • 2021-12-24
  • 2021-11-23
  • 2022-01-02
  • 2021-12-24
  • 2021-07-20
相关资源
相似解决方案