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


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

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