两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

多光源下的全局光照繪制方法及裝置的制造方法

文檔序號:8340278閱讀:549來源:國知局
多光源下的全局光照繪制方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及光照繪制領(lǐng)域,尤其涉及一種多光源下的全局光照繪制方法及裝置。
【背景技術(shù)】
[0002] 全局光照是常用的渲染技術(shù),用于生成軟影、間接折射等光照效果,以加強渲染效 果的真實感?;诖罅奎c光源(Many Point Lights)的方法是生成全局光照效果的技術(shù)之 一,其原理是在場景中生成大量虛擬點光源(Virtual Point Light, VPL),通過分別計算各 視角采樣點(Sample)被這些虛擬點光源照亮的程度,來獲得全局光照效果。Wald等人發(fā)明 了基于大量點光源框架的光割(Lightcuts)方法,根據(jù)虛擬點光源建立層次結(jié)構(gòu)樹并使用 層次結(jié)構(gòu)樹的一個割集代表所有虛擬點光源,以減少運算量和加快運算速度。隨著光割方 法的不斷完善,大量點光源框架在實現(xiàn)全局光照方法中效率較高。但是由于現(xiàn)有的光割技 術(shù)是一種全局方法,需要把所有點光源構(gòu)建起統(tǒng)一的光樹,并在上面進(jìn)行光割的選取。在求 取光割的過程中,每次計算割中節(jié)點的誤差,還需要使用全局的幾何數(shù)據(jù)進(jìn)行求交運算。當(dāng) 進(jìn)行大規(guī)模、高精度的場景繪制時,大量的虛擬點光源及幾何數(shù)據(jù)都有可能超過了內(nèi)存或 者顯存的限制,因而無法應(yīng)用于外存(Out-of-core)復(fù)雜場景的繪制,無法構(gòu)建全局的光 樹,以及進(jìn)行全局求交運算。

【發(fā)明內(nèi)容】

[0003] 摶術(shù)問是頁
[0004] 有鑒于此,本發(fā)明要解決的技術(shù)問題是,如何對包含若干個物體的大規(guī)模的場景 進(jìn)行全局光照繪制。
[0005] 解決方案
[0006] 為了解決上述技術(shù)問題,根據(jù)本發(fā)明的一實施例,第一方面,提供了一種多光源下 的全局光照繪制方法,用于對包含若干個物體的場景進(jìn)行全局光照繪制,所述物體由幾何 面片來描述,所述方法由具有內(nèi)存并耦接至外存的系統(tǒng)來執(zhí)行,所述方法包括:
[0007] 對所述場景中的幾何面片和虛擬點光源分別基于位置信息進(jìn)行處理,得到第一數(shù) 量的幾何塊以及第二數(shù)量的光源塊;
[0008] 以所述場景中的所有采樣點為行坐標(biāo),以所有虛擬點光源為列坐標(biāo)建立光傳遞矩 陣;
[0009] 將所述光傳遞矩陣劃分為所述第二數(shù)量的列,每一列對應(yīng)一個所述光源塊,將所 述光傳遞矩陣劃分為第三數(shù)量的行,每一行與每一列相交構(gòu)成為一個子矩陣,所述第三數(shù) 量為所述采樣點的聚類數(shù)量;
[0010] 將所述子矩陣和幾何塊從所述外存調(diào)入到所述內(nèi)存中,根據(jù)所述虛擬點光源的材 質(zhì)屬性、衰減屬性、可見性以及光強度,計算對應(yīng)子矩陣中的虛擬點光源對采樣點的亮度貢 獻(xiàn)值;
[0011] 將可見性為可見的所述虛擬點光源對采樣點的亮度貢獻(xiàn)值累加到對應(yīng)的采樣點 上,并輸出所述采樣點的總亮度。
[0012] 結(jié)合第一方面,在第一種可能的實現(xiàn)方式中,所述對所述場景中的幾何面片和虛 擬點光源分別基于位置信息進(jìn)行處理,得到第一數(shù)量的幾何塊以及第二數(shù)量的光源塊,包 括:
[0013] 分別計算所述幾何面片的重心和所述虛擬點光源的重心在X軸、y軸和Z軸上的 位置碼,所述幾何面片的重心構(gòu)成所述幾何面片的位置信息,所述虛擬點光源的重心構(gòu)成 所述虛擬點光源的位置信息;
[0014] 根據(jù)所述幾何面片重心的位置碼計算第一莫頓碼,根據(jù)所述虛擬點光源重心的位 置碼計算第二莫頓碼;
[0015] 根據(jù)所述第一莫頓碼對所述幾何面片進(jìn)行排序和劃分,得到第一順序和第一數(shù)量 的幾何塊,根據(jù)所述第二莫頓碼對所述虛擬點光源進(jìn)行排序和劃分,得到第二順序和第二 數(shù)量的光源塊。
[0016] 結(jié)合第一方面,在第二種可能的實現(xiàn)方式中,所述將所述光傳遞矩陣劃分為所述 第二數(shù)量的列,每一列對應(yīng)一個所述光源塊,將所述光傳遞矩陣劃分為第三數(shù)量的行,每一 行與每一列相交構(gòu)成為一個子矩陣之后,還包括:
[0017] 將所述子矩陣中的所有所述虛擬點光源和采樣點的連線包含在第一空間包圍盒 中,每一個子矩陣對應(yīng)一個第一空間包圍盒,
[0018] 其中,所述第一空間包圍盒包括兩個球體及連接所述兩個球體的側(cè)面,一個球體 為包含所述子矩陣中所有采樣點的最小球體,另一個球體為包含所述子矩陣中所有虛擬點 光源的最小球體,通過在所述兩個球體上分別截取過球心并與所述兩個球體的球心連線垂 直的切面,將所得到的兩個切面與所述兩個球體相交的邊分別連接構(gòu)成所述側(cè)面。
[0019] 結(jié)合第一方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述將所 述光傳遞矩陣劃分為所述第二數(shù)量的列,每一列對應(yīng)一個所述光源塊,將所述光傳遞矩陣 劃分為第三數(shù)量的行,每一行與每一列相交構(gòu)成為一個子矩陣之后,還包括:
[0020] 將所述幾何塊的所有幾何面片包含在第二空間包圍盒中,每一個幾何塊對應(yīng)一個 第二空間包圍盒,
[0021] 其中,所述第二空間包圍盒由包含所述幾何塊中所有幾何面片的最小軸對齊長方 體構(gòu)成。
[0022] 結(jié)合第一方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述將所 述子矩陣和幾何塊從所述外存調(diào)入到所述內(nèi)存中之前,還包括:
[0023] 判斷所述第一空間包圍盒的中軸到所述第二空間包圍盒的最短距離是否不大于 所述第一空間包圍盒中較大球體的半徑,是則判斷為對應(yīng)的子矩陣和幾何塊需要進(jìn)行可見 性測試,否則判斷為對應(yīng)的子矩陣和幾何塊不需要進(jìn)行可見性測試,并將所述子矩陣中的 虛擬點光源標(biāo)記為對采樣點可見。
[0024] 結(jié)合第一方面的第四種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述將所 述子矩陣和幾何塊從所述外存調(diào)入到所述內(nèi)存中,根據(jù)所述虛擬點光源的材質(zhì)屬性、衰減 屬性、可見性以及光強度,計算對應(yīng)子矩陣中的虛擬點光源對采樣點的亮度貢獻(xiàn)值,包括:
[0025] 將判斷為需要進(jìn)行可見性測試的子矩陣及幾何塊從所述外存調(diào)入到所述內(nèi)存 中;
[0026] 對調(diào)入的所述子矩陣和幾何塊進(jìn)行可見性測試;
[0027] 根據(jù)所述子矩陣中虛擬點光源的材質(zhì)屬性、衰減屬性、可見性以及光強度,計算所 述子矩陣中可見性為可見的虛擬點光源對采樣點亮度貢獻(xiàn)值,所述可見性為可見的虛擬點 光源包括所述可見性測試的結(jié)果為可見的虛擬點光源以及所述標(biāo)記為可見的虛擬點光源。
[0028] 結(jié)合第一方面的第五種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,所述對調(diào) 入的所述子矩陣和幾何塊進(jìn)行可見性測試,包括:
[0029] 對于所述子矩陣中的每條虛擬點光源和采樣點的連線,分別與所述幾何塊中的幾 何面片進(jìn)行求交運算,如果運算結(jié)果為相交,則判斷為所述虛擬點光源對采樣點不可見;如 果運算結(jié)果為不相交,則判斷為所述虛擬點光源對采樣點可見。
[0030] 結(jié)合第一方面的第五種可能的實現(xiàn)方式,在第七種可能的實現(xiàn)方式中,所述將所 述子矩陣和幾何塊從所述外存調(diào)入到所述內(nèi)存中,包括:
[0031] 根據(jù)所述幾何塊的所述第一順序,將判斷為需要進(jìn)行可見性測試的子矩陣對應(yīng)的 幾何塊從所述外存調(diào)入到所述內(nèi)存中。
[0032] 結(jié)合第一方面的第五種可能的實現(xiàn)方式,在第八種可能的實現(xiàn)方式中,所述將所 述子矩陣和幾何塊從所述外存調(diào)入到所述內(nèi)存中,包括:
[0033] 將所有子矩陣分別與對應(yīng)的需要進(jìn)行可見性測試的幾何塊組合為節(jié)點,以由一個 節(jié)點到另一個節(jié)點需要進(jìn)行的數(shù)據(jù)讀寫量作為連接所述兩個節(jié)點的邊的權(quán)值,將所有節(jié)點 連接構(gòu)成一張圖,計算能夠遍歷所述圖中所有節(jié)點,并且所述遍歷所通過的邊的總權(quán)值最 小的路徑,選擇所述路徑,并根據(jù)所述路徑上各節(jié)點的遍歷順序?qū)?yīng)的子矩陣及幾何塊 從所述外存調(diào)入到所述內(nèi)存中。
[0034] 為了解決上述技術(shù)問題,根據(jù)本發(fā)明的另一實施例,第二方面,提供了一種多光源 下的全局光照繪制裝置,用于對包含若干個物體的場景進(jìn)行全局光照繪制,所述物體由幾 何面片來描述,所述方法由具有內(nèi)存并耦接至外存的系統(tǒng)來執(zhí)行,所述裝置包括:
[0035] 塊處理模塊,用于對所述場景中的幾何面片和虛擬點光源分別基于位置信息進(jìn)行 處理,得到第一數(shù)量的幾何塊以及第二數(shù)量的光源塊;
[0036] 光傳遞矩陣建立模塊,用于以所述場景中的所有采樣點為行坐標(biāo),以所有虛擬點 光源為列坐標(biāo)建立光傳遞矩陣;
[0037] 子矩陣劃分模塊,用于并將所述光傳遞矩陣劃分為所述第二數(shù)量的列,每一列對 應(yīng)一個所述光源塊,將所述光傳遞矩陣劃分為第三數(shù)量的行,每一行與每一列相交構(gòu)成為 一個子矩陣,所述第三數(shù)量為所述采樣點的聚類數(shù)量;
[0038] 亮度貢獻(xiàn)值計算模塊,用于將所述子矩陣和幾何塊從所述外存調(diào)入到所述內(nèi)存 中,根據(jù)所述虛擬點光源的材質(zhì)屬性、衰減屬性、可見性以及光強度,計算對應(yīng)子矩陣中的 虛擬點光源對采樣點的亮度貢獻(xiàn)值;
[0039] 輸出模塊,將可見性為可見的所述虛擬點光源對采樣點的亮度貢獻(xiàn)值累加到對應(yīng) 的采樣點上,并輸出所述采樣點的總亮度。
[0040] 結(jié)合第二方面,在第一種可能的實現(xiàn)方式中,所述塊處理模塊被配置為:
[0041] 分別計算所述幾何面片的重心和所述虛擬點光源的重心在X軸、y軸和Z軸上的 位置碼,所述幾何面片的重心構(gòu)成所述幾何面片的位置信息,所述虛擬點光源的重心構(gòu)成 所述虛擬點光源的位置信息;
[0042] 根據(jù)所述幾何面片重心的位置碼計算第一莫頓碼,根據(jù)所述虛擬點光源重心的位 置碼計算第二莫頓碼;
[0043] 根據(jù)所述第一莫頓碼對所述幾何面片進(jìn)行排序和劃分,得到第一順序和第一數(shù)量 的幾何塊,根據(jù)所述第二莫頓碼對所述虛擬點光源進(jìn)行排序和劃分,得到第二順序和第二 數(shù)量的光源塊。
[0044] 結(jié)合第二方面,在第二種可能的實現(xiàn)方式中,還包括:
[0045] 空間包圍盒建立模塊,用于建立第一空間包圍盒,將所述子矩陣中的所有所述虛 擬點光源和采樣點的連線包含在第一空間包圍盒中,每一個子矩陣對應(yīng)一個第一空間包圍 盒,
[0046] 其中,所述第一空間包圍盒包括兩個球體及連接所述兩個球體的側(cè)面,一個球體 為包含所述子矩陣中所有采樣點的最小球體,另一個球體為包含所述子矩陣中所有虛擬點 光源的最小球體,通過在所述兩個球體上分別截取過球心并與所述兩個球體
當(dāng)前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
达拉特旗| 新昌县| 中宁县| 保德县| 睢宁县| 正镶白旗| 辉县市| 青田县| 海林市| 和林格尔县| 商都县| 拉萨市| 宁陵县| 巴彦县| 项城市| 威信县| 江都市| 阿坝| 临沭县| 旅游| 建宁县| 大竹县| 旅游| 台南市| 黎川县| 江北区| 鄂尔多斯市| 江山市| 龙海市| 虹口区| 大理市| 西畴县| 平度市| 南昌市| 北宁市| 宜黄县| 肃北| 莫力| 巴南区| 彭水| 浑源县|