專利名稱:基于分段緩存的場景渲染優(yōu)化的制作方法
技術領域:
本發(fā)明涉及計算機圖形技術領域,更具體地說,涉及場景的渲染優(yōu)化方法。
背景技術:
隨著圖像技術的發(fā)展,圖像需要更多的多邊形,更多的雜物和更好的光照,以便場景看起來更真實。為此,不得不使用更多的美術方法來滿足需求。幫助節(jié)省開發(fā)時間的一種技術是實例化方法。雖然實例化方法可以大量的降低開發(fā)時間,但這會使游戲受限于繪制調(diào)用次數(shù)。如果場景使用每一個實例都導致新增加一個批次,那么就不能很好的體現(xiàn)實例化的好處。批次變成了瓶頸。大多數(shù)的Gpu不能渲染上千個實例的場景,每一個實例都潛在的改變一系列渲染狀態(tài),直接狀態(tài)的改變導致了驅(qū)動和cpu的開銷,最后導致性能下降。雖然可以在內(nèi)容一方避免這個問題,采用美術合并多個模型而產(chǎn)生新模型,然后在各處實例化,但是這樣會導致場景看起來重復,降低真實感。本發(fā)明采用了分段緩存技術,把場景中彼此接近的實例,把他們合并到超級實例中,這樣減少了調(diào)用次數(shù),而且解決批次的瓶頸問題。
發(fā)明內(nèi)容
本發(fā)明要解決的技術問題在于,采用分段緩存方式,自動合并相似的實例,同時保留了大量渲染的好處。分段緩存的主要好處在于非重復的外觀和不繪制原始實例的能力。為了實現(xiàn)上述目的,本發(fā)明所采用的技術方案是基于分段緩存的場景渲染優(yōu)化,其步驟如下
1)對場景中對象進行八叉樹空間劃分。樹由一點產(chǎn)生,這些點代表了創(chuàng)造分段緩沖區(qū)實例的位置;
2)對八叉樹進行深度優(yōu)先遍歷,每個樹的節(jié)點總是先分支到左邊,當達到一片葉的時候,把所有的葉片都添加到一個新的序列表中,這樣就有了一個空間有序的實例表;
3)迭代列表兵構造一個包含所有實例的頂點緩沖區(qū)。這個緩沖區(qū)中包含所有實例的世界坐標。同時需要記錄頂點緩沖區(qū)那些部分屬于那個實例;
4)根據(jù)視錐體裁剪,得出實例的可見性,把這個實例列表變換到前面為分段緩沖生成的頂點緩沖區(qū)的一部分;
5)合并頂點緩沖區(qū)中相鄰的分段,得到渲染緩沖區(qū)的優(yōu)化列表。本發(fā)明的優(yōu)點在于明顯的減少了渲染顯示幀中的批次次數(shù),運用本發(fā)明的方法,可以產(chǎn)生非常豐富和開起來更真實環(huán)境。
具體實施例方式基于分段緩存的場景渲染優(yōu)化,其步驟如下
1)對場景中對象進行八叉樹空間劃分。樹由一點產(chǎn)生,這些點代表了創(chuàng)造分段緩沖區(qū)實例的位置;
2)對八叉樹進行深度優(yōu)先遍歷,每個樹的節(jié)點總是先分支到左邊,當達到一片葉的時候,把所有的葉片都添加到一個新的序列表中,這樣就有了一個空間有序的實例表;
3)迭代列表兵構造一個包含所有實例的頂點緩沖區(qū)。這個緩沖區(qū)中包含所有實例的世界坐標。同時需要記錄頂點緩沖區(qū)那些部分屬于那個實例;
4)根據(jù)視錐體裁剪,得出實例的可見性,把這個實例列表變換到前面為分段緩沖生成的頂點緩沖區(qū)的一部分;
5)合并頂點緩沖區(qū)中相鄰的分段,得到渲染緩沖區(qū)的優(yōu)化列表。
權利要求
1.基于分段緩存的場景渲染優(yōu)化,其步驟如下 1)對場景中對象進行八叉樹空間劃分; 樹由一點產(chǎn)生,這些點代表了創(chuàng)造分段緩沖區(qū)實例的位置; 2)對八叉樹進行深度優(yōu)先遍歷,每個樹的節(jié)點總是先分支到左邊,當達到一片葉的時候,把所有的葉片都添加到一個新的序列表中,這樣就有了一個空間有序的實例表; 3)迭代列表兵構造ー個包含所有實例的頂點緩沖區(qū);這個緩沖區(qū)中包含所有實例的世界坐標;同時需要記錄頂點緩沖區(qū)那些部分屬于那個實例; 4)根據(jù)視錐體裁剪,得出實例的可見性,把這個實例列表變換到前面為分段緩沖生成的頂點緩沖區(qū)的一部分; 5)合并頂點緩沖區(qū)中相鄰的分段,得到渲染緩沖區(qū)的優(yōu)化列表。
全文摘要
本發(fā)明涉及計算機圖形技術領域,更具體地說,涉及場景的渲染優(yōu)化方法,采用分段緩存方式,自動合并相似的實例,同時保留了大量渲染的好處。分段緩存的主要好處在于非重復的外觀和不繪制原始實例的能力;明顯的減少了渲染顯示幀中的批次次數(shù),運用本發(fā)明的方法,可以產(chǎn)生非常豐富和開起來更真實環(huán)境。
文檔編號G06T13/00GK102982573SQ20121044972
公開日2013年3月20日 申請日期2012年11月12日 優(yōu)先權日2012年11月12日
發(fā)明者不公告發(fā)明人 申請人:沈陽信達信息科技有限公司