[發(fā)明專(zhuān)利]去像素化輪廓線重建的線性陰影圖方法有效
| 申請(qǐng)?zhí)枺?/td> | 201510323626.0 | 申請(qǐng)日: | 2015-06-12 |
| 公開(kāi)(公告)號(hào): | CN104933754B | 公開(kāi)(公告)日: | 2017-09-19 |
| 發(fā)明(設(shè)計(jì))人: | 馮結(jié)青;杜文俊;梅井翔 | 申請(qǐng)(專(zhuān)利權(quán))人: | 浙江大學(xué) |
| 主分類(lèi)號(hào): | G06T15/60 | 分類(lèi)號(hào): | G06T15/60 |
| 代理公司: | 杭州天勤知識(shí)產(chǎn)權(quán)代理有限公司33224 | 代理人: | 胡紅娟 |
| 地址: | 310027 浙*** | 國(guó)省代碼: | 浙江;33 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 像素 輪廓 重建 線性 陰影 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)圖形學(xué)陰影繪制領(lǐng)域,具體涉及一種去像素化輪廓線重建的線性陰影圖方法。
背景技術(shù)
陰影是現(xiàn)實(shí)世界的重要元素之一,也是合成圖像真實(shí)感繪制中不可缺少的一部分。它承載了場(chǎng)景中光源位置、光線傳遞方向等重要信息。對(duì)于屏幕上任何一個(gè)可見(jiàn)點(diǎn)來(lái)說(shuō),它或者直接被光源照射而處于照亮區(qū)域,或者被其它物體遮擋而處于陰影區(qū)域。對(duì)于用戶(hù)來(lái)說(shuō),正確的陰影信息可以幫助用戶(hù)有效認(rèn)識(shí)物體的幾何屬性,分辨物體之間的相對(duì)位置關(guān)系。
盡管陰影繪制算法已經(jīng)是計(jì)算機(jī)圖形學(xué)中一個(gè)經(jīng)典問(wèn)題,但如何高效而魯棒地生成陰影的問(wèn)題并沒(méi)有完全得到解決。陰影圖(shadow mapping,SM)和陰影體(shadow volume)是繪制硬陰影的兩種主要方法,分別代表了基于圖像和基于幾何的兩種硬陰影生成思路。其中,陰影圖方法是陰影繪制中應(yīng)用最為廣泛的方法,它使用深度緩存快速判斷場(chǎng)景中可見(jiàn)點(diǎn)相對(duì)于光源的可見(jiàn)性,其算法執(zhí)行時(shí)間接近于僅僅繪制一遍場(chǎng)景的時(shí)間,算法所需要消耗的內(nèi)存數(shù)據(jù)僅僅是一張單通道的深度紋理。然而陰影圖算法也面臨著兩個(gè)重大的挑戰(zhàn):走樣問(wèn)題,其產(chǎn)生的原因是陰影圖的分辨率有限,深度信息采樣不足;自陰影,通常表現(xiàn)出的現(xiàn)象為場(chǎng)景中原本被照亮的物體表現(xiàn)出不正確的陰影條紋,好像物體被自己遮擋住一樣,其產(chǎn)生的原因有兩點(diǎn)——數(shù)值量化誤差以及深度的離散采樣導(dǎo)致陰影圖的深度值只在紋素中心是精確的。
提高陰影圖分辨率是解決陰影圖固有問(wèn)題的最直接的方法,然而過(guò)大的陰影圖分辨率會(huì)給算法帶來(lái)嚴(yán)重的存儲(chǔ)和性能開(kāi)銷(xiāo)。許多學(xué)者提出了改進(jìn)的陰影圖方法,如垂直紋理扭曲方法(Rosen P.Rectilinear texture warping for fast adaptive shadow mapping[C].Proceedingsof the ACM SIGGRAPH Symposium on Interactive 3D Graphics andGames.New York:ACM Press,2012:151-158),不規(guī)則陰影圖方法(Johnson G S,Lee J,Burns C A,et al.The irregular Z-buffer:Hardware accelerationfor irregular data structures[J].ACM Transactions on Graphics,2005,24(4):1462-1482)等。
發(fā)明內(nèi)容
本發(fā)明針對(duì)現(xiàn)有反走樣技術(shù)不足,提供一種能有效地減弱陰影圖方法中走樣現(xiàn)象發(fā)生的去像素化輪廓線重建的線性陰影圖方法。
為解決上述技術(shù)問(wèn)題,本發(fā)明采用的技術(shù)方案為:
一種去像素化輪廓線重建的線性陰影圖方法,包括:
(1)從光源空間繪制場(chǎng)景,存儲(chǔ)所有像素中心的深度值為第一陰影圖,在x和y方向各偏移半個(gè)紋素大小得到第二陰影圖,第一陰影圖和第二陰影圖構(gòu)成線性陰影圖;
(2)從視域空間繪制場(chǎng)景,將像素變換到光源空間,并把像素分類(lèi)為輪廓線像素和非輪廓線像素;
(3)對(duì)于非輪廓線像素使用線性插值計(jì)算遮擋物深度值,比較深度值得到陰影結(jié)果,對(duì)于輪廓線像素,使用去像素化的輪廓線重建方法對(duì)陰影邊界進(jìn)行重建。
作為優(yōu)選,步驟(1)中的線性陰影圖的采樣位置為每個(gè)紋素的中心和角點(diǎn)。
本發(fā)明線性陰影圖的采樣位置為每個(gè)紋素的中心和角點(diǎn),這種采樣方式相對(duì)于傳統(tǒng)陰影圖方法來(lái)說(shuō)其實(shí)是兩倍的采樣數(shù)目,該陰影圖生成方法與傳統(tǒng)陰影圖生成方法類(lèi)似,區(qū)別即一張?jiān)缄幱皥D加上一張偏移半個(gè)像素距離的相同分辨率的陰影圖。
作為優(yōu)選,步驟(2)中的像素分類(lèi)方法如下:
把目標(biāo)像素投影到光源空間,并找到目標(biāo)像素所在的紋素,通過(guò)線性陰影圖獲取該紋素中心和四個(gè)角上深度采樣點(diǎn);
求取四個(gè)角上的深度采樣點(diǎn)的值的平均值,判斷得到的結(jié)果是否與像素中心存儲(chǔ)的深度值相等,如果兩者相等,該目標(biāo)像素為輪廓線像素;
否則,該目標(biāo)像素為非輪廓線像素。
在比較這兩個(gè)值的時(shí)候,需要設(shè)置一個(gè)極小的容忍誤差來(lái)避免浮點(diǎn)數(shù)計(jì)算過(guò)程中的誤差。
作為優(yōu)選,步驟(3)中的線性插值計(jì)算深度值時(shí),對(duì)于像素P,可以通過(guò)像素P的紋理坐標(biāo)確定像素P所在三角形區(qū)域,結(jié)合所述三角形區(qū)域的三個(gè)頂點(diǎn)V0、V1和V2的紋理坐標(biāo),計(jì)算像素P相對(duì)于所述三角形區(qū)域的重心坐標(biāo)(u,v,ω):
再計(jì)算像素P的遮擋物的深度值:
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于浙江大學(xué),未經(jīng)浙江大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510323626.0/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。





