本發(fā)明涉及立體顯示技術(shù)領(lǐng)域,特別涉及一種顯示轉(zhuǎn)換方法和裝置。
背景技術(shù):
隨著立體顯示技術(shù)和虛擬與現(xiàn)實VR(Virtual Reality)技術(shù)的不斷完善和成熟,廣大民眾對于立體應(yīng)用,例如3D(3維,3Dimensions)游戲等的興趣和需求也在不斷的增加。然而,對于立體應(yīng)用而言,通常開發(fā)難度較高,而且開發(fā)周期較長,難以滿足民眾不斷增加的興趣和需求。
為了較為快速地提供立體應(yīng)用,現(xiàn)有技術(shù)中,可以通過技術(shù)手段將普通2D應(yīng)用轉(zhuǎn)換為立體應(yīng)用,在具體的轉(zhuǎn)換過程中,通常是將2D(2維,2Dimensions)3Dimensions應(yīng)用的虛擬場景圖像線性地進(jìn)行偏轉(zhuǎn)從而形成用于呈現(xiàn)立體圖像的視差圖,進(jìn)而將2D應(yīng)用的虛擬場景以立體的方式呈現(xiàn)出來,所謂的線性,即為使用同樣的視差值(即立體顯示參數(shù))對不同的場景圖像進(jìn)行偏轉(zhuǎn)。
但是,這種轉(zhuǎn)換方式將虛擬場景中的所有組件都以同樣的視差值進(jìn)行了顯示轉(zhuǎn)換,那么不可避免的會出現(xiàn)部分虛擬場景或者虛擬場景中的組件的立體效果較差或立體效果錯誤的問題,例如,有些虛擬場景的部分組件可能并不需要以立體方式呈現(xiàn),例如字幕,如果以立體方式呈現(xiàn)的話,那么整個虛擬場景的立體效果就會受到影響,用戶體驗欠佳。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種顯示轉(zhuǎn)換方法和裝置,能夠有效提升顯示轉(zhuǎn)換后的立體顯示效果。
為了達(dá)到上述目的,第一方面,本發(fā)明實施例提供一種顯示轉(zhuǎn)換方法,所述方法應(yīng)用于第一應(yīng)用,所述第一應(yīng)用設(shè)置在第一終端,所述第一終端上還設(shè)置有需要進(jìn)行顯示轉(zhuǎn)換的應(yīng)用程序,所述方法包括:
獲取所述應(yīng)用程序的顯示配置文件,所述顯示配置文件中包括所述應(yīng)用程序的第一虛擬場景的組件的立體顯示參數(shù),所述立體顯示參數(shù)包括轉(zhuǎn)換指示參數(shù)和顯示參數(shù),所述轉(zhuǎn)換指示參數(shù)用于指示所述組件是否需要進(jìn)行顯示轉(zhuǎn)換;
根據(jù)所述轉(zhuǎn)換指示參數(shù),確定所述組件是否需要進(jìn)行顯示轉(zhuǎn)換;
如果確定所述組件需要進(jìn)行顯示轉(zhuǎn)換,根據(jù)所述顯示參數(shù)構(gòu)建所述組件的立體圖像,從而實現(xiàn)將所述第一虛擬場景的所述組件轉(zhuǎn)換為立體顯示。
結(jié)合第一方面,在第一方面的第一種可實施方式中:
所述根據(jù)所述轉(zhuǎn)換指示參數(shù),確定所述組件是否需要進(jìn)行顯示轉(zhuǎn)換包括:
根據(jù)所述轉(zhuǎn)換指示參數(shù),當(dāng)所述轉(zhuǎn)換指示參數(shù)為指示所述組件需要進(jìn)行顯示轉(zhuǎn)換的預(yù)定值時,確定所述組件需要進(jìn)行顯示轉(zhuǎn)換。
結(jié)合第一方面,在第一方面的第二種可實施方式中:
所述轉(zhuǎn)換指示參數(shù)包括虛擬攝像機(jī)到前控制面的距離;
所述根據(jù)所述轉(zhuǎn)換指示參數(shù),確定所述組件是否需要進(jìn)行顯示轉(zhuǎn)換包括:
計算所述組件的原始深度信息;
將所述原始深度信息和所述虛擬攝像機(jī)到前控制面的距離進(jìn)行比對,在所述原始深度信息大于所述虛擬攝像機(jī)到前控制面的距離時,確定所述組件需要進(jìn)行顯示轉(zhuǎn)換。
結(jié)合第一方面,在第一方面的第三種實施方式中:
所述獲取所述應(yīng)用程序的顯示配置文件包括:
接收設(shè)置在第二終端的第二應(yīng)用發(fā)送的顯示配置文件,或者,從所述第一終端本地獲取所述應(yīng)用程序的顯示配置文件。
結(jié)合第一方面或第一方面的第一種至第三種可實施方式中的任意一種可實施方式,在第一方面的第四種實施方式中:
所述顯示參數(shù)包括視間距和虛擬攝像機(jī)到零視差平面的距離;
所述根據(jù)所述顯示參數(shù)構(gòu)建所述組件的立體圖像包括:
根據(jù)所述視間距,對所述組件的原觀察矩陣進(jìn)行變換,得到新的觀察矩陣,以及,根據(jù)所述視間距和所述虛擬攝像機(jī)到零視差平面的距離,對所述組件的原投影矩陣進(jìn)行變換,得到新的投影矩陣;
根據(jù)所述新的觀察矩陣和新的投影矩陣,構(gòu)建并顯示所述組件的立體圖像。
為了達(dá)到上述目的,第二方面,本發(fā)明實施例提供一種顯示顯示轉(zhuǎn)換裝置,所述裝置設(shè)置在第一終端,所述第一終端上還設(shè)置有需要進(jìn)行顯示轉(zhuǎn)換的應(yīng)用程序,所述裝置包括:
獲取模塊,用于獲取所述應(yīng)用程序的顯示配置文件,所述顯示配置文件中包括所述應(yīng)用程序的第一虛擬場景的組件的立體顯示參數(shù),所述立體顯示參數(shù)包括轉(zhuǎn)換指示參數(shù)和顯示參數(shù),所述轉(zhuǎn)換指示參數(shù)用于指示所述組件是否需要進(jìn)行顯示轉(zhuǎn)換;
確定模塊,用于根據(jù)所述獲取模塊獲取的顯示配置文件中的轉(zhuǎn)換指示參數(shù),確定所述組件是否需要進(jìn)行顯示轉(zhuǎn)換;
立體顯示模塊,用于在所述確定模塊確定所述組件需要進(jìn)行顯示轉(zhuǎn)換時,根據(jù)所述獲取模塊獲取的顯示配置文件中的顯示參數(shù),構(gòu)建所述組件的立體圖像,從而實現(xiàn)將所述第一虛擬場景的所述組件轉(zhuǎn)換為立體顯示。
結(jié)合第二方面,在第二方面的第一種可實施方式中:
所述確定模塊用于:
根據(jù)所述轉(zhuǎn)換指示參數(shù),當(dāng)所述轉(zhuǎn)換指示參數(shù)為指示所述組件需要進(jìn)行顯示轉(zhuǎn)換的預(yù)定值時,確定所述組件需要進(jìn)行顯示轉(zhuǎn)換。
結(jié)合第二方面,在第二方面的第二種可實施方式中:
所述轉(zhuǎn)換指示參數(shù)包括虛擬攝像機(jī)到前控制面的距離;
所述確定模塊用于:
計算所述組件的原始深度信息;
將所述原始深度信息和所述虛擬攝像機(jī)到前控制面的距離進(jìn)行比對,在所述原始深度信息大于所述虛擬攝像機(jī)到前控制面的距離時,確定所述組件需要進(jìn)行顯示轉(zhuǎn)換。
結(jié)合第二方面,在第二方面的第三種實施方式中:
所述獲取模塊用于:
接收設(shè)置在第二終端的第二應(yīng)用發(fā)送的顯示配置文件;
或者
從所述第一終端本地獲取所述應(yīng)用程序的顯示配置文件。
結(jié)合第二方面或第二方面的第一種至第三種可實施方式中的任意一種可實 施方式,在第二方面的第四種實施方式中:
所述顯示參數(shù)包括視間距和虛擬攝像機(jī)到零視差平面的距離;
所述立體顯示模塊用于::
根據(jù)所述視間距,對所述組件的原觀察矩陣進(jìn)行變換,得到新的觀察矩陣,以及,根據(jù)所述視間距和所述虛擬攝像機(jī)到零視差平面的距離,對所述組件的原投影矩陣進(jìn)行變換,得到新的投影矩陣;
根據(jù)所述新的觀察矩陣和新的投影矩陣,構(gòu)建并顯示所述組件的立體圖像。
本發(fā)明的上述技術(shù)方案至少具有如下有益效果:本發(fā)明實施例的顯示轉(zhuǎn)換方法和裝置,為虛擬場景的組件設(shè)置轉(zhuǎn)換指示參數(shù),在進(jìn)行顯示轉(zhuǎn)換時,通過轉(zhuǎn)換指示參數(shù)確定是否需要對組件進(jìn)行顯示轉(zhuǎn)換,在確定需要進(jìn)行顯示轉(zhuǎn)換時,對組件進(jìn)行顯示轉(zhuǎn)換,即通過轉(zhuǎn)換指示參數(shù)的設(shè)計,能夠明確進(jìn)行顯示轉(zhuǎn)換的對象,不需要進(jìn)行顯示轉(zhuǎn)換的組件將不再轉(zhuǎn)換,因此,能夠有效提升顯示轉(zhuǎn)換后應(yīng)用程序的虛擬場景的立體顯示效果。
附圖說明
圖1表示本發(fā)明實施例一提供的顯示轉(zhuǎn)換方法的流程圖;
圖2表示本發(fā)明實施例二提供的顯示轉(zhuǎn)換裝置的結(jié)構(gòu)框圖;
圖3表示將2D顯示轉(zhuǎn)換為3D顯示的原理光路示意圖。
具體實施方式
為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實施例進(jìn)行詳細(xì)描述。
以下對本發(fā)明實施例提供的顯示轉(zhuǎn)換方法、裝置和終端設(shè)備進(jìn)行詳細(xì)說明。
本發(fā)明實施例提供一種顯示轉(zhuǎn)換方法,該方法應(yīng)用于第一應(yīng)用,該第一應(yīng)用設(shè)置在第一終端,即該方法由設(shè)置在第一終端上的第一應(yīng)用所執(zhí)行,第一終端上還設(shè)置有需要進(jìn)行顯示轉(zhuǎn)換的應(yīng)用程序,第一應(yīng)用用于將應(yīng)用程序的2D顯示轉(zhuǎn)換為3D顯示。其中,第一終端可以是手機(jī),個人計算機(jī)、平板電腦、游戲機(jī)等具有顯示功能的電子設(shè)備(也稱終端設(shè)備),進(jìn)行顯示轉(zhuǎn)換的應(yīng)用程序包括游戲應(yīng)用,視頻應(yīng)用等具有2D顯示場景的應(yīng)用程序,本發(fā)明對此不做限定。如 圖1所示,本發(fā)明實施例提供的顯示轉(zhuǎn)換方法,包括:
步驟10,獲取應(yīng)用程序的顯示配置文件,顯示配置文件中包括應(yīng)用程序的第一虛擬場景的組件的立體顯示參數(shù),立體顯示參數(shù)包括轉(zhuǎn)換指示參數(shù)和顯示參數(shù);
其中,轉(zhuǎn)換指示參數(shù)用于指示組件是否需要進(jìn)行顯示轉(zhuǎn)換,顯示參數(shù)用于構(gòu)建組件的立體圖像。
本發(fā)明實施例中,通過第一虛擬場景指代應(yīng)用程序運(yùn)行時展示給用戶的界面內(nèi)容,第一虛擬場景可以應(yīng)用程序運(yùn)行時的任意一個虛擬場景,在應(yīng)用程序運(yùn)行時顯示給用戶,例如,用戶使用游戲應(yīng)用時游戲應(yīng)用展示的游戲場景,該場景由至少一個組件所組成,組件例如可以為UI(用戶界面)控件、人物、背景、文字、圖標(biāo)、道具等等。具體的,本發(fā)明實施例中所稱的虛擬場景的組件,是指應(yīng)用程序在繪制虛擬場景的圖像顯示給用戶時所需要分別繪制的對象,比如,一個虛擬場景包括文字、背景和人物,應(yīng)用程序在繪制該應(yīng)用場景時需要分別繪制該虛擬場景的背景、人物、文字,那么這些背景、文字、人物均為該虛擬場景的組件。
可選的,本步驟所獲取的顯示配置文件,可以是由設(shè)置在第二終端的第二應(yīng)用發(fā)送給第一應(yīng)用,第一應(yīng)用接收第二應(yīng)用發(fā)送的顯示配置文件。當(dāng)然,顯示配置文件也可預(yù)先存儲在第一終端本地,第一應(yīng)用從第一終端本地獲取應(yīng)用程序的顯示配置文件,例如,第一應(yīng)用利用應(yīng)用程序的標(biāo)識信息,以應(yīng)用程序的標(biāo)識信息作為索引,在第一終端本地的顯示配置文件數(shù)據(jù)庫中,查找應(yīng)用程序的顯示配置文件。
其中,第二終端可以是手機(jī),個人計算機(jī)、平板電腦、個人數(shù)字助理PDA(Personal Digital Assistant)等電子設(shè)備(也可稱終端設(shè)備)。
需要說明的是,本發(fā)明實施例中,第二終端和第一終端可以是兩個不同的終端,當(dāng)然也可以是同一終端。
舉例而言,可選的,在本發(fā)明的一個實施例中,轉(zhuǎn)換指示參數(shù)可以為預(yù)定的特殊值,不同值代表不同意義,舉例來說,該值為1表示需要進(jìn)行顯示轉(zhuǎn)換,該值為0表示該值不需要進(jìn)行顯示轉(zhuǎn)換??梢岳斫獾氖?,在開發(fā)人員配置顯示配置文件時,對于已知的不需要轉(zhuǎn)換成立體的組件的情況,可采用這種特征值 的方式,將需要轉(zhuǎn)換的組件的轉(zhuǎn)換指示參數(shù)設(shè)為指示轉(zhuǎn)換的特殊值,而將不需要進(jìn)行顯示轉(zhuǎn)換的組件的轉(zhuǎn)換指示參數(shù)設(shè)為指示不轉(zhuǎn)換的特征值,例如一些文字和UI控件。
可選的,在本發(fā)明的一個實施例中,轉(zhuǎn)換指示參數(shù)可以為虛擬攝像機(jī)到前控制面的距離,后續(xù)會對此進(jìn)行詳細(xì)說明。
而顯示參數(shù)可包括顯示參數(shù)中包括視間距Sep和虛擬攝像機(jī)到零視差平面的距離Con。
步驟11,根據(jù)轉(zhuǎn)換指示參數(shù),確定第一虛擬場景的組件是否需要進(jìn)行顯示轉(zhuǎn)換。
具體的,當(dāng)轉(zhuǎn)換指示參數(shù)為預(yù)定的特殊值時,第一應(yīng)用可根據(jù)轉(zhuǎn)換指示參數(shù),當(dāng)轉(zhuǎn)換指示參數(shù)為指示組件需要進(jìn)行顯示轉(zhuǎn)換的預(yù)定值時,確定組件需要進(jìn)行顯示轉(zhuǎn)換。
具體的,當(dāng)轉(zhuǎn)換指示參數(shù)為虛擬攝像機(jī)到前控制面的距離時,本步驟中,第一應(yīng)用將首先計算組件的原始深度信息,然后將原始深度信息與轉(zhuǎn)換指示參數(shù)進(jìn)行比對,即與虛擬攝像機(jī)到前控制面的距離進(jìn)行比對,在原始深度信息小于虛擬攝像機(jī)到前控制面的距離時,確定組件不需要進(jìn)行顯示轉(zhuǎn)換,而在原始深度信息大于虛擬攝像機(jī)到前控制面的距離時,確定組件需要進(jìn)行顯示轉(zhuǎn)換。
步驟12,如果確定組件需要進(jìn)行顯示轉(zhuǎn)換,根據(jù)顯示參數(shù)構(gòu)建組件的立體圖像,從而實現(xiàn)將第一虛擬場景的組件轉(zhuǎn)換為立體顯示。
第一應(yīng)用在確定組件需要進(jìn)行顯示轉(zhuǎn)換時,構(gòu)建并顯示組件的立體圖像,進(jìn)而,當(dāng)?shù)谝惶摂M場景的所有組件都以立體的方式顯示時,即將應(yīng)用程序的第一虛擬場景由2D顯示轉(zhuǎn)換為3D顯示。
具體實施中,在應(yīng)用程序的自運(yùn)行過程中,如果應(yīng)用程序需要繪制該組件時,第一應(yīng)用將重定向繪制過程,從而利用顯示配置文件中該組件的顯示參數(shù)構(gòu)建并顯示該組件的立體圖像,例如,重定向到第一應(yīng)用自定義的顯示函數(shù)中,該顯示函數(shù)利用顯示配置文件中該組件的顯示參數(shù)作為參數(shù),執(zhí)行構(gòu)建并顯示立體圖像的工作。
具體的,在應(yīng)用程序是基于Opengl進(jìn)行開發(fā)的的情況下,若顯示參數(shù)中包括視間距Sep和虛擬攝像機(jī)到零視差平面的距離Con,本步驟中,根據(jù)視間距, 對組件的原觀察矩陣進(jìn)行變換,得到新的觀察矩陣,以及,根據(jù)視間距和虛擬攝像機(jī)到零視差平面的距離,對組件的原投影矩陣進(jìn)行變換,得到新的投影矩陣;然后,根據(jù)新的觀察矩陣和新的投影矩陣,構(gòu)建并顯示組件的立體圖像。
本發(fā)明實施例的顯示轉(zhuǎn)換方法,為虛擬場景的組件設(shè)置轉(zhuǎn)換指示參數(shù),在進(jìn)行顯示轉(zhuǎn)換時,通過轉(zhuǎn)換指示參數(shù)確定是否需要對組件進(jìn)行顯示轉(zhuǎn)換,在確定需要進(jìn)行顯示轉(zhuǎn)換時,對組件進(jìn)行顯示轉(zhuǎn)換,即通過轉(zhuǎn)換指示參數(shù)的設(shè)計,能夠明確進(jìn)行顯示轉(zhuǎn)換的對象,不需要進(jìn)行顯示轉(zhuǎn)換的組件將不再轉(zhuǎn)換,因此,能夠有效提升顯示轉(zhuǎn)換后應(yīng)用程序的虛擬場景的立體顯示效果。
下面對本發(fā)明實施例中所涉及的一些參數(shù)和立體顯示原理進(jìn)行簡要介紹。
本領(lǐng)域技術(shù)人員所熟知的,人們通常通過雙眼同時觀看物體,由于人的雙眼間存在眼間距,左右眼之間大約相隔65cm,因此,雙眼的注視角度不同,造成左右眼接收到的視覺圖像存在一定程度的水平差異,這種微小的水平差異可稱為視差,由于左右眼接收到的視覺圖像不同,大腦通過眼球的運(yùn)動、調(diào)整,綜合了左右眼兩幅圖像的信息,從而產(chǎn)生立體感。而產(chǎn)生立體圖像的算法依據(jù)即為模擬人的雙眼所看到的圖像狀況,在構(gòu)建立體圖像時,就要構(gòu)建具有水平視差的兩幅圖像,分別對應(yīng)人的左右眼,視差是產(chǎn)生深度的依據(jù),這樣構(gòu)建出來的立體圖像讓人眼所感知,最后產(chǎn)生立體的感覺。
基于上述說明,在進(jìn)行顯示的轉(zhuǎn)換,即將2D圖像轉(zhuǎn)換為3D圖像時,從原理上講可以理解為將原始構(gòu)建2D圖像的虛擬攝像機(jī)進(jìn)行移動,產(chǎn)生左右攝像機(jī),變換原始視景體(視錐)使得左右攝像機(jī)的觀察范圍一致,從而利用左右虛擬攝像機(jī)構(gòu)建出兩幅具有水平視差的圖像。從實際實施來講,在算法上,上述的移動和變換可以利用對觀察矩陣(也稱視圖矩陣)和投影矩陣的修改來實現(xiàn)。
圖3示出了將2D顯示轉(zhuǎn)換為3D顯示的原理光路示意圖。如圖所示,為了進(jìn)行立體顯示,將虛擬單眼攝像機(jī)進(jìn)行左右移動,產(chǎn)生左右眼虛擬攝像機(jī),左眼攝像機(jī)和右眼攝像機(jī)之間的距離為視間距Sep。如圖3中光路所示,圖3中虛擬屏幕的位置位于左右視景體匯聚的位置,虛擬屏幕所在的平面為零視差平面,零視差平面距離虛擬攝像機(jī)的距離為Con。
在實際的算法實現(xiàn)上,攝像機(jī)和視景體的移動和變換是可以利用觀察矩陣和投影矩陣的變換來實現(xiàn)的。
具體的,根據(jù)Sep,對需要轉(zhuǎn)換的應(yīng)用程序的虛擬場景的組件的原始觀察矩陣P進(jìn)行變換,得到左觀察矩陣PL和右觀察矩陣PR,利用視間距Sep和Con,對該組件的原始投影矩陣V進(jìn)行變換,得到左觀察矩陣VL和右觀察矩陣VR,進(jìn)而利用PL和VL得到左視圖變換矩陣ML,利用PR和VR得到右視圖變換矩陣,利用ML和MR對組件的原始坐標(biāo)進(jìn)行變換,進(jìn)而構(gòu)建出組件的左眼圖像和右眼圖像,進(jìn)而進(jìn)行立體成像。設(shè)X,Y,Z,W為經(jīng)過投影變換和視圖觀察變換后的坐標(biāo)值,x,y,z,w為原始坐標(biāo)值(齊次坐標(biāo)表示),XL,YL,ZL,WL為左視圖變換矩陣后的坐標(biāo),XR,YR,ZR,WR為右視圖變換矩陣后的坐標(biāo),則:
還需要說明的是,參見圖3,根據(jù)光線的傳輸可知,在零視差平面到虛擬攝像機(jī)之間,雙眼攝像機(jī)的可視區(qū)域彼此之間存在缺失,即一部分區(qū)域僅可由左眼或右眼攝像機(jī)中的一個攝像機(jī)所捕捉,因此,這部分區(qū)域的內(nèi)容的立體視覺并不完整,因此,在構(gòu)建立體圖像時,從人眼到距離為Z1的范圍內(nèi)的內(nèi)容的立體效果可以不被考慮或關(guān)注,而且,一些組件,例如UI控件,文字等內(nèi)容,由于不需要立體效果,因此,在構(gòu)建立體圖像時,是放置在距離攝像機(jī)較近的位置上,例如可放在距離攝像機(jī)的距離小于Z1的范圍內(nèi)?;诖?,本發(fā)明實施例中,提成了前控制面的概念,前控制面表示,在前控制面前面的內(nèi)容不轉(zhuǎn)換立體,在前控制面以后的內(nèi)容轉(zhuǎn)換立體。具體的,前控制面位于攝像機(jī)與零視差平面之間,與零視差平面平行,前控制面距離攝像機(jī)的距離大于等于Z1。
在本發(fā)明實施例中,在立體顯示參數(shù)中增加轉(zhuǎn)換指示參數(shù),該轉(zhuǎn)換指示參 數(shù)可以為前控制面到攝像機(jī)的距離這個參數(shù),在第一應(yīng)用對組件進(jìn)行顯示轉(zhuǎn)換時,首先計算組件的原始深度,利用原始深度與前控制面到攝像機(jī)的距離進(jìn)行比較,當(dāng)原始深度大于該距離時,對組件進(jìn)行立體顯示,反之,當(dāng)原始深度小于該距離時,不對組件進(jìn)行顯示轉(zhuǎn)換,使組件正常2D顯示。
舉例而言,組件的原始深度可通過以下方式進(jìn)行計算:
在應(yīng)用程序是基于OpenGL開發(fā)的情況下,在進(jìn)行成像時,利用原始觀察矩陣和投影矩陣對原始坐標(biāo)(x、y、z、w)進(jìn)行變換,假設(shè)組件的坐標(biāo)值經(jīng)過觀察矩陣和投影矩陣的變換后,原始坐標(biāo)由(x、y、z、w)變換為(X、Y、Z、W),組件的原始深度Zdepth為:
Zdept h=Z/W
需要說明的是,(x、y、z、w)為齊次坐標(biāo)表達(dá)形式,這里不再詳述。本發(fā)明實施例對于如何計算原始深度不做限制,本領(lǐng)域技術(shù)人員可以任意選擇。
與前述方法實施例相對應(yīng),本發(fā)明實施例又提供一種顯示轉(zhuǎn)換裝置,該裝置與前述方法實施例中的第一應(yīng)用相對應(yīng),該裝置設(shè)置在第一終端,第一終端上還設(shè)置有需要進(jìn)行顯示轉(zhuǎn)換的應(yīng)用程序,如圖2所示,本發(fā)明實施例提供的顯示轉(zhuǎn)換裝置包括:
獲取模塊20,用于獲取所述應(yīng)用程序的顯示配置文件,所述顯示配置文件中包括所述應(yīng)用程序的第一虛擬場景的組件的立體顯示參數(shù),所述立體顯示參數(shù)包括轉(zhuǎn)換指示參數(shù)和顯示參數(shù),所述轉(zhuǎn)換指示參數(shù)用于指示所述組件是否需要進(jìn)行顯示轉(zhuǎn)換;
確定模塊21,用于根據(jù)獲取模塊20獲取的顯示配置文件中的轉(zhuǎn)換指示參數(shù),確定所述組件是否需要進(jìn)行顯示轉(zhuǎn)換;
立體顯示模塊22,用于在確定模塊21確定所述組件需要進(jìn)行顯示轉(zhuǎn)換時,根據(jù)獲取模塊20獲取的顯示配置文件中的顯示參數(shù),構(gòu)建所述組件的立體圖像,從而實現(xiàn)將所述第一虛擬場景的所述組件轉(zhuǎn)換為立體顯示。
本發(fā)明實施例的顯示轉(zhuǎn)換裝置,為虛擬場景的組件設(shè)置轉(zhuǎn)換指示參數(shù),在 進(jìn)行顯示轉(zhuǎn)換時,通過轉(zhuǎn)換指示參數(shù)確定是否需要對組件進(jìn)行顯示轉(zhuǎn)換,在確定需要進(jìn)行顯示轉(zhuǎn)換時,對組件進(jìn)行顯示轉(zhuǎn)換,即通過轉(zhuǎn)換指示參數(shù)的設(shè)計,能夠明確進(jìn)行顯示轉(zhuǎn)換的對象,不需要進(jìn)行顯示轉(zhuǎn)換的組件將不再轉(zhuǎn)換,因此,能夠有效提升顯示轉(zhuǎn)換后應(yīng)用程序的虛擬場景的立體顯示效果。
可選的,在本發(fā)明的一個實施例中,確定模塊21用于:
根據(jù)所述轉(zhuǎn)換指示參數(shù),當(dāng)所述轉(zhuǎn)換指示參數(shù)為指示所述組件需要進(jìn)行顯示轉(zhuǎn)換的預(yù)定值時,確定所述組件需要進(jìn)行顯示轉(zhuǎn)換。
可選的,在本發(fā)明的一個實施例中:
所述轉(zhuǎn)換指示參數(shù)包括虛擬攝像機(jī)到前控制面的距離;
確定模塊21用于:
計算所述組件的原始深度信息;
將所述原始深度信息和所述虛擬攝像機(jī)到前控制面的距離進(jìn)行比對,在所述原始深度信息大于所述虛擬攝像機(jī)到前控制面的距離時,確定所述組件需要進(jìn)行顯示轉(zhuǎn)換。
可選的,在本發(fā)明的一個實施例中:
獲取模塊20用于接收設(shè)置在第二終端的第二應(yīng)用發(fā)送的顯示配置文件,或者從所述第一終端本地獲取所述應(yīng)用程序的顯示配置文件。
具體的,在本發(fā)明的一個實施例中:
所述顯示參數(shù)包括視間距和虛擬攝像機(jī)到零視差平面的距離;
立體顯示模塊22用于:
根據(jù)所述視間距,對所述組件的原觀察矩陣進(jìn)行變換,得到新的觀察矩陣,以及,根據(jù)所述視間距和所述虛擬攝像機(jī)到零視差平面的距離,對所述組件的原投影矩陣進(jìn)行變換,得到新的投影矩陣;
根據(jù)所述新的觀察矩陣和新的投影矩陣,構(gòu)建并顯示所述組件的立體圖像。
需要強(qiáng)調(diào)的是,對于裝置實施例而言,可以用以執(zhí)行其對應(yīng)的方法實施例的技術(shù)方案,其實現(xiàn)原理和技術(shù)效果類似,即其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將 一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機(jī)存儲記憶體(Random Access Memory,RAM)等。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。