3D中视锥的剪裁.pdfVIP

  • 7
  • 0
  • 约1.81万字
  • 约 6页
  • 2017-06-12 发布于河南
  • 举报
3D中视锥的剪裁

lSSN1 009—3044 and Technology电脑知识与技术 ComputerKnowledge Tel:+86—55l一56909635690964 VoL5,No.36,December2009,PP.10292-10294,10297 3D中视锥的剪裁 杨晓华 (商丘医学高等专科学校,河南商丘476100) 摘要:3D中提高游戏的帧速率的一个有效的办法就是把我们视野范围以外的物体不渲染出来,也就是我们通常所讲的视锥的剪裁 Frustum (View Culling)。 关键词:3D:游戏;视锥;剪裁 中图分类号:TP311文献标识码:A 文章编号:1009—3044(2009)36—10292—03 3D游戏制作中游戏的速度至关重要,玩家是没有耐心去玩画面停顿的游戏,对游戏来说30帧/秒的速度已经能够运行,60帧/ 秒是比较合适的。当然帧速率越高,游戏的画面就越流畅,游戏的效果就越出众。3D中提高游戏的帧速率的一个有效的办法就是把 Frustum 我们视野范围以外的物体不渲染出来也就是我们通常所讲的视锥的剪裁(View 场景和一张完整地图,3D加载模型的时候是需要把整个地图的场景全部加载进去,其实在游戏某一时刻视野范同内只能看到的是 非常小的一部分。如果不把看不见的部分剪裁掉就导致极大的资源浪费,直接影响游戏的帧速率。如果要进行剪裁首先要判断哪些 物体能看得见,哪些物体看不见,由3D的基本知识可知,所谓看得见的物体就在游戏中虚拟摄影机所确定的视锥范同以内或与视 锥相交的物体.如下图所示: ● 图1 视锥的范围 图2视锥的剪裁 由上图可以看出要做视锥裁减先要计算出构成视锥的六个面的平面方程,然后在判断物体是否与六个平面的相交。 下面我们来推导一下视锥的六个面的平面方程,假设世界坐标系有一点V它经过视图转换和透视投影转换后为V7,假设rtl的 转换矩阵为M,推导过程如下: z v=(xY w=1) M=(m【I) Vt=(x’Y’z’W’) 工‘roll+Y’m21+z‘m31+w‘,弛1 ¨ 7 7 x‘m12+Y。m22+z‘,”32+w。m42 z W7)= v=vM_(x’Y 工。mI 3+y‘,行如+二‘m33十w‘m43 ” x’m14+Y‘m24+z‘脚弘+W。m44叫毗毗毗 根据3D的基础知识可知,如果V在“未转换”视锥范围之内,那么V7也一定在视锥范围之内。V在视锥范围之内的条件是下 面不等式的成立: 一W’X’W’ 表1 —W’Y’W’ 0z’WI 由表1不等式可以得到: 一W’X’ 一(v·col4)(v·coil) O(v·col4)+(v·coil) 0v·(c014+coll) 替换成为矩阵中的数据如下: x(m14+m11)+y(m24+m21)+z(m34+m31)+w(m44+m31)=0 3D空间我们通常设置W=1等式如下: x(m14+m11)+y(m24+m21)+

文档评论(0)

1亿VIP精品文档

相关文档