您的位置:首页 > 其它

5.6.3.1 Defining a Frustum

2015-11-22 09:43 337 查看
我们可以在在视觉空间定义视锥体,其投影的中心在原点和俯视正z轴,由以下4个量:近平面n,远平面f,视角a,和纵横比r。注意,在视觉空间中,近平面和远平面平行于xy平面;因此,我们简单地沿着z轴从原点指定它们的距离。纵横比定义为:r= w / h,其中w是投射窗口的宽度,h为投射窗口的高度。该投射窗口实质上是视觉空间中2D图像中的场景。图像将最终被映射到后台缓冲区;因此,我们倾向于投射窗口尺寸的比值与后台缓冲器尺寸的比值相同。这么后台缓冲区尺寸的比值通常被指定为纵横比。例如,如果后台缓冲尺寸为800×600,然后我们指定r = 800 / 600 = 1.333,如果投射窗口和后台缓冲的纵横比不一致,则投影窗口映射到后台缓冲区将出现非均匀缩放,其会引起的失真(例如,投射窗上的圆可能会被拉伸成椭圆映射到后台缓冲区)。

视角β的水平场是由视角α的垂直场和纵横比r确定。 为了查看r如何帮助我们找到β,考虑图5.23。注意,投影窗口的实际尺寸并不重要,只是纵横比需要维护。因此,我们将选择2的方便的高度,因此,宽度必须是:





为了具有指定的垂直场,该投射窗必须放置在从原点距离d的位置:



现在,我们可以解决β。纵观图5.23的xz平面,我们现在看到的是:



所以,给定的视角a的垂直场和纵横比,我们总能得到视角β的水平场



本文固定链接:http://www.oxox.work/web/directx11/defining-a-frustum/ | 虚幻大学
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: