一種3d渲染場(chǎng)景中模擬線形光源的實(shí)時(shí)調(diào)節(jié)方法
【專(zhuān)利摘要】本發(fā)明涉及一種3D渲染場(chǎng)景中模擬線形光源的實(shí)時(shí)調(diào)節(jié)方法。其中,該計(jì)算方法包括直線光源的計(jì)算和圓弧形曲線光源的計(jì)算,主要模擬現(xiàn)實(shí)中的條形燈的效果。該功能包括:用戶可以通過(guò)調(diào)節(jié)界面對(duì)3D場(chǎng)景中線形光源的渲染效果進(jìn)行即時(shí)調(diào)節(jié);調(diào)節(jié)完成后將調(diào)色參數(shù)保存;下次打開(kāi)該場(chǎng)景時(shí)將保存的調(diào)色參數(shù)應(yīng)用的場(chǎng)景渲染中。本發(fā)明的一個(gè)主要應(yīng)用是模擬吊頂及背景墻上面的條形虛光效果,光線由光源位置向周?chē)饾u淡化。同時(shí),用戶也可以根據(jù)調(diào)節(jié)界面對(duì)光照的效果進(jìn)行調(diào)節(jié),主要包括:光源的顏色和光照的范圍。本方案提高了場(chǎng)景渲染的美觀性和靈活性,增加了用戶對(duì)場(chǎng)景渲染的視覺(jué)體驗(yàn)。
【專(zhuān)利說(shuō)明】一種3D渲染場(chǎng)景中模擬線形光源的實(shí)時(shí)調(diào)節(jié)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)建筑裝修布局,是一種3D渲染場(chǎng)景中模擬線形光源的實(shí)時(shí)調(diào) 節(jié)方法。具體涉及模擬場(chǎng)景渲染中線形光源對(duì)物體的反射效果,及對(duì)該效果即時(shí)調(diào)節(jié)的功 倉(cāng)泛。
【背景技術(shù)】
[0002]計(jì)算機(jī)建筑裝修布局中,某些3D渲染引擎并沒(méi)有內(nèi)置的線形光源對(duì)象,要想渲染 出線形光源對(duì)物體產(chǎn)生的虛光效果,就需要程序去模擬光源,進(jìn)行光照計(jì)算。同時(shí),這種渲 染效果對(duì)于每個(gè)場(chǎng)景或顯示設(shè)備的顯示效果并不相同,如果為此準(zhǔn)備大量模型以備不同場(chǎng) 景的渲染效果進(jìn)行替換,就大大增加了制作成本。所以需要一種可以即時(shí)調(diào)節(jié)渲染效果,并 將調(diào)節(jié)結(jié)果進(jìn)行保存的功能。從而增加場(chǎng)景渲染的靈活性,便捷性,以及給用戶帶來(lái)更好的 用戶體驗(yàn)。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的是提供一種3D渲染場(chǎng)景中模擬線形光源的實(shí)時(shí)調(diào)節(jié)方法,通過(guò)模 擬光源渲染出虛光效果,并提供即時(shí)調(diào)節(jié)功能,以提高場(chǎng)景渲染的靈活性,適應(yīng)不同顯示設(shè) 備及不同用戶對(duì)同一場(chǎng)景的需求。在一定程度也降低了制作模型的成本。
[0004]本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:一種3D渲染場(chǎng)景中模擬線形光源的實(shí)時(shí)調(diào)節(jié) 方法,所述方法包括:在3D場(chǎng)景渲染中虛擬進(jìn)行線形光源效果的計(jì)算,所述計(jì)算包括直線 光源的計(jì)算和圓弧曲線光源的計(jì)算,然后通過(guò)界面對(duì)線形光照效果進(jìn)行調(diào)色調(diào)節(jié),對(duì)于調(diào) 節(jié)過(guò)的調(diào)色參數(shù)存儲(chǔ)在存儲(chǔ)模塊,下次打開(kāi)該場(chǎng)景時(shí),調(diào)出之前的調(diào)色參數(shù)進(jìn)行顯示。
[0005]方案進(jìn)一步是:所述線形光源的調(diào)節(jié)是針對(duì)單個(gè)模型線形光源的調(diào)節(jié),所述調(diào)色 參數(shù)的存儲(chǔ)是以單個(gè)模型線形光源光照參數(shù)進(jìn)行的存儲(chǔ)。
[0006]方案進(jìn)一步是:所述通過(guò)界面對(duì)線形光照效果進(jìn)行調(diào)色調(diào)節(jié)包括:光源顏色調(diào) 節(jié)、光照范圍調(diào)節(jié)。
[0007]方案進(jìn)一步是:所述方法進(jìn)一步包括:線形光源形成的虛光效果加在某個(gè)物體 上,根據(jù)其材質(zhì)名中關(guān)鍵字進(jìn)行判斷物體是否應(yīng)該產(chǎn)生虛光效果,關(guān)鍵字與一個(gè)事先存儲(chǔ) 的關(guān)鍵字表相符合則產(chǎn)生虛光效果,如果不符合不產(chǎn)生虛光效果。
[0008]所述方法進(jìn)一步包括:在完成調(diào)色后,從調(diào)色面板提取相關(guān)調(diào)色參數(shù)保存在本地 的存儲(chǔ)模塊中,并將該調(diào)色參數(shù)應(yīng)用于當(dāng)前場(chǎng)景中的物體上,在對(duì)已調(diào)色物體開(kāi)始重新調(diào) 色前,保存一份原調(diào)色參數(shù)信息,如果放棄本次調(diào)色,則將原調(diào)色參數(shù)還原回來(lái)。
[0009]所述方法進(jìn)一步包括:再次打開(kāi)以前的場(chǎng)景時(shí),首先查詢存儲(chǔ)模塊,將之前有虛光 效果模型的調(diào)色參數(shù)提取出來(lái),并應(yīng)用到本次渲染場(chǎng)景中。
[0010]方案進(jìn)一步是:所述界面中光源顏色調(diào)節(jié)包含3個(gè)滑動(dòng)條,分別代表顏色的R,G, B值,其中每個(gè)滑動(dòng)條的調(diào)節(jié)范圍為(T255。
[0011]方案進(jìn)一步是:所述界面中設(shè)置有光照范圍滑動(dòng)條控制,光照范圍調(diào)節(jié)由光照范圍滑動(dòng)條控制,調(diào)節(jié)范圍為0~100,0-100值表示光照的集中程度,值越大光照范圍越小。
[0012]本發(fā)明的有益效果是:用戶可以根據(jù)調(diào)節(jié)界面對(duì)光照的效果進(jìn)行調(diào)節(jié),提高了場(chǎng)景渲染的美觀性和靈活性,增加了用戶對(duì)場(chǎng)景渲染的視覺(jué)體驗(yàn)。
[0013]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作一詳細(xì)描述。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0014]圖1為調(diào)光方法界面1,右鍵點(diǎn)擊墻面彈出調(diào)光菜單按鈕截圖;
圖2為調(diào)光方法界面2,點(diǎn)擊調(diào)色按鈕后彈出的調(diào)光界面截圖;
圖3為調(diào)光方法界面3,拖動(dòng)各選項(xiàng)滑動(dòng)條進(jìn)行調(diào)光后的渲染顯示效果截圖;
圖4為計(jì)算方式示意圖。
【具體實(shí)施方式】
[0015]一種3D渲染場(chǎng)景中模擬線形光源的實(shí)時(shí)調(diào)節(jié)方法,所述方法包括:在3D場(chǎng)景渲染中虛擬進(jìn)行線形光源效果的計(jì)算,所述計(jì)算包括直線光源的計(jì)算和圓弧曲線光源的計(jì)算,然后通過(guò)界面對(duì)線形光照效果進(jìn)行調(diào)色調(diào)節(jié),對(duì)于調(diào)節(jié)過(guò)的調(diào)色參數(shù)存儲(chǔ)在存儲(chǔ)模塊,下次打開(kāi)該場(chǎng)景時(shí),調(diào)出之前的調(diào)色參數(shù)進(jìn)行顯示。
[0016]實(shí)施例中:所述線形光源的調(diào)節(jié)是針對(duì)單個(gè)模型線形光源的調(diào)節(jié),所述調(diào)色參數(shù)的存儲(chǔ)是以單個(gè)模型線形光源光照參數(shù)進(jìn)行的存儲(chǔ)。
[0017]實(shí)施例中:所述通過(guò)界面對(duì)線形光照效果進(jìn)行調(diào)色調(diào)節(jié)包括:光源顏色調(diào)節(jié)、光照范圍調(diào)節(jié)。`
[0018]實(shí)施例中:所述方法進(jìn)一步包括:線形光源形成的虛光效果加在某個(gè)物體上,根據(jù)其材質(zhì)名中關(guān)鍵字進(jìn)行判斷物體是否應(yīng)該產(chǎn)生虛光效果,關(guān)鍵字與一個(gè)事先存儲(chǔ)的關(guān)鍵字表相符合則產(chǎn)生虛光效果,如果不符合不產(chǎn)生虛光效果。
[0019]所述方法進(jìn)一步包括:在完成調(diào)色后,從調(diào)色面板提取相關(guān)調(diào)色參數(shù)保存在本地的存儲(chǔ)模塊中,并將該調(diào)色參數(shù)應(yīng)用于當(dāng)前場(chǎng)景中的物體上,在對(duì)已調(diào)色物體開(kāi)始重新調(diào)色前,保存一份原調(diào)色參數(shù)信息,如果放棄本次調(diào)色,則將原調(diào)色參數(shù)還原回來(lái)。
[0020]所述方法進(jìn)一步包括:再次打開(kāi)以前的場(chǎng)景時(shí),首先查詢存儲(chǔ)模塊,將之前有虛光效果模型的調(diào)色參數(shù)提取出來(lái),并應(yīng)用到本次渲染場(chǎng)景中。
[0021]實(shí)施例中:所述界面中光源顏色調(diào)節(jié)包含3個(gè)滑動(dòng)條,分別代表顏色的R,G,B值,其中每個(gè)滑動(dòng)條的調(diào)節(jié)范圍為0-255。
[0022]實(shí)施例中:所述界面中設(shè)置有光照范圍滑動(dòng)條控制,光照范圍調(diào)節(jié)由光照范圍滑動(dòng)條控制,調(diào)節(jié)范圍為0~100,0-100值表示光照的集中程度,值越大光照范圍越小。
[0023]實(shí)施例中,所述線形光源效果的計(jì)算是:首先,所有光照計(jì)算都是基于點(diǎn)光源的光照方程來(lái)進(jìn)行,光照方程將光分為3個(gè)部分:環(huán)境光分量、漫反射分量和高光分量。其中環(huán)境光是整個(gè)場(chǎng)景的光照,和具體光源無(wú)關(guān);漫反射分量和物體表面法線與光源方向向量的夾角相關(guān);高光分量和視角方向向量與光源方向向量的夾角相關(guān)。
[0024]同樣在計(jì)算線形光源時(shí),也是基于點(diǎn)光源光照方程進(jìn)行計(jì)算的,只不過(guò)在于計(jì)算某個(gè)頂點(diǎn)的光源方向向量時(shí),選取線形光源上的哪個(gè)點(diǎn)作為計(jì)算基準(zhǔn)。本方案選取頂點(diǎn)到線形光源垂線與線形光源相交的點(diǎn)作為電光源進(jìn)行計(jì)算。暫不考慮該光源點(diǎn)周?chē)墓庠袋c(diǎn)對(duì)頂點(diǎn)的光照影響。
[0025]如圖4所示,線段P1P2表示一個(gè)線形光源,點(diǎn)A和點(diǎn)B分別表示3D空間中相對(duì)線形光源不同位置的點(diǎn)。在計(jì)算A點(diǎn)的光照時(shí),首先通過(guò)3D空間中A點(diǎn)向線段P1P2引垂線,如圖得到點(diǎn)D,D點(diǎn)在線段P1P2內(nèi),所以取D點(diǎn)為點(diǎn)光源位置,通過(guò)光照方程計(jì)算A點(diǎn)的光照。在計(jì)算B點(diǎn)的光照時(shí),通過(guò)B點(diǎn)向線段引垂線,垂點(diǎn)并沒(méi)有在線段之內(nèi),這時(shí)就取3D空間中線段P1P2中離點(diǎn)B最近的Pl點(diǎn)作為點(diǎn)光源位置來(lái)計(jì)算B點(diǎn)的光照。
[0026]在上述方法中用戶可以通過(guò)界面對(duì)線形光照效果進(jìn)行調(diào)節(jié)。對(duì)于用戶調(diào)節(jié)過(guò)的光照參數(shù),系統(tǒng)將其存儲(chǔ)在存儲(chǔ)模塊,下次打開(kāi)該場(chǎng)景時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)出之前的調(diào)色參數(shù)進(jìn)行顯示。其中,所述線形光源包括直線條形光源、圓弧形曲線光源。當(dāng)然由若干條形光源可以組成一個(gè)矩形光源。這種線形光源的光照效果是模擬效果,3D場(chǎng)景中并不一定真正存在該光源。其中,所述線形光源的調(diào)節(jié)是針對(duì)單個(gè)模型的,而不是整個(gè)場(chǎng)景。后面調(diào)色參數(shù)的存儲(chǔ)也是以單個(gè)模型為單位進(jìn)行存儲(chǔ)的。其中,所述用戶通過(guò)界面調(diào)節(jié)光照效果包括:光源顏色調(diào)節(jié)、光照范圍調(diào)節(jié)。其中,所述線形光源形成的虛光效果加在某個(gè)物體上,物體是否應(yīng)該產(chǎn)生虛光效果根據(jù)其材質(zhì)名中某些特殊關(guān)鍵字來(lái)進(jìn)行判斷。其中,所述用戶完成調(diào)色后,系統(tǒng)從調(diào)色面板提取相關(guān)數(shù)據(jù),將其保存在本地的存儲(chǔ)模塊中,并將該調(diào)色參數(shù)應(yīng)用與當(dāng)前場(chǎng)景中的物體上。在開(kāi)始調(diào)色前,系統(tǒng)會(huì)保存一份原始的調(diào)色參數(shù)信息,如果用戶想放棄本次調(diào)色,系統(tǒng)會(huì)將原來(lái)的調(diào)色參數(shù)還原回來(lái)。其中,所述用戶再次打開(kāi)以前的場(chǎng)景時(shí),系統(tǒng)首先查詢存儲(chǔ)模塊,將之前有虛光效果模型的調(diào)色參數(shù)提取出來(lái),并應(yīng)用到本次渲染場(chǎng)景中。其中,所述界面中光源顏色調(diào)節(jié)包含3個(gè)滑動(dòng)條,分別代表顏色的R,G,B值。其中每個(gè)滑動(dòng)條的調(diào)節(jié)范圍為0-255。其中,所述界面中光照范圍調(diào)節(jié)由一個(gè)滑動(dòng)條控制,調(diào)節(jié)范圍為0-100。這個(gè)值表示了光照的集中程度,值越大光照范圍越小。
[0027]下面介紹調(diào)光功能流程:
用戶使用鼠標(biāo)左鍵選中物體,然后右鍵點(diǎn)擊彈出菜單,如圖1所示。不同物體會(huì)根據(jù)其類(lèi)別彈出不同的菜單,個(gè)別物體有可能會(huì)`不支持調(diào)光功能,所以,彈出的菜單里有可能會(huì)不包含調(diào)光這一選項(xiàng)。
[0028]點(diǎn)擊已有的調(diào)光按鈕,會(huì)彈出所選中物體的調(diào)光界面。界面中包含若干功能選項(xiàng),如圖1和圖2所示。如果用戶之前對(duì)選中物體沒(méi)進(jìn)行過(guò)調(diào)色操作,則系統(tǒng)會(huì)賦給該物體一個(gè)默認(rèn)調(diào)色參數(shù);如果用戶之前對(duì)其進(jìn)行過(guò)調(diào)整,則系統(tǒng)會(huì)自動(dòng)抓取以前調(diào)整過(guò)的參數(shù)顯示在用戶界面中。圖2即為默認(rèn)調(diào)色參數(shù)。
[0029]之后用戶可以根據(jù)自己的需求,拖動(dòng)滑動(dòng)條進(jìn)行調(diào)整,當(dāng)覺(jué)得效果適當(dāng)時(shí)點(diǎn)擊確定按鈕保存調(diào)色參數(shù),圖3為調(diào)整后的顯示效果。
【權(quán)利要求】
1.一種3D渲染場(chǎng)景中模擬線形光源的實(shí)時(shí)調(diào)節(jié)方法,其特征在于,所述方法包括:在 3D場(chǎng)景渲染中虛擬進(jìn)行線形光源效果的計(jì)算,所述計(jì)算包括直線光源的計(jì)算和圓弧曲線光 源的計(jì)算,然后通過(guò)界面對(duì)線形光照效果進(jìn)行調(diào)色調(diào)節(jié),對(duì)于調(diào)節(jié)過(guò)的調(diào)色參數(shù)存儲(chǔ)在存 儲(chǔ)模塊,下次打開(kāi)該場(chǎng)景時(shí),調(diào)出之前的調(diào)色參數(shù)進(jìn)行顯示。
2.根據(jù)權(quán)利要求1所述的一種3D渲染場(chǎng)景中模擬線形光源的實(shí)時(shí)調(diào)節(jié)方法,其特征在 于:所述線形光源的調(diào)節(jié)是針對(duì)單個(gè)模型線形光源的調(diào)節(jié),所述調(diào)色參數(shù)的存儲(chǔ)是以單個(gè) 模型線形光源光照參數(shù)進(jìn)行的存儲(chǔ)。
3.根據(jù)權(quán)利要求1所述的一種3D渲染場(chǎng)景中模擬線形光源的實(shí)時(shí)調(diào)節(jié)方法,其特征在 于:所述通過(guò)界面對(duì)線形光照效果進(jìn)行調(diào)色調(diào)節(jié)包括:光源顏色調(diào)節(jié)、光照范圍調(diào)節(jié)。
4.根據(jù)權(quán)利要求1所述的一種3D渲染場(chǎng)景中模擬線形光源的實(shí)時(shí)調(diào)節(jié)方法,其特征在 于:所述方法進(jìn)一步包括:線形光源形成的虛光效果加在某個(gè)物體上,根據(jù)其材質(zhì)名中關(guān) 鍵字進(jìn)行判斷物體是否應(yīng)該產(chǎn)生虛光效果,關(guān)鍵字與一個(gè)事先存儲(chǔ)的關(guān)鍵字表相符合則產(chǎn) 生虛光效果,如果不符合不產(chǎn)生虛光效果。
5.根據(jù)權(quán)利要求1所述的一種3D渲染場(chǎng)景中模擬線形光源的實(shí)時(shí)調(diào)節(jié)方法,其特征在 于:所述方法進(jìn)一步包括,在完成調(diào)色后,從調(diào)色面板提取相關(guān)調(diào)色參數(shù)保存在本地的存儲(chǔ) 模塊中,并將該調(diào)色參數(shù)應(yīng)用于當(dāng)前場(chǎng)景中的物體上,在對(duì)已調(diào)色物體開(kāi)始重新調(diào)色前,保 存一份原調(diào)色參數(shù)信息,如果放棄本次調(diào)色,則將原調(diào)色參數(shù)還原回來(lái)。
6.根據(jù)權(quán)利要求5所述的一種3D渲染場(chǎng)景中模擬線形光源的實(shí)時(shí)調(diào)節(jié)方法,其特征在 于:所述方法進(jìn)一步包括:再次打開(kāi)以前的場(chǎng)景時(shí),首先查詢存儲(chǔ)模塊,將之前有虛光效果 模型的調(diào)色參數(shù)提取出來(lái),并應(yīng)用到本次渲染場(chǎng)景中。
7.根據(jù)權(quán)利要求1所述的一種3D渲染場(chǎng)景中模擬線形光源的實(shí)時(shí)調(diào)節(jié)方法,其特征在 于:所述界面中光源顏色調(diào)節(jié)包含3個(gè)滑動(dòng)條,分別代表顏色的R,G,B值,其中每個(gè)滑動(dòng)條 的調(diào)節(jié)范圍為0?255。
8.根據(jù)權(quán)利要求7所述的一種3D渲染場(chǎng)景中模擬線形光源的實(shí)時(shí)調(diào)節(jié)方法,其特征在 于:所述界面中設(shè)置有光照范圍滑動(dòng)條控制,光照范圍調(diào)節(jié)由光照范圍滑動(dòng)條控制,調(diào)節(jié)范 圍為0?100,(Tl00值表示光照的集中程度,值越大光照范圍越小。
【文檔編號(hào)】G06T15/50GK103500464SQ201310399465
【公開(kāi)日】2014年1月8日 申請(qǐng)日期:2013年9月5日 優(yōu)先權(quán)日:2013年9月5日
【發(fā)明者】王博, 姚勁 申請(qǐng)人:北京爾宜居科技有限責(zé)任公司