D3D9 SDK文档笔记6---视锥体

来源:互联网 发布:网络产品代理 编辑:程序博客网 时间:2024/04/30 09:55

    有了世界坐标系,我们的物体最基本的三维坐标就可以定义了。

    三维渲染,属于虚拟现实范畴,要做到虚拟现实,就必须要尽量真实的模拟现实环境。

那么,为了看到这些三维物体,其实应该假设我们自己就置身于这个三维空间中。

简化一下,就是我们的眼睛。那么自然的,眼睛也必须对应一个三维坐标了。而现实中我们的眼睛,所看到的区域,近似是一个无限远棱锥。那么在虚拟三维的世界中,也是这样的。唯一的区别是,通常这个棱锥被两个剪裁面截了一下,变成了一个有限的棱台。靠近人眼的面代表了视线的最近端,远离人眼的代表视线的最远端。

现实中,假设我们站在某地不动,我们可以通过抬头,低头,转头,回眸等等动作,观查周围的物体。那么自然的,在虚拟三维世界中,我们也需要这些功能。所以我们不仅需要定义人眼的坐标,而且要定义人眼所看的具体方向。

经常看足球,我们会听到一个词视野开阔。那么视野也是我们定义眼睛时候需要考虑的对象了。 

有个这几个关键参数,我们就可以很好的定义我们的眼睛,也就自然得到了一个棱台也称视锥体。

这时,我们所能看到的物体,其实再简单不过了,就是和这个棱台做交集,包含在内的看见。不包含的不渲染。半包含的截掉不包含的部分。

为了进行上述的,根据视锥体的剪裁操作,得到最终哪些物体需要显示出来。显卡将世界坐标系转换到人眼坐标系(以人眼为坐标原点),即将三维物体的坐标统统转换到人眼坐标系下,这样运算起来效率较高。
原创粉丝点击