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

  • 相关阅读:
    jvm 优化
    SqlServer体系结构
    sqlserver2012 在视图中建索引
    win10 桌面设置为远程桌面
    ORACLE 查询某表中的某个字段的类型,是否为空,是否有默认值等
    activemq读取剩余消息队列中消息的数量
    Oracl 一条sql语句 批量添加、修改数据
    ClickOnce一项Winform部署
    C#语言中的修饰符
    关于MySQL集群的一些看法
  • 原文地址:https://www.cnblogs.com/lzhitian/p/2811157.html
Copyright © 2011-2022 走看看