作者insightful (彩虹总在转身後看见)
看板GameDesign
标题Re: [程式] DirectX有做object culling吗?
时间Sun Feb 25 16:45:21 2007
※ 引述《ppaass (Qoo~)》之铭言:
: ※ 引述《littleshan (我要加入剑道社!)》之铭言:
: : 因为你的视角会变 也就是 viewing frustum 会变
: : 所以事先对 model 做 clipping 没办法得到什麽好处
: : 每次视角改变你都要重新 clip 一次
: : 这和丢给 GPU 做 clipping 没什麽不同
: ㄟ...原提问者可能把 clipping 跟 object culling (或称 visibility culling)搞
: 混了。
: clipping: 在 rendering pipeline 中,在 vertex transform 之後,把 viewport
: 外的 polygon 部份切除掉。
: object culling: 在 rendering pipeline 之前,预先把看不见的物体整个地(或部
: 分地)过滤掉,该物体就不进 rendering pipeline 去描绘了。
: 就描绘来说,用对方法和地方的话,object culling 会有很大的效能提升,前提是
: 用对方法和地方,并没有一个通用的方法对所有的场景都得到最好的效果,例如:
: 对於室内场景,有很多墙壁去遮挡住另一个房间的物体,可以考虑用遮挡测试的方法
: 来做 object culling。
: 对於飞行模拟,物体分散地来自四面八方,用 frustum culling 或 octree 或许会
: 得到最好的效果。
: 对於地图式游戏,物体平铺在某个平面上,直接检查座标范围就好。
: 然而对於所有物体紧密排列,或观察范围遍及整个场景,使得 object culling 几乎
: 没有效果的场景,对这种场景做 object culling 反而是伤害效能。
: 因为没有通用的 object culling 方法,必须因时因地制宜采用不同方法,所以
: DirectX 没有内建 object culling 机制。
哈哈.....原来如此.....真是谢谢各位前辈的回答......
我果然有一点点搞混了.....原来 object culling 是这麽一回事....
终於懂了......^^"
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.217.99.223