zoukankan      html  css  js  c++  java
  • 【转】gluPerspective参数问题

    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轴指向负方向。

  • 相关阅读:
    云计算初探
    MySQL、HBase、ES的特点和区别
    MongoDB、ElasticSearch、Redis、HBase这四种热门数据库的优缺点及应用场景
    主流 Kubernetes 发行版梳理
    如何在flink中传递参数
    (47)zabbix报警媒介:Ez Texting
    (46)zabbix报警媒介:Jabber
    (45)zabbix报警媒介:SMS
    (44)zabbix报警媒介:email
    (43)zabbix报警媒介介绍
  • 原文地址:https://www.cnblogs.com/lzhitian/p/2811157.html
Copyright © 2011-2022 走看看