[發明專利]光源可見性復用范圍的自適應3D場景繪制方法有效
| 申請號: | 201711103516.9 | 申請日: | 2017-11-10 |
| 公開(公告)號: | CN107909639B | 公開(公告)日: | 2021-02-19 |
| 發明(設計)人: | 陳純毅;楊華民;蔣振剛;李華 | 申請(專利權)人: | 長春理工大學 |
| 主分類號: | G06T15/06 | 分類號: | G06T15/06;G06T15/50 |
| 代理公司: | 吉林長春新紀元專利代理有限責任公司 22100 | 代理人: | 王薇 |
| 地址: | 130022 *** | 國省代碼: | 吉林;22 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 光源 可見 性復用 范圍 自適應 場景 繪制 方法 | ||
1.根據位置自適應控制光源可見性復用范圍的3D場景繪制方法,其特征在于:把虛擬相機放在視點位置,按照相機觀察參數,利用光線投射技術繪制3D場景;對于每條從視點出發穿過虛擬像素平面上的像素的光線A001,光線A001和虛擬像素平面上的像素一一對應,判斷光線A001與3D場景的幾何對象是否相交,如果相交則進一步計算光線A001與3D場景的幾何對象的離視點最近的交點A002,交點A002為一個可視場景點,同時在面光源上隨機產生NUM個服從均勻分布的光源采樣點A003,記錄這NUM個光源采樣點A003的空間位置,并計算每個光源采樣點A003與交點A002之間的可見性VIS;對于每個交點A002,通過復用交點A002的在一個特定區域內的鄰近可視場景點的面光源采樣點及可見性計算結果來加速計算面光源對交點A002的近似直接光照值;具體實現步驟如下:
提供一種數據結構LSPD,用于存儲與面光源采樣點相關的數據;數據結構LSPD包括光源采樣點的空間位置和光源采樣點的可見性共兩個成員變量;
1)實現對面光源的采樣,以及計算面光源采樣點與可視場景點之間的可見性,具體步驟如下:
步驟Step101:把虛擬相機放在視點位置,按照相機觀察參數,利用光線投射技術繪制3D場景;對于每條從視點出發穿過虛擬像素平面上的像素的光線A001,光線A001與虛擬像素平面上的像素一一對應,判斷光線A001與3D場景的幾何對象是否相交,如果相交則進一步計算光線A001與3D場景的幾何對象的離視點最近的交點A002,交點A002為一個可視場景點,可視場景點對應了虛擬像素平面上的一個唯一的像素;
步驟Step102:創建一個包含M行、N列元素的數組LS,M為虛擬像素平面上的像素行數,N為虛擬像素平面上的像素列數;數組LS的每個元素存儲一個列表A004,列表A004的每個元素存儲一個數據結構LSPD類型的變量;令數組LS的每個元素存儲的列表A004為空;數組LS的每個元素和虛擬像素平面上的像素一一對應;
步驟Step103:對于每個可視場景點EV,執行如下操作:
在面光源上隨機產生NUM個服從均勻分布的光源采樣點A003;在計算機存儲器中創建NUM個數據結構LSPD類型的變量,其與NUM個光源采樣點A003一一對應;把每個光源采樣點A003的空間位置賦值給與之對應的數據結構LSPD類型的變量的光源采樣點的空間位置成員變量;對于每個光源采樣點A003,判斷從光源采樣點A003的空間位置到可視場景點EV的線段是否與3D場景的幾何對象相交,如果相交,則令與光源采樣點A003對應的數據結構LSPD類型的變量的光源采樣點的可見性成員變量的值為0,否則令與光源采樣點A003對應的數據結構LSPD類型的變量的光源采樣點的可見性成員變量的值為1;把NUM個光源采樣點A003對應的NUM個數據結構LSPD類型的變量添加到可視場景點EV對應的虛擬像素平面上的像素對應的數組LS的元素存儲的列表A004中;
2)對每個可視場景點的近似直接光照值計算,并繪制出3D場景的直接光照效果,具體步驟如下:
步驟Step201:創建一個包含M行、N列元素的數組ILU,M為虛擬像素平面上的像素行數,N為虛擬像素平面上的像素列數;數組ILU的每個元素與虛擬像素平面上的像素一一對應,數組ILU的每個元素用于保存虛擬像素平面上的像素對應的可視場景點的直接光照值;令數組ILU的每個元素的值為背景色對應的光照值;把步驟Step101中得到的所有可視場景點放到一個列表B001中,列表B001中的每個元素都存儲一個可視場景點,列表B001的元素個數等于步驟Step101中得到的所有可視場景點的個數;
步驟Step202:對于每個可視場景點EV,執行如下操作:
步驟Step202-1:令PA0代表可視場景點EV;令α1代表從面光源中心點指向PA0的向量;創建一個列表LREUSE,列表LREUSE的每個元素存儲一個與PA0鄰近的適合參與光源可見性復用的可視場景點;令列表LREUSE為空;
步驟Step202-2:對于列表B001中的每個元素B002,執行如下操作:
令α2代表從面光源中心點指向元素B002存儲的可視場景點的向量;如果(α1·α2)/(|α1|·|α2|)大于Ta,則把元素B002存儲的可視場景點添加到列表LREUSE中;|α1|表示向量α1的模,|α2|表示向量α2的模,Ta表示參考面光源中心點的方向差異閾值;
步驟Step202-3:創建一個列表LRULS,用于存儲數據結構LSPD類型的變量;令列表LRULS為空;
步驟Step202-4:對列表LREUSE中的每個元素B003,執行如下操作:
令LA1代表元素B003存儲的可視場景點對應的虛擬像素平面上的像素對應的數組LS的元素存儲的列表A004;令PA1代表元素B003存儲的可視場景點;對于LA1中存儲的每個數據結構LSPD類型的變量B004,執行如下操作:
令β1代表從變量B004的光源采樣點的空間位置成員變量所表示的空間位置指向PA0的向量;令β2代表從變量B004的光源采樣點的空間位置成員變量所表示的空間位置指向PA1的向量;令n1代表PA0所在位置的歸一化幾何對象表面法向量;n2代表PA1所在位置的歸一化幾何對象表面法向量;如果(β1·β2)/(|β1|·|β2|)大于Tb且PA0到PA1的距離小于Td且(n1·n2)大于Tn,則把變量B004添加到列表LRULS中;|β1|表示向量β1的模,|β2|表示向量β2的模;Tb表示參考光源采樣點的方向差異閾值,Td表示距離差異閾值,Tn表示法向量差異閾值;
步驟Step202-5:令nsi為列表LRULS中存儲的數據結構LSPD類型的變量個數;如果nsi≥Nst,則轉步驟Step202-6,否則按均勻分布在面光源上隨機產生Nst-nsi個光源采樣點C001,在計算機存儲器中創建Nst-nsi個數據結構LSPD類型的變量,其與Nst-nsi個光源采樣點C001一一對應,把每個光源采樣點C001的空間位置賦值給與之對應的數據結構LSPD類型的變量的光源采樣點的空間位置成員變量;對于每個光源采樣點C001,判斷從光源采樣點C001的空間位置到PA0的線段是否與3D場景的幾何對象相交,如果相交,則令與光源采樣點C001對應的數據結構LSPD類型的變量的光源采樣點的可見性成員變量為0,否則令與光源采樣點C001對應的數據結構LSPD類型的變量的光源采樣點的可見性成員變量為1;把Nst-nsi個光源采樣點C001對應的Nst-nsi個數據結構LSPD類型的變量添加到列表LRULS中;Nst表示估計可視場景點的近似直接光照值所需的最少光源采樣點數;
步驟Step202-6:根據列表LRULS中存儲的所有數據結構LSPD類型的變量的光源采樣點的空間位置成員變量的值來確定PA0的蒙特卡羅直接光照值估計所需的光源采樣點,用列表LRULS中存儲的所有數據結構LSPD類型的變量的光源采樣點的可見性成員變量的值作為對應的光源采樣點對PA0的可見性近似值,并使用蒙特卡羅直接光照值估計技術來計算PA0的直接光照近似值C002;
步驟Step202-7:計算PA0對應的虛擬像素平面上的像素在虛擬像素平面上的行號irow和列號jcol;把數組ILU的第irow行、第jcol列的元素賦值為直接光照近似值C002;
步驟Step203:把數組ILU的每個元素保存的直接光照值轉換成3D場景畫面圖像像素顏色值,并把3D場景畫面圖像顯示在顯示器上。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于長春理工大學,未經長春理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711103516.9/1.html,轉載請聲明來源鉆瓜專利網。





