gluLookAt 与 gluFrustum

gluLookAt 视图变换
gluFrustum 投影变换

设定人眼的位置为 z正向 3

gluLookAt(0, 0, 3, 0, 0, 0, 0, 1, 0);

修改 gluFrustum 中的 zNear 值
zNear 是 视景体人眼 的距离

zNear = 0 什么也没有

glFrustum(-1, 1, -1, 1, 0, 20);
  • gluLookAt 与 gluFrustum_第1张图片
    zNear = 0

zNear = 0 什么都没有

zNear = 0.1

glFrustum(-1, 1, -1, 1, 0.1, 20);
  • gluLookAt 与 gluFrustum_第2张图片
    zNear = 0.1

zNear = 0.1 显示非常小的视景体

zNear = 1

glFrustum(-1, 1, -1, 1, 1, 20);
  • gluLookAt 与 gluFrustum_第3张图片
    zNear = 1

zNear = 1 大小适中

zNear = 3

glFrustum(-1, 1, -1, 1, 3, 20);
  • gluLookAt 与 gluFrustum_第4张图片
    zNear = 3

zNear = 3 处于一种边界状态,如果 > 3 就又变成什么都不显示了
其实测试发现,2.7 才是边界

zNear = 5

glFrustum(-1, 1, -1, 1, 5, 20);
  • gluLookAt 与 gluFrustum_第5张图片
    zNear = 5

zNear = 5 又变成什么都不显示了

你可能感兴趣的:(gluLookAt 与 gluFrustum)