标签:计算公式 culling 相机 gif 位置 size 测试 style 更新
这是一些列来自lighthouse3d的视锥体裁剪教程。旨在学习总结,及便于查阅。
1、视锥体的形状
在OpenGL中,透视投影是由两个函数定义的gluPerspective和
gluLookAt。我们先来回顾下这两个函数的参数
gluPerspective(fov, ratio, nearDist, farDist);
gluLookAt(px,py,pz, lx,ly,lz, ux,uy,uz);
照相机的位置在四棱锥的顶点处(px,py,pz) 记为向量p,
观察点的位置在(lx,ly,lz) 记为向量l,
这样照相机朝着观察点发出的射线的就可以记为d = l - p,
近平面和远平面都与d垂直,它们与摄像机的距离分别为nearDist和farDist。
近平面与远平面上的矩形区域的大小可以由fov(照相机垂直的视角)和ratio(照相机水平的视角)计算出来。
计算公式如下:
Hnear = 2 * tan(fov / 2) * nearDist
Wnear = Hnear * ratio
Hfar = 2 * tan(fov / 2) * farDist Wfar = Hfar * ratio
为了进行视图裁剪,我们分两步走
【翻译】 View Frustum Culling --1 View Frustum’s Shape
标签:计算公式 culling 相机 gif 位置 size 测试 style 更新
原文地址:http://www.cnblogs.com/wildbloom/p/7229519.html