專利名稱:基于sm2.0實現(xiàn)的自遮蔽陰影視差映射算法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機圖形學(xué)領(lǐng)域,主要應(yīng)用在次世代視頻游戲中。
背景技術(shù):
視頻游戲作為一個新興的產(chǎn)業(yè)在迅速發(fā)展著,而伴隨著計算機硬件技術(shù)的成長, 使得在游戲中模擬完全真實的場景有著越來越多的可能。所以計算機圖形學(xué)尤其是3D圖 形學(xué)的發(fā)展成為了近年來一個高速發(fā)展的計算機領(lǐng)域。而在視頻游戲中的圖形學(xué)又與傳統(tǒng)意義上的圖形學(xué)不盡相同,主要是因為視頻游 戲?qū)τ趫鼍坝嬎愕膶崟r性非常的高,所以在視頻游戲領(lǐng)域的圖形學(xué)的要求是能在計算速度 和實現(xiàn)效果上的一個完美結(jié)合。近幾年來隨著完全支持DireCtX9.0C(Shader Mode 3.0) 技術(shù)的計算機圖形加速卡的出現(xiàn)使得很多以前完全不可能實現(xiàn)的效果能夠真實的呈現(xiàn)在 玩家面前。
發(fā)明內(nèi)容
本發(fā)明提供了一種基于SM2. 0 (Shader Mode 2. 0)的自遮蔽陰影的視差映射算法, 使得必須在SM3. 0基礎(chǔ)上才能運行的視差映射效果能夠在僅支持SM2. 0的顯卡上流暢的運 行起來,在SM3. 0真正的普及起來之前,能夠讓更多的玩家享受到次世代的游戲畫面。
具體實施例方式本發(fā)明首先對視差映射算法進(jìn)行了整理,并進(jìn)行建模,再根據(jù)SM2. 0相對SM3. 0硬 件條件上的限制與不足,對算法進(jìn)行修正,巧妙的避開SM3. 0特定寄存器的使用,從而使得 對硬件要求苛刻的視差映射算法在SM2. 0的顯卡上同樣可以流暢運行。
權(quán)利要求
基于SM2.0實現(xiàn)的自遮蔽陰影視差映射算法,其特征在于包括下列幾點利用切線空間動態(tài)計算最大偏差值動態(tài)多分搜索求視線偏差值頂點著色器與像素著色器寄存器使用優(yōu)化簡化陰影遮蔽算法
2.如權(quán)利要求1所述的方法,其特征在于依據(jù)所要產(chǎn)生的凹凸物體表面所在的切線空 間與該點同視角的關(guān)系來計算在不同視角下,該物體所能產(chǎn)生的最大的偏差的距離。計算 公式U,= u+taneuxd印th(u,v),其中u為材質(zhì)u方向上的坐標(biāo);U,為u方向上最大偏差 值的坐標(biāo)。
3.如權(quán)利要求1所述的方法,其特征在于,由于不同的視角下,所計算出最大偏差值不 同,即在角度越大的情況下,偏差值越??;角度越小,偏差值越大,如果使用同樣的多分搜索 來計算實際偏差值,會帶來很大的誤差,從而影響最終的顯示效果,所以采取根據(jù)不同的最 大偏差值,動態(tài)更新多分搜索的補償,來實現(xiàn)計算速度與計算精度的平衡。
4.如權(quán)利要求1所述的方法,其特征在于利用SM2.O所有的寄存器來是實現(xiàn)SM3. O特 有寄存器的功能,如Bool型數(shù)據(jù)類型等等,并根據(jù)寄存器的優(yōu)化調(diào)整算法代碼。
5.如權(quán)利要求1所述的方法,其特征在于利用光遮蔽公式Wp= Ws (Dr-Db) /Db,多次步 長計算近似模擬光照印象來實現(xiàn)自遮蔽陰影的實現(xiàn),在保證效果的同時,極大的節(jié)省了 GPU 的計算工作。
全文摘要
本發(fā)明提出的基于SM2.0實現(xiàn)的自遮蔽陰影視差映射算法,實現(xiàn)了利用SM2.0的頂點著色器和像素著色器使得使用一張材質(zhì)貼圖、一張法線貼圖和一個平面多邊形來產(chǎn)生出在用戶看來是凹凸起伏的幾何形體。整個算法包括,根據(jù)視角計算偏差距離和偏差點;根據(jù)法線貼圖計算每個點上來自光源的影響值;根據(jù)遮擋關(guān)系計算陰影影響值。算法通過對顯卡寄存器的優(yōu)化使用和算法的改進(jìn)使得對硬件要求嚴(yán)格的算法可以在更為普及的僅支持SM2.0的顯卡上流暢的運行。
文檔編號G06T1/00GK101877115SQ20091006871
公開日2010年11月3日 申請日期2009年4月30日 優(yōu)先權(quán)日2009年4月30日
發(fā)明者劉貞明 申請人:劉貞明