[發明專利]三維場景中由透明幾何對象產生的面焦散效果的近似繪制方法有效
| 申請號: | 201510425208.2 | 申請日: | 2015-07-14 |
| 公開(公告)號: | CN105096371B | 公開(公告)日: | 2017-08-22 |
| 發明(設計)人: | 陳純毅;楊華民;李華;蔣振剛;曲福恒;李巖芳 | 申請(專利權)人: | 長春理工大學 |
| 主分類號: | G06T15/06 | 分類號: | G06T15/06 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 130022 *** | 國省代碼: | 吉林;22 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 三維 場景 透明 幾何 對象 產生 面焦散 效果 近似 繪制 方法 | ||
1.三維場景中由透明幾何對象產生的面焦散效果的近似繪制方法,其特征在于,技術解決方案和所需的實現步驟如下:
本方法涉及一種數據結構PHOTON,數據結構PHOTON包括位置P0、法向量nv、入射向量Vi、亮度Φi共四個成員變量;本方法涉及一種數據結構SPOINT,數據結構SPOINT包括位置P0、法向量nv、漫反射系數kd共三個成員變量;本方法的技術解決方案:將三維場景中的所有幾何對象分為透明幾何對象和非透明幾何對象;透明幾何對象就是光可以透過的幾何對象,非透明幾何對象就是光完全不能透過的幾何對象;將所有透明幾何對象用一個場景圖SGT來進行組織,將所有非透明幾何對象用一個場景圖SGF來進行組織;將場景圖SGT和場景圖SGF都保存在計算機系統的內存中;在計算機系統中執行如下操作:
Step001:設置列表LPHOTON為空;根據點光源PS的光照發射強度的空間角度分布,對點光源的光照發射方向進行重要性采樣,得到N個采樣方向,每個采樣方向對應一條從點光源PS發射的光線,從而得到N條從點光源PS發射的光線,對其中的每條光線A001,做如下操作:
Step001-1:判斷光線A001是否與場景圖SGT中的幾何對象相交,如果不相交則轉步驟Step001-9;
Step001-2:計算光線A001與場景圖SGT中的幾何對象的離點光源PS最近的交點A002;
Step001-3:判斷光線A001是否與場景圖SGF中的幾何對象相交,如果不相交則轉步驟Step001-6;
Step001-4:計算光線A001與場景圖SGF中的幾何對象的離點光源PS最近的交點A003;
Step001-5:如果交點A002到點光源PS的距離大于交點A003到點光源PS的距離,則轉步驟Step001-9;
Step001-6:基于光線跟蹤原理,對光線A001在由場景圖SGT和場景圖SGF中的所有幾何對象組成的三維場景中的傳播過程進行跟蹤,依次計算光線A001對應的傳播路徑與三維場景中的幾何對象的交點A004,只要發現交點A004所在的幾何對象的表面的材質為非透明材質,就立即停止光線跟蹤計算,并轉步驟Step001-7;如果對光線A001對應的傳播路徑跟蹤完畢后,未發現所在表面的材質為非透明材質的交點,則轉步驟Step001-9;
Step001-7:如果交點A004所在的幾何對象的表面為非漫反射材質,則轉步驟Step001-9;
Step001-8:在計算機系統的內存中創建一個數據結構PHOTON類型的變量A005;把變量A005的位置P0成員變量賦值為交點A004所在的位置;把變量A005的法向量nv成員變量賦值為交點A004所在的位置的表面法向量;把變量A005的入射向量Vi成員變量賦值為光線A001對應的傳播路徑在交點A004處的單位化后的入射方向向量;根據點光源PS的光照發射功率及光照發射空間角度范圍,計算點光源PS發射的光照經光線A001對應的傳播路徑傳輸后,入射到交點A004所在的位置的光亮度A006,把變量A005的亮度Φi成員變量賦值為光亮度A006;把變量A005加入到列表LPHOTON中;
Step001-9:針對光線A001的操作結束;
Step002:創建一個Nr行、Nc列的二維數組Arr,用于存放數據結構SPOINT類型的變量,Nr是虛擬相機的總像素行數,Nc是虛擬相機的總像素列數,數組Arr的元素與虛擬相機的像素一一對應;創建一個Nr行、Nc列的二維數組IMAG,用于存放虛擬相機的每個像素對應的入射光亮度值,Nr是虛擬相機的總像素行數,Nc是虛擬相機的總像素列數,數組IMAG的元素與虛擬相機的像素一一對應;把場景圖SGT和場景圖SGF合并為一個場景圖SGA;在計算機系統中,利用光線跟蹤技術繪制由場景圖SGA中的所有幾何對象組成的三維場景A007,得到虛擬相機的每個像素A008對應的入射光亮度值Lrt,將每個像素A008對應的數組IMAG的元素賦值為光亮度值Lrt;在光線跟蹤過程中,對每條相機光線A009,即從虛擬相機位置出發穿過像素A008的中心位置的光線,除光線跟蹤操作外,額外做如下操作:
Step002-1:如果光線A009與三維場景A007中的幾何對象不相交,則轉步驟Step002-3;
Step002-2:計算光線A009與三維場景A007中的幾何對象的離虛擬相機位置最近的交點A010;創建一個數據結構SPOINT類型的變量A011;將變量A011的位置P0成員變量賦值為交點A010所在的位置,將變量A011的法向量nv成員變量賦值為交點A010所在的位置的表面法向量;如果交點A010所在的位置對應的表面為漫反射材質,則將該表面的漫反射系數賦值給變量A011的漫反射系數kd成員變量,否則將變量A011的漫反射系數kd成員變量賦值為-1;將光線A009對應的像素A008對應的數組Arr的元素賦值為變量A011的值;轉步驟Step002-4;
Step002-3:創建一個數據結構SPOINT類型的變量A012,將變量A012的位置P0成員變量賦值為位置(0,0,0),將變量A012的法向量nv成員變量賦值為向量(1,0,0),將變量A012的漫反射系數kd成員變量賦值為-1;將光線A009對應的像素A008對應的數組Arr的元素賦值為變量A012的值;
Step002-4:針對光線A009的操作結束;
Step003:對列表LPHOTON中的每個數據結構PHOTON類型的變量B001,做如下操作:
Step003-1:以變量B001的位置P0成員變量表示的位置為球心,確定一個半徑為R的球B002;判斷數組Arr中是否存在滿足如下條件的元素B003:
條件COND1:元素B003對應的數據結構SPOINT類型的變量的漫反射系數kd成員變量的值不等于-1,且元素B003對應的數據結構SPOINT類型的變量的位置P0成員變量表示的位置處于球B002內;
如果數組Arr中不存在滿足條件COND1的元素,轉步驟Step003-2,否則對數組Arr中滿足條件COND1的每個元素B005,做如下操作:
①令D等于從元素B005對應的數據結構SPOINT類型的變量的位置P0成員變量表示的位置到變量B001的位置P0成員變量表示的位置的距離;如果R等于0,則令t=2,否則令t=D/R;
令
令Φp等于變量B001的亮度Φi成員變量的值;令ωi等于變量B001的入射向量Vi成員變量的值;令np等于元素B005對應的數據結構SPOINT類型的變量的法向量nv成員變量的值;令ωo為從元素B005對應的數據結構SPOINT類型的變量的位置P0成員變量表示的位置指向虛擬相機位置的單位向量;令ρ等于元素B005對應的數據結構SPOINT類型的變量的漫反射系數kd成員變量的值;根據漫反射定律計算從ωi表示的方向入射的、亮度為Φp的光經漫反射系數為ρ的漫反射表面反射后,沿ωo表示的方向入射到虛擬相機中的光亮度Lc;令LW等于光亮度Lc與Cκ之乘積;
②把元素B005對應的虛擬相機像素對應的數組IMAG的元素賦值為元素B005對應的虛擬相機像素對應的數組IMAG的元素的值與LW之和;
③針對元素B005的操作結束;
Step003-2:針對變量B001的操作結束;
Step004:把數組IMAG中保存的光亮度值轉換成虛擬相機像素的顏色值,并以圖像文件的形式輸出到計算機系統的磁盤中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于長春理工大學,未經長春理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510425208.2/1.html,轉載請聲明來源鉆瓜專利網。





