專利名稱:一種地表修飾物的繪制優(yōu)化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)圖形技術(shù)領(lǐng)域,更具體地說,涉及大型繪制模擬的地形系統(tǒng)的繪制優(yōu)化。
背景技術(shù):
地形系統(tǒng)是現(xiàn)階段計(jì)算機(jī)繪制模擬的一個(gè)重要組成部分,在各種大型3D網(wǎng)絡(luò)游戲的制作,各種仿真繪制軟件中一直發(fā)揮著重要的作用。
隨著對繪制效果要求的不斷提升,地形變得越來越復(fù)雜,出現(xiàn)各式各樣的渲染技術(shù)來提高地形的繪制效果。比如地形高光,地形的陰影繪制,地表修飾物添加等等。但是隨著這些渲染技術(shù)的加入,地形繪制對硬件的要求越來越高。雖然計(jì)算機(jī)硬件能力的提升和渲染技術(shù)的提升,但仍不足以滿足繪制的需求。特別是在大型的3D網(wǎng)絡(luò)游戲中,給予地形的繪制資源本來就很少,在加上玩家對效果的要求越來越苛刻,這進(jìn)一步加速了效果與效率直接的矛盾。
在地形繪制中,地表修飾物起著非常重要的作用。顧名思義,地表修飾物就是地面上面的各種植物,必然草皮,樹木等都是地表修飾物。而在繪制類型于森林的場景中,地表修飾物的繪制量是巨大的。如果每一個(gè)棵草都采用單次的繪制,就是說一棵草就要調(diào)用一次GPU繪制,哪即使超級計(jì)算機(jī)也無法完成如此的渲染任務(wù)。先階段,針對于地形修飾物得優(yōu)化主要為減少地表修飾物的繪制次數(shù)。但是效果仍然不讓人滿意。因?yàn)橐_(dá)到理想的繪制效果,各種原因?qū)е铝诉@種優(yōu)化不是在任何時(shí)候都可以使用的。
如在繪制復(fù)雜的三維場景時(shí),不可避免地會(huì)出現(xiàn)物體間的相互遮擋,在這種情況下,為了正確地繪制場景需要使用測試。半透明物體的繪制不同于不透明物體,D3D通過 Alpha混合實(shí)現(xiàn)半透明物體的繪制。而且要實(shí)現(xiàn)正確的混合效果,還需要對繪制的物體根據(jù)與攝像機(jī)的距離進(jìn)行排序,這種排序也是非常的緩慢的。
所以對地表修飾物渲染的進(jìn)一步優(yōu)化,是當(dāng)前非常重要一個(gè)課題。發(fā)明內(nèi)容
鑒于現(xiàn)有技術(shù)存在的問題,本發(fā)明提供一種地表修飾物的繪制優(yōu)化方法,其針對背景技術(shù)中所說的地表修飾物的繪制問題,提出一種替代方法,其在實(shí)現(xiàn)alpha的方法的同時(shí)達(dá)到實(shí)現(xiàn)alpha混合效果的目的。
為了實(shí)現(xiàn)上述目的,本發(fā)明解決上述技術(shù)問題的技術(shù)方案一種地表修飾物的繪制優(yōu)化方法,其提供一張?jiān)肼暭y理調(diào)節(jié)草的alpha通道,采用alpha測試技術(shù)來進(jìn)行繪制;由于地表修飾與攝像機(jī)遠(yuǎn)近不同,從而每個(gè)修飾物的效果不相同,通過調(diào)整alpha測試的閥值,根據(jù)距離對閥值進(jìn)行線性插值,以達(dá)到較好的效果;并且為保證繪制的批量,把這個(gè)值存到一個(gè)與地表修飾物編號一一對應(yīng)的apha貼圖中,采用shader來進(jìn)行批量地表修飾物繪制。
所述的地表修飾物的繪制優(yōu)化方法的步驟如下(1)對地形的中的所有地表修飾進(jìn)行編號;(2)把調(diào)整好之后的alpha存入到頂點(diǎn)流中;(3)根據(jù)需要繪制的效果,制作噪聲紋理調(diào)節(jié)草的alpha通道;(4)把地表修飾物的貼圖,閥值流,和制作好的噪聲紋理調(diào)節(jié)草的alpha通道傳入 shader 中;(5)采用多流的方式,把地表修飾物得頂點(diǎn)和對應(yīng)的世界坐標(biāo)轉(zhuǎn)化矩陣傳入shader, 一次繪制出同模型的地表修飾物.所述地表修飾物的繪制優(yōu)化方法把a(bǔ)lpha測試值存入流中,一次將所有地表修飾物實(shí)例的頂點(diǎn)傳進(jìn)去,實(shí)現(xiàn)批量繪制。
本發(fā)明提供的融合方法與傳統(tǒng)的采用alpha混合方式相比,他的優(yōu)勢在于(1)不需要對繪制的模型進(jìn)行排序,這樣可以大大提升效率;(2)通過采用多流,實(shí)現(xiàn)所有同類型地表修飾物的批量繪制,減少GPU調(diào)用次數(shù),防止 GPU等待以提高繪制效率;(3)采用alpha測試的方法,雖然并不完美,同樣一定程度上實(shí)現(xiàn)傳統(tǒng)alpha混合的效果,結(jié)合通道圖,完全可以掩蓋任何的失真效果;(4)alpha測試的速度要比alpha混合的計(jì)算速度快很多。
具體實(shí)施方式
一種地表修飾物的繪制優(yōu)化方法,其提供一張?jiān)肼暭y理調(diào)節(jié)草的alpha通道,采用alpha測試技術(shù)來進(jìn)行繪制;由于地表修飾與攝像機(jī)遠(yuǎn)近不同,從而每個(gè)修飾物的效果不相同,通過調(diào)整alpha測試的閥值,根據(jù)距離對閥值進(jìn)行線性插值,以達(dá)到較好的效果; 并且為保證繪制的批量,把這個(gè)值存到一個(gè)與地表修飾物編號一一對應(yīng)的apha貼圖中,采用shader來進(jìn)行批量地表修飾物繪制。
所述的地表修飾物的繪制優(yōu)化方法的步驟如下(1)對地形的中的所有地表修飾進(jìn)行編號;(2)把調(diào)整好之后的alpha存入到頂點(diǎn)流中;(3)根據(jù)需要繪制的效果,制作噪聲紋理調(diào)節(jié)草的alpha通道;(4)把地表修飾物的貼圖,閥值流,和制作好的噪聲紋理調(diào)節(jié)草的alpha通道傳入 shader 中;(5)采用多流的方式,把地表修飾物得頂點(diǎn)和對應(yīng)的世界坐標(biāo)轉(zhuǎn)化矩陣傳入shader,一次繪制出同模型的地表修飾物。
所述地表修飾物的繪制優(yōu)化方法把a(bǔ)lpha測試值存入流中,一次將所有地表修飾物實(shí)例的頂點(diǎn)傳進(jìn)去,實(shí)現(xiàn)批量繪制。
權(quán)利要求
1.一種地表修飾物的繪制優(yōu)化方法,其提供一張?jiān)肼暭y理調(diào)節(jié)草的alpha通道,采用 alpha測試技術(shù)來進(jìn)行繪制;由于地表修飾與攝像機(jī)遠(yuǎn)近不同,從而每個(gè)修飾物的效果不相同,通過調(diào)整alpha測試的閥值,根據(jù)距離對閥值進(jìn)行線性插值,以達(dá)到較好的效果;并且為保證繪制的批量,把這個(gè)值存到一個(gè)與地表修飾物編號一一對應(yīng)的apha貼圖中,采用 shader來進(jìn)行批量地表修飾物繪制。
2.根據(jù)權(quán)利要求1所述的一種地表修飾物的繪制優(yōu)化方法,其特征在于所述的地表修飾物的繪制優(yōu)化方法的步驟如下(1)對地形的中的所有地表修飾進(jìn)行編號;(2)把調(diào)整好之后的alpha存入到頂點(diǎn)流中;(3)根據(jù)需要繪制的效果,制作噪聲紋理調(diào)節(jié)草的alpha通道;(4)把地表修飾物的貼圖,閥值流,和制作好的噪聲紋理調(diào)節(jié)草的alpha通道傳入 shader 中 0
3.根據(jù)權(quán)利要求1所述的一種地表修飾物的繪制優(yōu)化方法,其特征在于采用多流的方式,把地表修飾物得頂點(diǎn)和對應(yīng)的世界坐標(biāo)轉(zhuǎn)化矩陣傳入shader,一次繪制出同模型的地表修飾物。
全文摘要
本發(fā)明涉及計(jì)算機(jī)圖形技術(shù)領(lǐng)域,更具體地說,涉及大型繪制模擬的地形系統(tǒng)的繪制優(yōu)化。本發(fā)明提供的融合方法與傳統(tǒng)的采用alpha混合方式相比,他的優(yōu)勢在于不需要對繪制的模型進(jìn)行排序,這樣可以大大提升效率;通過采用多流,實(shí)現(xiàn)所有同類型地表修飾物的批量繪制,減少GPU調(diào)用次數(shù),防止GPU等待以提高繪制效率;采用alpha測試的方法,雖然并不完美,同樣一定程度上實(shí)現(xiàn)傳統(tǒng)alpha混合的效果,結(jié)合通道圖,完全可以掩蓋任何的失真效果;alpha測試的速度要比alpha混合的計(jì)算速度快很多。
文檔編號G06T17/05GK102542609SQ20111042279
公開日2012年7月4日 申請日期2011年12月16日 優(yōu)先權(quán)日2011年12月16日
發(fā)明者溫宏梅 申請人:大連兆陽軟件科技有限公司