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

  • 相关阅读:
    php留言
    linux系统的初化始配置
    Alertmanager 配置解析
    Prometheus 配置解析
    Prometheus Consul 自动发现
    测试find 命令删除文件速度
    win10 安装wsl2 centos
    kubernetes api 的两种身份认证 以及kubectl生成kubeconfig
    Elasticsearch集群平滑下线data节点
    Fiddler Everywhere 安卓手机抓包配置
  • 原文地址:https://www.cnblogs.com/lzhitian/p/2811157.html
Copyright © 2011-2022 走看看