專利名稱:基于gpu的骨骼動(dòng)畫批量渲染的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)圖形技術(shù)領(lǐng)域,更具體地說,涉及骨骼動(dòng)畫渲染的優(yōu)化方法。
背景技術(shù):
在計(jì)算機(jī)動(dòng)畫已經(jīng)被廣泛用于游戲、電影娛樂的今天,提高計(jì)算機(jī)動(dòng)畫的畫面質(zhì)量與渲染的效率和減少計(jì)算機(jī)動(dòng)畫所需占用的空間,已經(jīng)成為計(jì)算機(jī)動(dòng)畫使用中比較重要的問題。越是精致的動(dòng)畫,占用的空間越大,渲染的速度越低。所以如何在保證畫面質(zhì)量的情況下減少動(dòng)畫所要占用的空間,并提高計(jì)算機(jī)動(dòng)畫的渲染效率成為一個(gè)值得研究的課題。由于動(dòng)畫的特殊性,他的頂點(diǎn)信息會(huì)隨著時(shí)間而改變;再加上每一個(gè)骨骼動(dòng)畫的更新時(shí)間都有不同,所以無法采用靜態(tài)批次渲染和實(shí)例化渲染。這樣就導(dǎo)致了骨骼動(dòng)畫需要以實(shí)例為單位來組織自己的頂點(diǎn)來進(jìn)行渲染。這樣的操作,在需要大量繪制骨骼動(dòng)畫的情況下,硬件是無法承受如此大量的渲染狀態(tài)轉(zhuǎn)換和調(diào)用開銷的。
發(fā)明內(nèi)容
鑒于現(xiàn)有技術(shù)存在的問題,本發(fā)明的目的是要提供一種基于shader3. 0標(biāo)準(zhǔn)的頂點(diǎn)紋理技術(shù),結(jié)合離線骨骼動(dòng)畫的轉(zhuǎn)換矩陣預(yù)存的群體骨骼動(dòng)畫渲染方法。為了實(shí)現(xiàn)上述目的,本發(fā)明所采用的技術(shù)方案是基于GPU的骨骼動(dòng)畫批量渲染,其步驟如下
1)根據(jù)骨骼動(dòng)畫的原始數(shù)據(jù),在線下進(jìn)行以標(biāo)準(zhǔn)幀為30幀的骨骼矩陣計(jì)算;
2)把同一幀的所有骨骼矩陣,作為像素?cái)?shù)據(jù)的一行。貼圖采用RGBA32類型,一個(gè)像素點(diǎn)的數(shù)據(jù)代表一個(gè)骨骼矩陣;
3)編寫頂點(diǎn)Shader,傳入原始的Mesh數(shù)據(jù),作為第一個(gè)頂點(diǎn)流;
4)以實(shí)例為單位,傳入他的位置信息和動(dòng)畫播放的幀信息;
5)在頂點(diǎn)Shader中根據(jù)位置信息,幀信息,骨骼矩陣貼圖,計(jì)算出當(dāng)前Mesh坐標(biāo);
6)最終調(diào)用渲染接口,批量的渲染骨骼動(dòng)畫。本發(fā)明應(yīng)用了實(shí)例化技術(shù)和Shader3. 0標(biāo)準(zhǔn)中的頂點(diǎn)訪問紋理的新特性,結(jié)合骨骼動(dòng)畫的原理,解決了骨骼動(dòng)畫的批量渲染問題。但是次方法僅可以應(yīng)用在rwidia顯卡上,Ati支持的Shader3. 0技術(shù)是R2VB,這個(gè)需要進(jìn)一步的開發(fā)。
具體實(shí)施例方式基于GPU的骨骼動(dòng)畫批量渲染,其步驟如下
1)根據(jù)骨骼動(dòng)畫的原始數(shù)據(jù),在線下進(jìn)行以標(biāo)準(zhǔn)幀為30幀的骨骼矩陣計(jì)算;
2)把同一幀的所有骨骼矩陣,作為像素?cái)?shù)據(jù)的 一行。貼圖采用RGBA32類型,一個(gè)像素點(diǎn)的數(shù)據(jù)代表一個(gè)骨骼矩陣;
3)編寫頂點(diǎn)Shader,傳入原始的Mesh數(shù)據(jù),作為第一個(gè)頂點(diǎn)流;
4)以實(shí)例為單位,傳入他的位置信息和動(dòng)畫播放的幀信息;
5)在頂點(diǎn)Shader中根據(jù)位置信息,幀信息,骨骼矩陣貼圖,計(jì)算出當(dāng)前Mesh坐標(biāo);
6)最終調(diào)用渲染接口,批量的渲染骨骼動(dòng)畫。
權(quán)利要求
1.基于GPU的骨骼動(dòng)畫批量渲染,其步驟如下 1)根據(jù)骨骼動(dòng)畫的原始數(shù)據(jù),在線下進(jìn)行以標(biāo)準(zhǔn)幀為30幀的骨骼矩陣計(jì)算; 2)把同一幀的所有骨骼矩陣,作為像素?cái)?shù)據(jù)的一行,貼圖采用RGBA32類型,一個(gè)像素點(diǎn)的數(shù)據(jù)代表一個(gè)骨骼矩陣; 3)編寫頂點(diǎn)Shader,傳入原始的Mesh數(shù)據(jù),作為第一個(gè)頂點(diǎn)流; 4)以實(shí)例為單位,傳入他的位置信息和動(dòng)畫播放的幀信息; 5)在頂點(diǎn)Shader中根據(jù)位置信息,幀信息,骨骼矩陣貼圖,計(jì)算出當(dāng)前Mesh坐標(biāo); 6)最終調(diào)用渲染接口,批量的渲染骨骼動(dòng)畫。
全文摘要
本發(fā)明涉及計(jì)算機(jī)圖形技術(shù)領(lǐng)域,更具體地說,涉及骨骼動(dòng)畫渲染的優(yōu)化方法,根據(jù)骨骼動(dòng)畫的原始數(shù)據(jù),在線下進(jìn)行以標(biāo)準(zhǔn)幀為30幀的骨骼矩陣計(jì)算,應(yīng)用了實(shí)例化技術(shù)和Shader3.0標(biāo)準(zhǔn)中的頂點(diǎn)訪問紋理的新特性,結(jié)合骨骼動(dòng)畫的原理,解決了骨骼動(dòng)畫的批量渲染問題。
文檔編號(hào)G06T13/00GK102999933SQ20121050350
公開日2013年3月27日 申請(qǐng)日期2012年12月1日 優(yōu)先權(quán)日2012年12月1日
發(fā)明者王爽 申請(qǐng)人:王爽