作者asoedarren (天真岁月阳仲寿)
看板GameDesign
标题Re: [程式] DirectX有做object culling吗?
时间Mon Feb 26 00:52:17 2007
上两篇是正解 一堆bsp octree之类的切割 都是为了不想送进graphic pipeline
但吊诡的是近几年随着硬体的进步 有时侯直接丢给GPU算比你在那边切半天还快 Orz
※ 引述《insightful (彩虹总在转身後看见)》之铭言:
: ※ 引述《ppaass (Qoo~)》之铭言:
: : ㄟ...原提问者可能把 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: 218.167.73.119