[發(fā)明專利]一種實(shí)現(xiàn)雙面折射效果的方法及裝置有效
| 申請(qǐng)?zhí)枺?/td> | 200610111892.8 | 申請(qǐng)日: | 2006-09-06 |
| 公開(公告)號(hào): | CN101140662A | 公開(公告)日: | 2008-03-12 |
| 發(fā)明(設(shè)計(jì))人: | 劉皓 | 申請(qǐng)(專利權(quán))人: | 騰訊科技(深圳)有限公司 |
| 主分類號(hào): | G06T15/10 | 分類號(hào): | G06T15/10 |
| 代理公司: | 北京同達(dá)信恒知識(shí)產(chǎn)權(quán)代理有限公司 | 代理人: | 宋松 |
| 地址: | 518044廣東省深圳市*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 實(shí)現(xiàn) 雙面 折射 效果 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及圖像渲染領(lǐng)域,特別是涉及一種實(shí)現(xiàn)雙面折射效果的方法及裝置。
背景技術(shù)
由于光在不同密度的材質(zhì)中傳播的速度不同,所以當(dāng)光通過不同密度的兩種材質(zhì)之間的界面時(shí),光的傳播方向會(huì)發(fā)生改變。例如:光在空氣中傳播得比光在水中傳播得快很多,所以吸管放入水中時(shí),吸管就像被“折”了一樣。
基于物理公式的折射光計(jì)算函數(shù)已經(jīng)被整合在了高級(jí)著色語(yǔ)言函數(shù)庫(kù)里:
FLOAT3?REFRACT(FLOAT3I,F(xiàn)LOAT3N,F(xiàn)LOATR)
{
FLOAT?COSI=DOT(I,N);
FLOAT?COST2=1.0F-R*R*(1.0F-COSI*COSI);
FLOAT3?T=R*I-((R*COSI+SQRT(ABS(COST2)))*N);
RETURN?T*(FLOAT3)(COST2>0);
}
其中I為入射光方向,N為著色點(diǎn)的法線方向。R為相對(duì)折射指數(shù),即兩材質(zhì)的折射率之比。
現(xiàn)有的實(shí)時(shí)圖形折射處理是僅處理觀察點(diǎn)一側(cè)(即物體上表面)的折射,而忽略物體下表面的折射。
單次折射的原理圖,參見圖1所示。A為物體上表面折射點(diǎn)的位置,Eye為觀察點(diǎn)位置,Normal_A為A點(diǎn)的法線方向,由于光路是可逆的,Refraction為折射光的入射方向。由于單次折射僅計(jì)算一次光的折射(發(fā)生在物體的上表面),所以產(chǎn)生的效果是不精確的,其效果圖參見圖2所示。
雙面折射是指模擬透明物體的正面和背面的兩次折射。但是現(xiàn)有的實(shí)時(shí)圖形折射處理技術(shù)無法實(shí)現(xiàn)雙面折射效果。
發(fā)明內(nèi)容
本發(fā)明提供一種實(shí)現(xiàn)雙面折射效果的方法及裝置,用以解決現(xiàn)有的單次折射處理技術(shù)產(chǎn)生的折射效果不精確的問題。
本發(fā)明方法包括:
從觀察側(cè)獲取物體下表面折射點(diǎn)的模擬位置,并據(jù)此得到物體下表面折射點(diǎn)的模擬法線方向;以及根據(jù)物體下表面折射點(diǎn)的模擬法線方向得到入射光的模擬方向,并據(jù)此實(shí)現(xiàn)雙面折射效果。
進(jìn)一步,所述從觀察側(cè)獲取物體下表面折射點(diǎn)的模擬位置,包括下列步驟:取物體上表面折射點(diǎn)的位置;延折射光方向,從物體上表面折射點(diǎn)向下表面偏移單位向量,并定位該點(diǎn)為C;將觀察點(diǎn)到所述C點(diǎn)的線段延長(zhǎng),該延長(zhǎng)線與下表面的交點(diǎn)為D;取物體上表面折射點(diǎn)到所述D點(diǎn)的向量長(zhǎng)度,并與單位向量相乘;之后再與物體上表面折射點(diǎn)位置求和,得到物體下表面折射點(diǎn)的模擬位置。
又進(jìn)一步,所述單位向量通過折射函數(shù)獲得。
又進(jìn)一步,所述D點(diǎn)位置的獲取包括:以物體的位置為輸出,渲染物體的下表面,得到物體下表面的位置圖P_Map;將C點(diǎn)位置投影到屏幕空間,并對(duì)P_Map進(jìn)行采樣,得到D點(diǎn)的位置。
綜上所述,所述根據(jù)物體下表面折射點(diǎn)的模擬位置得到物體下表面折射點(diǎn)的模擬法線方向包括:以物體的法線為輸出,渲染物體的下表面,得到物體下表面的法線圖N_Map;將物體下表面折射點(diǎn)的模擬位置投影到屏幕空間,并對(duì)N_Map進(jìn)行采樣,得到物體下表面折射點(diǎn)的模擬法線方向。
更進(jìn)一步,根據(jù)物體下表面折射點(diǎn)的模擬法線方向以及單位向量得到入射光的模擬方向,并據(jù)此實(shí)現(xiàn)雙面折射效果。
本發(fā)明的裝置,包括:
B點(diǎn)位置獲取單元,用于從觀察側(cè)獲取物體下表面折射點(diǎn)的模擬位置;
法線方向獲取單元,用于根據(jù)B點(diǎn)位置獲取單元輸入的模擬位置,得出物體下表面折射點(diǎn)的模擬法線方向;
入射光方向獲取單元,用于根據(jù)法線方向獲取單元輸入的法線方向,得出入射光的模擬方向。
其中,所述B點(diǎn)位置獲取單元中包括:
A點(diǎn)位置獲取子單元,用于以觀察側(cè)為準(zhǔn),獲取物體上表面折射點(diǎn)的位置;
C點(diǎn)位置獲取子單元,用于計(jì)算單位向量,并延折射光方向,從物體上表面折射點(diǎn)向下表面偏移單位向量,得到C點(diǎn)的位置;
D點(diǎn)位置獲取子單元,用于獲取觀察點(diǎn)到C點(diǎn)的線段延長(zhǎng)線與下表面的交點(diǎn)D的位置;
向量長(zhǎng)度獲取子單元,用于根據(jù)物體上表面折射點(diǎn)的位置和D點(diǎn)位置得出物體上表面折射點(diǎn)到D點(diǎn)的向量長(zhǎng)度;
計(jì)算子單元,用于將所述向量長(zhǎng)度獲取子單元輸入的向量長(zhǎng)度與單位向量相乘;之后再與物體上表面折射點(diǎn)位置求和。
本發(fā)明有益效果如下:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于騰訊科技(深圳)有限公司,未經(jīng)騰訊科技(深圳)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200610111892.8/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 互動(dòng)業(yè)務(wù)終端、實(shí)現(xiàn)系統(tǒng)及實(shí)現(xiàn)方法
- 街景地圖的實(shí)現(xiàn)方法和實(shí)現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實(shí)現(xiàn)裝置及其圖像實(shí)現(xiàn)方法
- 增強(qiáng)現(xiàn)實(shí)的實(shí)現(xiàn)方法以及實(shí)現(xiàn)裝置
- 軟件架構(gòu)的實(shí)現(xiàn)方法和實(shí)現(xiàn)平臺(tái)
- 數(shù)值預(yù)報(bào)的實(shí)現(xiàn)方法及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 輸入設(shè)備實(shí)現(xiàn)方法及其實(shí)現(xiàn)裝置





