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