這些天在寫場景管理的一些內(nèi)容以及渲染自己導出的模型的渲染器...
首先先說兩個導致我花了1天才解決的兩個弱智BUG...望大家以后注意....
1. 如果使用固定管線渲染...千萬千萬記得在創(chuàng)建D3DMATERIAL9對象的時候ZeroMemory一下.....不然哪天你沒有設置鏡面光或者環(huán)境光的系數(shù)的時候就啥都看不到了....
2.由于粗心大意...在SHADER傳參的時候?qū)Effect->SetTexture("g_Tex",...);寫成了pEffect->SetTextrue("g_tex",...),結(jié)果悲劇就發(fā)生了....
這兩天在測試模型渲染器的效率....遇到一些問題....還望各位大牛指點一下...
先來比較一下這兩張圖:


首先說一下,當把靜態(tài)模型加到1000個以后,也就是所謂的百萬個三角形后,其實對渲染的效率影響并不是很大...
可見現(xiàn)在GPU對于頂點的處理基本不是問題(不要太變態(tài)的情況下)...順便提一句,我的是7300GS顯卡
在渲染過程中用的是VS&PS2.0
但是大家可以看到第一張圖中幀數(shù)比第二張圖中的幀數(shù)少了8幀左右
先忽略掉那多出來的20個1024個面,我認為不是關鍵...
這兩次渲染中我只是將模型的縮放比例從0.4變?yōu)榱?.2,僅此而已...
不影響場景管理...因為我的場景管理還沒有加動態(tài)的對象...呵呵...
那為什么效率出現(xiàn)了差別...
比較直觀的看就是說第一張圖中像素對后臺緩沖區(qū)的填充率更高...而第二個更低...
那換句話說依然瓶頸是在于像素著色...但是具體在于像素著色的哪個方面呢,望高手解答一下...
再給一張圖作為參考

其實這張圖中渲染了200次骨骼動畫模型
這次我把所有的渲染的位置都放在了同一個點...
幀數(shù)居然只有8了...如果說上面兩張圖的比較結(jié)果是像素填充后臺緩沖區(qū)的填充率過高...
那么這張圖又如何來解釋呢....ZBUFFER的問題么???
同時...在場景管理中....想優(yōu)化一下攝像機平截頭體和四叉樹節(jié)點的判斷位置關系的代碼...
望各位大牛提供一點思路...