作者: littleshan (我要加入劍道社!) 看板: C_and_CPP
標題: Re: 關於 OpenGL 大場景 最佳化
時間: Thu Mar 19 17:00:16 2009
※ 引述《lostmyself (該抓住的 要得著)》之銘言:
: Hi, all
: 想請教關於用 OpenGL 製作大場景 如何加速的問題
: 我目前的場景裡面有數十個小場景
: 每個小場景大約用了 40萬個 triangle
: 只 Load 一兩個小場景跑起來還 OK, 但是大約十個景就會明顯的 Lag 了
: 我每個小場景都有先用 glNewList 做好了, Display 的時候就直接 glCallList
: 不知道各位有什麼建議的方法來做這種大場景嗎
1. camera 沒照到的物體就不用畫出來。這部份通常會先用某些演算
法去切割場景,再籍由 camera 的位置去快速判斷那些三角形可
以不用畫出來。
(關鍵字:Octree、BSP)
2. 如果 mesh 距離鏡頭很遠,那畫一個比較粗糙的 mesh 就夠了,
沒必要畫出精細的模型。
(關鍵字:mesh LoD)
3. 有些 mesh 已經被其它的 mesh 擋住了,這時候再去畫它是浪費
時間。
(關鍵字:Occlusion Culling)
4. mesh 資料要直接存到顯示卡的記憶體上,另外別用 glVertex 畫
三角形,那個超慢的,請用 glDrawElements 一次把所有要畫的三
角形送進 pipeline 才快。
(關鍵字:VBO)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.151.2
沒有留言:
張貼留言
您好.本資料庫並非第一手資料.如果你有對文章作者的詢問,意見與需求,請自行找尋文章作者並提供意見,謝謝.