柳喆俊
摘 要:大多數(shù)影像設(shè)備與3D API都是基于平面影像設(shè)計(jì)的,因此,一般而言實(shí)時(shí)渲染圖像并不能直接運(yùn)用于球幕顯示,必須通過稱為“幾何校正”(Geometric Correction)的運(yùn)算才能產(chǎn)生正確的最終結(jié)果。目前主流的幾何校正方法或者依賴昂貴的硬件設(shè)備完成,或者需要通過復(fù)雜的算法實(shí)現(xiàn),對于缺少程序設(shè)計(jì)背景的創(chuàng)作者來說無法自由掌控。文章介紹了一種利用3D API中成熟的紋理渲染(RTT)與紋理映射(Texture Mapping)技術(shù)生成球幕圖像的方法,不涉及任何C++或HLSL編程,在任何支持RTT的三維引擎上均可實(shí)現(xiàn)。
關(guān)鍵詞:實(shí)時(shí)紋理渲染 紋理映射 球幕 虛擬現(xiàn)實(shí) 交互藝術(shù)
一、研究背景
如何在球幕上根據(jù)需求產(chǎn)生無變形的圖像已經(jīng)有了成熟的解決方案。但根據(jù)作者的調(diào)研,其中絕大部分解決方案所針對的都是預(yù)渲染電影而非實(shí)時(shí)圖像。即使有少量針對實(shí)時(shí)圖像的解決方案通常也需要?jiǎng)?chuàng)作者具有豐富的編程經(jīng)驗(yàn)才能將之與常用的實(shí)時(shí)三維引擎嫁接起來,而這對于許多非程序員背景的虛擬現(xiàn)實(shí)創(chuàng)作者或交互藝術(shù)家來說顯然是難度過高了。因此,本文將介紹一種簡單、通用,并且運(yùn)行效率令人滿意的方法生成實(shí)時(shí)球幕三維影像,以幫助不具備編程經(jīng)驗(yàn)的創(chuàng)作者更方便、更自由地創(chuàng)作球幕互動作品。
二、研究案例
(一)案例概述
為了便于陳述,本文將以筆者創(chuàng)作的球幕互動作品《入侵》為原型進(jìn)行分析(圖1)?!度肭帧肥且豢罨友b置作品,利用投影機(jī)在懸掛于半空的球幕上投射出一派生機(jī)盎然的自然美景。當(dāng)觀眾進(jìn)入球幕下方以后,其運(yùn)動會被球幕頂部的傳感器捕獲,并被“解讀”為人類對于自然的入侵。觀眾人數(shù)越多,動作越劇烈,對于自然的破壞就越嚴(yán)重:環(huán)境的惡化會實(shí)時(shí)地反應(yīng)在球幕影像之上。自然資源日益枯竭便會引發(fā)戰(zhàn)爭,如果觀眾不及時(shí)停止運(yùn)動(意即停止對于自然的“破壞”),最終將會導(dǎo)致“核子末日”的來臨。
(二)硬件系統(tǒng)
球幕:直徑為3.5米,圓心角為180°,是一個(gè)標(biāo)準(zhǔn)的半球體。本文所介紹的方法適用但不僅適用于180°的半球體,也可以用小于180°的球冠甚至是非標(biāo)準(zhǔn)的橢球體。
投影機(jī):工程投影機(jī),分辨率為1024x768,亮度為4500流明。投影機(jī)鏡頭采用了視場角為180°的數(shù)字魚眼鏡頭。
(三)軟件工具
三維動畫軟件:筆者選用的是3ds Max這款三維動畫軟件。事實(shí)上你可以選擇包括Maya、Softimage在內(nèi)的任何一款主流三維軟件,只要確保渲染器支持自定義相機(jī)鏡頭即可。
三維引擎:筆者選用的是Quest3D這款三維引擎,同樣,你可以選擇Unity 3D、Torque 3D等各種不同的三維引擎,只需確保它支持RTT(Render To Texture)功能即可。
三、實(shí)時(shí)球幕圖像生成方法
(一)問題分析與解決思路
要生成實(shí)時(shí)球幕圖像,至少需要解決以下三方面的問題:第一、獲得實(shí)時(shí)三維渲染結(jié)果;第二、對三維渲染結(jié)果進(jìn)行幾何校正;第三,將經(jīng)過幾何校正的圖像投影至球幕,并得到與預(yù)期一致的最終畫面。
先分析第三個(gè)問題。假設(shè)球幕球心角與鏡頭視場角均為180°,且鏡頭光學(xué)中心處于球心的位置,那么根據(jù)魚眼鏡頭的光學(xué)特性可以知道,對于一幅4:3的圖像而言最終將被映射到球幕上的部分是其中央的內(nèi)切正圓形區(qū)域。在這個(gè)正圓形區(qū)域內(nèi),與圓周平行的同心圓將會成為球幕上的緯線,而從圓心引向圓周的半徑則會成為球幕上的經(jīng)線,這是數(shù)字魚眼鏡頭成像的基本特點(diǎn)。
然后,我們分析一下前兩個(gè)問題,如何利用三維引擎產(chǎn)生合適球幕投影的圖像。Mental Ray這樣的渲染器大都支持針對球幕設(shè)計(jì)的鏡頭著色器(Lens Shader),這類著色器利用光線跟蹤算法可以產(chǎn)生直接能夠用于數(shù)字魚眼鏡頭的圖像。但包括Direct3D、OpenGL在內(nèi)的實(shí)時(shí)3D API中均只支持標(biāo)準(zhǔn)攝像機(jī),也就是說它們嚴(yán)格遵循理想化針孔相機(jī)的成像規(guī)律,所以,三維引擎中不可能僅通過一個(gè)攝像機(jī)來實(shí)現(xiàn)球幕圖像的輸出??尚械霓k法是擺放多個(gè)攝像機(jī)將完整的場景記錄為多幅平面圖像,然后通過拼接與幾何校正生成一幅完整的、可用于球幕投影的圖像。
我們總共需要5臺攝像機(jī)并根據(jù)圖2所示的方式進(jìn)行擺放,獲得分別表示前、后、左、右、頂?shù)匿秩井嬅妗@硐肭闆r下,在使用光學(xué)特征相同的魚眼鏡頭時(shí),通過鏡頭投影和通過鏡頭拍攝是一個(gè)可以互逆的過程,也就是說通過魚眼鏡頭拍攝的圖像可以通過相同規(guī)格的魚眼鏡頭還原?,F(xiàn)已確定最終將采用視場角為180°的魚眼鏡頭進(jìn)行投影,那么假如采用同樣為180°的魚眼鏡頭拍攝,結(jié)果獲得的圖像應(yīng)該可以直接在球幕上正確還原。
除了這個(gè)結(jié)論以外,還有另外一個(gè)結(jié)論也至關(guān)重要,它可由Cubemap的原理推導(dǎo)得出:如果將Cubemap按照正確的角度賦予給一個(gè)法線指向內(nèi)部的正方體,當(dāng)攝像機(jī)位于該正方體中央時(shí),攝像機(jī)拍攝Cubemap所獲結(jié)果與拍攝Cubemap對應(yīng)環(huán)境所獲的結(jié)果完全一致。
將以上兩個(gè)結(jié)論(第一,投影與拍攝過程可互逆;第二,Cubemap可以取代三維場景)結(jié)合起來,可以得出:以180°魚眼鏡頭拍攝的真實(shí)場景與(以其為中心的)Cubemap完全一致,并且所獲圖像可以直接用于球幕投影。最終這個(gè)結(jié)論建立起了Cubemap與投影圖像之間的對應(yīng)關(guān)系,這就意味著可以利用紋理映射的方法來重構(gòu)Cubemap表面與投影圖象表面每一個(gè)點(diǎn)之間的對應(yīng)關(guān)系,并在此基礎(chǔ)上將5個(gè)獨(dú)立畫面拼合、校正為可用于球幕投影的單一畫面。
(二)具體實(shí)現(xiàn)步驟
1.步驟一:設(shè)置RTT攝像機(jī)
進(jìn)入三維引擎,在場景中選取任一坐標(biāo)位置作為代表觀眾視點(diǎn)的觀測點(diǎn),在這一位置重合擺放5個(gè)攝像機(jī),并將它們的旋轉(zhuǎn)角度分別設(shè)為(0,0,0)、(π/2,0,0)、(π,0,0)、(3π/2,0,0)、(3π/2, π/2,0)。此外,為了保證每個(gè)相機(jī)的視野(FOV)恰能相交,應(yīng)將其投影矩陣設(shè)為:endprint
然后,為這5個(gè)攝像機(jī)分別設(shè)立5個(gè)Render Target,如此便能將實(shí)時(shí)地將其渲染結(jié)果記錄為5張貼圖。
2.步驟二:制作校正模型
根據(jù)上節(jié)的思路,只要能夠推算出魚眼鏡頭所拍攝的畫面中Cubemap立方體表面每一點(diǎn)的位置,就能以此為依據(jù)生成校正模型。顯然,我們可以利用數(shù)學(xué)公式推導(dǎo)出頂點(diǎn)位置并通過編寫腳本自動生成校正模型,但為了避免復(fù)雜的編程工作,本文將另辟蹊徑采用一種更簡單的方法來實(shí)現(xiàn):在三維軟件中利用球幕魚眼鏡頭渲染立方體表面的網(wǎng)格結(jié)構(gòu),并且根據(jù)渲染結(jié)果重置頂點(diǎn)位置,這樣做同樣能夠達(dá)到目的。
首先,應(yīng)在三維軟件中建立5個(gè)正方形平面,并將之?dāng)[放成立方體的前、后、左、右、頂5個(gè)表面。這5個(gè)正方形平面的縱、橫細(xì)分?jǐn)?shù)量將決定最終幾何校正的精確度,細(xì)分越多則校正結(jié)果越精確,但是手工擺放頂點(diǎn)的工作量也會增加。
然后,在立方體中央位置擺放攝像機(jī),并使鏡頭指向正上方。由于投影使用的球幕只是半球體,所以應(yīng)將前、后、左、右4個(gè)平面位于鏡頭以下的部分刪除。(圖3)
接下去,將5個(gè)平面的材質(zhì)設(shè)為線框模式,并選擇180°的球幕魚眼鏡頭進(jìn)行渲染,這樣便能得到如圖4所示的結(jié)果。
可以看到,渲染結(jié)果明確反映了立方體與投影圖像之間的一一對應(yīng)關(guān)系,只需以此渲染結(jié)果為依據(jù)(可將之設(shè)為視窗背景)編輯三維空間中的構(gòu)成半立方體各個(gè)表面的頂點(diǎn),使所有頂點(diǎn)與參考圖中相應(yīng)的頂點(diǎn)位置相重合,這樣形成的圓形三維模型就是我們所需要的校正模型。
3.步驟三:完成紋理映射實(shí)現(xiàn)球幕圖像輸出
最后,將步驟二獲得的校正模型導(dǎo)入引擎,然后將步驟一中生成的5張貼圖按照正確的順序賦予給校正模型的五個(gè)部分,便能產(chǎn)生如圖5所示可以用于球幕投影的實(shí)時(shí)圖像。
四、本文方法的優(yōu)勢與局限性
本文所介紹的實(shí)時(shí)球幕圖像生成方法,其優(yōu)勢與局限性都非常明顯。這種方法的優(yōu)勢在于:
首先,它具有很高的普適性。本文所介紹的方法中,除了RTT以外其余使用的都是每一款三維引擎必須具備的基本功能,而時(shí)至今日RTT在三維引擎中也極為常見,所以本文所介紹的方法具有很高的普適性,幾乎可以在任何平臺上運(yùn)用。
其次,這種方法的執(zhí)行效率令人滿意。由于紋理映射是最基本的三維渲染功能,所有的顯卡、三維引擎都對其提供了最底層、最優(yōu)化的支持,所以紋理映射所耗費(fèi)的運(yùn)算資源幾乎可以忽略不計(jì),所以其執(zhí)行效率相當(dāng)令人滿意的。
最后,這種方法所提供的思路具有良好的擴(kuò)展性?;诒疚乃榻B的紋理映射的思路,我們不僅可以生成用于180°半球型銀幕的圖像,也可以生成用于小于180°球冠型銀幕的圖像,甚至可以將之延用到環(huán)形、柱型等曲面銀幕上,具有良好的擴(kuò)展空間。
這種方法的局限性在于:首先,雖然球幕上的影像是實(shí)時(shí)運(yùn)算的,但是對于影像的調(diào)整卻不能實(shí)時(shí)進(jìn)行。其次,本方法不適用于多通道拼接式球幕圖像的生成。由于多通道拼接的過程中通常要對幾何校正進(jìn)行實(shí)時(shí)調(diào)節(jié),并且需要依賴幾何校正的信息進(jìn)行邊緣融合運(yùn)算,所以本方法不適用于此類應(yīng)用場合。最后,本方法不宜用于成像精確性要求苛刻的場合。紋理映射的基礎(chǔ)是三角面頂點(diǎn)UV坐標(biāo)插值運(yùn)算,因此本文所介紹的方法是一種“近似”而非精確的幾何校正方法。即使不考慮手工設(shè)定頂點(diǎn)位置可能引起的誤差,其精確程度還是會受到校正模型頂點(diǎn)數(shù)量的限制:頂點(diǎn)越多,則結(jié)果越接近理論值,頂點(diǎn)越少,則偏差越大。但是,如果頂點(diǎn)過多、整理UV的工作量過大,這種方法就失去了其簡便易行的優(yōu)勢,所以一般而言它更適用于以視覺表現(xiàn)而非科學(xué)研究為主要目的應(yīng)用領(lǐng)域。
五、結(jié)束語
本文介紹了一種簡單易行的實(shí)時(shí)球幕圖像生成方法,并且經(jīng)過作者實(shí)踐檢驗(yàn)行之有效,希望能夠?yàn)椴痪邆湄S富程序編寫經(jīng)驗(yàn)的虛擬現(xiàn)實(shí)與交互藝術(shù)創(chuàng)作者提供一些有益的借鑒。當(dāng)然,這種方法也存在不少局限,希望各位同仁與專家能夠不吝賜教,進(jìn)一步改良這種方法,使之具有更廣闊的應(yīng)用前景。
參考文獻(xiàn)
1 陳琛,王寶琦,李臣友.魚眼鏡頭在數(shù)字電影和數(shù)字投影中的應(yīng)用[J].現(xiàn)代電影技術(shù),2008,(1).
2 薛軍濤,賀懷清.一種采用紋理映射技術(shù)實(shí)現(xiàn)魚眼鏡頭快速校正的方法[J].電子技術(shù)應(yīng)用,2008,(8).
3 英向華,胡占義.一種基于球面透視投影約束的魚眼鏡頭校正方法[J].計(jì)算機(jī)學(xué)報(bào),2003.(12).
4 袁輝.魚眼鏡頭視頻圖像實(shí)時(shí)校正算法研究與實(shí)現(xiàn)[D].廣州:中山大學(xué),2007.endprint
然后,為這5個(gè)攝像機(jī)分別設(shè)立5個(gè)Render Target,如此便能將實(shí)時(shí)地將其渲染結(jié)果記錄為5張貼圖。
2.步驟二:制作校正模型
根據(jù)上節(jié)的思路,只要能夠推算出魚眼鏡頭所拍攝的畫面中Cubemap立方體表面每一點(diǎn)的位置,就能以此為依據(jù)生成校正模型。顯然,我們可以利用數(shù)學(xué)公式推導(dǎo)出頂點(diǎn)位置并通過編寫腳本自動生成校正模型,但為了避免復(fù)雜的編程工作,本文將另辟蹊徑采用一種更簡單的方法來實(shí)現(xiàn):在三維軟件中利用球幕魚眼鏡頭渲染立方體表面的網(wǎng)格結(jié)構(gòu),并且根據(jù)渲染結(jié)果重置頂點(diǎn)位置,這樣做同樣能夠達(dá)到目的。
首先,應(yīng)在三維軟件中建立5個(gè)正方形平面,并將之?dāng)[放成立方體的前、后、左、右、頂5個(gè)表面。這5個(gè)正方形平面的縱、橫細(xì)分?jǐn)?shù)量將決定最終幾何校正的精確度,細(xì)分越多則校正結(jié)果越精確,但是手工擺放頂點(diǎn)的工作量也會增加。
然后,在立方體中央位置擺放攝像機(jī),并使鏡頭指向正上方。由于投影使用的球幕只是半球體,所以應(yīng)將前、后、左、右4個(gè)平面位于鏡頭以下的部分刪除。(圖3)
接下去,將5個(gè)平面的材質(zhì)設(shè)為線框模式,并選擇180°的球幕魚眼鏡頭進(jìn)行渲染,這樣便能得到如圖4所示的結(jié)果。
可以看到,渲染結(jié)果明確反映了立方體與投影圖像之間的一一對應(yīng)關(guān)系,只需以此渲染結(jié)果為依據(jù)(可將之設(shè)為視窗背景)編輯三維空間中的構(gòu)成半立方體各個(gè)表面的頂點(diǎn),使所有頂點(diǎn)與參考圖中相應(yīng)的頂點(diǎn)位置相重合,這樣形成的圓形三維模型就是我們所需要的校正模型。
3.步驟三:完成紋理映射實(shí)現(xiàn)球幕圖像輸出
最后,將步驟二獲得的校正模型導(dǎo)入引擎,然后將步驟一中生成的5張貼圖按照正確的順序賦予給校正模型的五個(gè)部分,便能產(chǎn)生如圖5所示可以用于球幕投影的實(shí)時(shí)圖像。
四、本文方法的優(yōu)勢與局限性
本文所介紹的實(shí)時(shí)球幕圖像生成方法,其優(yōu)勢與局限性都非常明顯。這種方法的優(yōu)勢在于:
首先,它具有很高的普適性。本文所介紹的方法中,除了RTT以外其余使用的都是每一款三維引擎必須具備的基本功能,而時(shí)至今日RTT在三維引擎中也極為常見,所以本文所介紹的方法具有很高的普適性,幾乎可以在任何平臺上運(yùn)用。
其次,這種方法的執(zhí)行效率令人滿意。由于紋理映射是最基本的三維渲染功能,所有的顯卡、三維引擎都對其提供了最底層、最優(yōu)化的支持,所以紋理映射所耗費(fèi)的運(yùn)算資源幾乎可以忽略不計(jì),所以其執(zhí)行效率相當(dāng)令人滿意的。
最后,這種方法所提供的思路具有良好的擴(kuò)展性。基于本文所介紹的紋理映射的思路,我們不僅可以生成用于180°半球型銀幕的圖像,也可以生成用于小于180°球冠型銀幕的圖像,甚至可以將之延用到環(huán)形、柱型等曲面銀幕上,具有良好的擴(kuò)展空間。
這種方法的局限性在于:首先,雖然球幕上的影像是實(shí)時(shí)運(yùn)算的,但是對于影像的調(diào)整卻不能實(shí)時(shí)進(jìn)行。其次,本方法不適用于多通道拼接式球幕圖像的生成。由于多通道拼接的過程中通常要對幾何校正進(jìn)行實(shí)時(shí)調(diào)節(jié),并且需要依賴幾何校正的信息進(jìn)行邊緣融合運(yùn)算,所以本方法不適用于此類應(yīng)用場合。最后,本方法不宜用于成像精確性要求苛刻的場合。紋理映射的基礎(chǔ)是三角面頂點(diǎn)UV坐標(biāo)插值運(yùn)算,因此本文所介紹的方法是一種“近似”而非精確的幾何校正方法。即使不考慮手工設(shè)定頂點(diǎn)位置可能引起的誤差,其精確程度還是會受到校正模型頂點(diǎn)數(shù)量的限制:頂點(diǎn)越多,則結(jié)果越接近理論值,頂點(diǎn)越少,則偏差越大。但是,如果頂點(diǎn)過多、整理UV的工作量過大,這種方法就失去了其簡便易行的優(yōu)勢,所以一般而言它更適用于以視覺表現(xiàn)而非科學(xué)研究為主要目的應(yīng)用領(lǐng)域。
五、結(jié)束語
本文介紹了一種簡單易行的實(shí)時(shí)球幕圖像生成方法,并且經(jīng)過作者實(shí)踐檢驗(yàn)行之有效,希望能夠?yàn)椴痪邆湄S富程序編寫經(jīng)驗(yàn)的虛擬現(xiàn)實(shí)與交互藝術(shù)創(chuàng)作者提供一些有益的借鑒。當(dāng)然,這種方法也存在不少局限,希望各位同仁與專家能夠不吝賜教,進(jìn)一步改良這種方法,使之具有更廣闊的應(yīng)用前景。
參考文獻(xiàn)
1 陳琛,王寶琦,李臣友.魚眼鏡頭在數(shù)字電影和數(shù)字投影中的應(yīng)用[J].現(xiàn)代電影技術(shù),2008,(1).
2 薛軍濤,賀懷清.一種采用紋理映射技術(shù)實(shí)現(xiàn)魚眼鏡頭快速校正的方法[J].電子技術(shù)應(yīng)用,2008,(8).
3 英向華,胡占義.一種基于球面透視投影約束的魚眼鏡頭校正方法[J].計(jì)算機(jī)學(xué)報(bào),2003.(12).
4 袁輝.魚眼鏡頭視頻圖像實(shí)時(shí)校正算法研究與實(shí)現(xiàn)[D].廣州:中山大學(xué),2007.endprint
然后,為這5個(gè)攝像機(jī)分別設(shè)立5個(gè)Render Target,如此便能將實(shí)時(shí)地將其渲染結(jié)果記錄為5張貼圖。
2.步驟二:制作校正模型
根據(jù)上節(jié)的思路,只要能夠推算出魚眼鏡頭所拍攝的畫面中Cubemap立方體表面每一點(diǎn)的位置,就能以此為依據(jù)生成校正模型。顯然,我們可以利用數(shù)學(xué)公式推導(dǎo)出頂點(diǎn)位置并通過編寫腳本自動生成校正模型,但為了避免復(fù)雜的編程工作,本文將另辟蹊徑采用一種更簡單的方法來實(shí)現(xiàn):在三維軟件中利用球幕魚眼鏡頭渲染立方體表面的網(wǎng)格結(jié)構(gòu),并且根據(jù)渲染結(jié)果重置頂點(diǎn)位置,這樣做同樣能夠達(dá)到目的。
首先,應(yīng)在三維軟件中建立5個(gè)正方形平面,并將之?dāng)[放成立方體的前、后、左、右、頂5個(gè)表面。這5個(gè)正方形平面的縱、橫細(xì)分?jǐn)?shù)量將決定最終幾何校正的精確度,細(xì)分越多則校正結(jié)果越精確,但是手工擺放頂點(diǎn)的工作量也會增加。
然后,在立方體中央位置擺放攝像機(jī),并使鏡頭指向正上方。由于投影使用的球幕只是半球體,所以應(yīng)將前、后、左、右4個(gè)平面位于鏡頭以下的部分刪除。(圖3)
接下去,將5個(gè)平面的材質(zhì)設(shè)為線框模式,并選擇180°的球幕魚眼鏡頭進(jìn)行渲染,這樣便能得到如圖4所示的結(jié)果。
可以看到,渲染結(jié)果明確反映了立方體與投影圖像之間的一一對應(yīng)關(guān)系,只需以此渲染結(jié)果為依據(jù)(可將之設(shè)為視窗背景)編輯三維空間中的構(gòu)成半立方體各個(gè)表面的頂點(diǎn),使所有頂點(diǎn)與參考圖中相應(yīng)的頂點(diǎn)位置相重合,這樣形成的圓形三維模型就是我們所需要的校正模型。
3.步驟三:完成紋理映射實(shí)現(xiàn)球幕圖像輸出
最后,將步驟二獲得的校正模型導(dǎo)入引擎,然后將步驟一中生成的5張貼圖按照正確的順序賦予給校正模型的五個(gè)部分,便能產(chǎn)生如圖5所示可以用于球幕投影的實(shí)時(shí)圖像。
四、本文方法的優(yōu)勢與局限性
本文所介紹的實(shí)時(shí)球幕圖像生成方法,其優(yōu)勢與局限性都非常明顯。這種方法的優(yōu)勢在于:
首先,它具有很高的普適性。本文所介紹的方法中,除了RTT以外其余使用的都是每一款三維引擎必須具備的基本功能,而時(shí)至今日RTT在三維引擎中也極為常見,所以本文所介紹的方法具有很高的普適性,幾乎可以在任何平臺上運(yùn)用。
其次,這種方法的執(zhí)行效率令人滿意。由于紋理映射是最基本的三維渲染功能,所有的顯卡、三維引擎都對其提供了最底層、最優(yōu)化的支持,所以紋理映射所耗費(fèi)的運(yùn)算資源幾乎可以忽略不計(jì),所以其執(zhí)行效率相當(dāng)令人滿意的。
最后,這種方法所提供的思路具有良好的擴(kuò)展性?;诒疚乃榻B的紋理映射的思路,我們不僅可以生成用于180°半球型銀幕的圖像,也可以生成用于小于180°球冠型銀幕的圖像,甚至可以將之延用到環(huán)形、柱型等曲面銀幕上,具有良好的擴(kuò)展空間。
這種方法的局限性在于:首先,雖然球幕上的影像是實(shí)時(shí)運(yùn)算的,但是對于影像的調(diào)整卻不能實(shí)時(shí)進(jìn)行。其次,本方法不適用于多通道拼接式球幕圖像的生成。由于多通道拼接的過程中通常要對幾何校正進(jìn)行實(shí)時(shí)調(diào)節(jié),并且需要依賴幾何校正的信息進(jìn)行邊緣融合運(yùn)算,所以本方法不適用于此類應(yīng)用場合。最后,本方法不宜用于成像精確性要求苛刻的場合。紋理映射的基礎(chǔ)是三角面頂點(diǎn)UV坐標(biāo)插值運(yùn)算,因此本文所介紹的方法是一種“近似”而非精確的幾何校正方法。即使不考慮手工設(shè)定頂點(diǎn)位置可能引起的誤差,其精確程度還是會受到校正模型頂點(diǎn)數(shù)量的限制:頂點(diǎn)越多,則結(jié)果越接近理論值,頂點(diǎn)越少,則偏差越大。但是,如果頂點(diǎn)過多、整理UV的工作量過大,這種方法就失去了其簡便易行的優(yōu)勢,所以一般而言它更適用于以視覺表現(xiàn)而非科學(xué)研究為主要目的應(yīng)用領(lǐng)域。
五、結(jié)束語
本文介紹了一種簡單易行的實(shí)時(shí)球幕圖像生成方法,并且經(jīng)過作者實(shí)踐檢驗(yàn)行之有效,希望能夠?yàn)椴痪邆湄S富程序編寫經(jīng)驗(yàn)的虛擬現(xiàn)實(shí)與交互藝術(shù)創(chuàng)作者提供一些有益的借鑒。當(dāng)然,這種方法也存在不少局限,希望各位同仁與專家能夠不吝賜教,進(jìn)一步改良這種方法,使之具有更廣闊的應(yīng)用前景。
參考文獻(xiàn)
1 陳琛,王寶琦,李臣友.魚眼鏡頭在數(shù)字電影和數(shù)字投影中的應(yīng)用[J].現(xiàn)代電影技術(shù),2008,(1).
2 薛軍濤,賀懷清.一種采用紋理映射技術(shù)實(shí)現(xiàn)魚眼鏡頭快速校正的方法[J].電子技術(shù)應(yīng)用,2008,(8).
3 英向華,胡占義.一種基于球面透視投影約束的魚眼鏡頭校正方法[J].計(jì)算機(jī)學(xué)報(bào),2003.(12).
4 袁輝.魚眼鏡頭視頻圖像實(shí)時(shí)校正算法研究與實(shí)現(xiàn)[D].廣州:中山大學(xué),2007.endprint