zoukankan      html  css  js  c++  java
  • gluLookat与gluPerspective参数解析

    void gluLookAt(GLdouble eyex,GLdouble eyey,GLdouble eyez,GLdouble centerx,GLdouble centery,GLdouble centerz,GLdouble upx,GLdouble upy,GLdouble upz);

    这组参数中,

    eye表示的是眼睛或者camera的位置;

    center是从眼睛往观察方向上的任意一个点,这个点不需要在我们需要的观察平面上;

    up是头顶的向量方向。

    以下参考http://www.cnblogs.com/chengmin/archive/2011/09/12/2174004.html

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

    gluPerspective的第一个参数是,fovy,它是一个角度.其实通过fovy和zNear能够计算出裁剪窗口的高度.从而我们也就决定了裁剪窗口的大小了. fovy就是视锥体的上下平面的角度. 裁剪窗口的高度 h = 2 * tan(fovy/2) * zNear。 

    gluPerspective的第二个参数就是 aspect了,横纵比(w/h),最好和屏幕的一致(估计说的不准确,也就是视口的横纵比,从而只是等比例缩放而已).因此,这样就把裁剪区域的宽度和高度的比例确定了。 

    gluPerspective的第三个和四个参数zNear,zFar是到观察原点的距离(沿着z的负轴方向),因此这两个数应该总数设定成正数.

  • 相关阅读:
    KMP算法
    Python 正则表达式
    Python 装饰器
    C/C++ 之输入输出
    PAT(Basic Level)--个位数统计
    Java 接口与抽象类
    Java集合-01概述
    数据结构--红黑树
    数据结构--(AVL)平衡二叉树
    数据结构--二叉搜索树
  • 原文地址:https://www.cnblogs.com/qingsunny/p/2999812.html
Copyright © 2011-2022 走看看