本發(fā)明涉及交互引擎領(lǐng)域,具體是一種適用于多種場(chǎng)景的多目標(biāo)交互引擎渲染方法。
背景技術(shù):
擴(kuò)展android默認(rèn)的交互引擎,使其可以支持多目標(biāo)渲染(例如VR),現(xiàn)有技術(shù)是首先將需要默認(rèn)的分辨率改為目標(biāo)分辨率,例如在VR中原屏幕為1280×1920那么如果分成兩個(gè)目標(biāo)顯示,則分辨率改為1280×960,之后將交互內(nèi)容分辨繪畫(huà)在不同的目標(biāo)上,例如在VR中分別為左側(cè)和右側(cè),現(xiàn)有技術(shù)具有以下缺點(diǎn):(1)性能較差;(2)無(wú)法做后處理;(3)效果固定;(4)擴(kuò)展性差,應(yīng)用場(chǎng)景很窄(如果應(yīng)用于VR無(wú)法適用于裸眼3D中)。當(dāng)前的技術(shù)的無(wú)論在性能還是擴(kuò)展性上都有很大局限性,在目前比較火的場(chǎng)景需求中(VR顯示、AR顯示、裸眼3D)無(wú)法提供最優(yōu)的效果,例如顯示幀率會(huì)直接減半,會(huì)出現(xiàn)卡頓、延遲等問(wèn)題。目前已有的方案都只能支持一種場(chǎng)景,無(wú)法同時(shí)支持兩種場(chǎng)景。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種適用于多種場(chǎng)景的多目標(biāo)交互引擎渲染方法,以解決上述背景技術(shù)中提出的問(wèn)題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種適用于多種場(chǎng)景的多目標(biāo)交互引擎渲染方法,將多次的渲染內(nèi)容分別渲染到不同的紋理當(dāng)中,并且創(chuàng)建一個(gè)最終處理的模塊,該模塊的輸入就是前期選出來(lái)的紋理,輸出是屏幕的內(nèi)容,在模塊內(nèi)部,定義任意的處理方式。
作為本發(fā)明進(jìn)一步的方案:在VR場(chǎng)景中,將前期輸出的紋理進(jìn)行左右擺放,當(dāng)用戶(hù)的瞳距不用的時(shí)候,在模塊中將兩張紋理的位置進(jìn)行簡(jiǎn)單的調(diào)整實(shí)現(xiàn)瞳距的改變。
作為本發(fā)明再進(jìn)一步的方案:實(shí)現(xiàn)裸眼3D顯示的時(shí)候增加裸眼3D的交織算法。
作為本發(fā)明再進(jìn)一步的方案:采用并行的方式對(duì)交互場(chǎng)景進(jìn)行渲染,在第一次渲染交互場(chǎng)景時(shí),利用多核CPU的特性,同時(shí)渲染第二次。
作為本發(fā)明再進(jìn)一步的方案:在VR場(chǎng)景中多目標(biāo)的渲染需要將攝像頭的角度進(jìn)行一個(gè)小的平移,并分別將交互內(nèi)容渲染到屏幕不同的位置上。
作為本發(fā)明再進(jìn)一步的方案:裸眼3D的場(chǎng)景中,渲染目標(biāo)為兩個(gè),將攝像頭進(jìn)行一個(gè)小的平移,渲染出兩張和屏幕尺寸一樣的內(nèi)容,并且將這兩個(gè)內(nèi)容進(jìn)行一個(gè)融合處理,然后將融合處理后的內(nèi)容顯示到屏幕上。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:可以同時(shí)支持多種使用場(chǎng)景,可以很好的實(shí)現(xiàn)包括VR、裸眼3D等不同的多目標(biāo)渲染場(chǎng)景,并且在顯示效率上比現(xiàn)有方案有很大的提升。
附圖說(shuō)明
圖1為適用于多種場(chǎng)景的多目標(biāo)交互引擎渲染方法的原理示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請(qǐng)參閱圖1,本發(fā)明實(shí)施例中,一種適用于多種場(chǎng)景的多目標(biāo)交互引擎渲染方法,包括以下步驟:將兩次的渲染內(nèi)容分別渲染到不同的紋理當(dāng)中,并且創(chuàng)建一個(gè)最終處理的模塊(MultiProcessModel),該模塊的輸入就是前期選出來(lái)的紋理,輸出是屏幕的內(nèi)容,在模塊內(nèi)部,可以定義任意的處理方式,例如在VR場(chǎng)景中,可以將前期輸出的紋理進(jìn)行左右擺放即可,當(dāng)用戶(hù)的瞳距不用的時(shí)候,只需要在MultProcessModel中將兩張紋理的位置進(jìn)行簡(jiǎn)單的調(diào)整即可實(shí)現(xiàn)瞳距的改變。當(dāng)要實(shí)現(xiàn)裸眼3D顯示的時(shí)候也僅僅只需要將MultProcessModel中的內(nèi)容進(jìn)行簡(jiǎn)單的處理即可(增加裸眼3D的交織算法即可)。也就是說(shuō)對(duì)不同的應(yīng)用場(chǎng)景都可以很好的支持,并且可以兼顧性能與效果。
為了實(shí)現(xiàn)高效的渲染,采用了并行的方式對(duì)交互場(chǎng)景進(jìn)行渲染,也就是說(shuō)在第一次渲染交互場(chǎng)景時(shí),利用多核CPU的特性,同時(shí)渲染第二次,這樣就可以極大的減少整體的渲染時(shí)間。另外多目標(biāo)的情況在當(dāng)前很多場(chǎng)景中都會(huì)使用,但是他們的使用方式卻是不同的,例如在VR場(chǎng)景中多目標(biāo)的渲染需要將攝像頭的角度進(jìn)行一個(gè)小的平移,并分別將交互內(nèi)容渲染到屏幕不同的位置上。而在其它場(chǎng)景中,例如裸眼3D的場(chǎng)景中,渲染目標(biāo)仍然為兩個(gè),同樣的也需要將攝像頭進(jìn)行一個(gè)小的平移,然后渲染出兩張和屏幕尺寸一樣的內(nèi)容,并且需要將這兩個(gè)內(nèi)容進(jìn)行一個(gè)融合處理,然后將融合處理后的內(nèi)容顯示到屏幕上。
對(duì)于本領(lǐng)域技術(shù)人員而言,顯然本發(fā)明不限于上述示范性實(shí)施例的細(xì)節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實(shí)現(xiàn)本發(fā)明。因此,無(wú)論從哪一點(diǎn)來(lái)看,均應(yīng)將實(shí)施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是上述說(shuō)明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化囊括在本發(fā)明內(nèi)。不應(yīng)將權(quán)利要求中的任何附圖標(biāo)記視為限制所涉及的權(quán)利要求。
此外,應(yīng)當(dāng)理解,雖然本說(shuō)明書(shū)按照實(shí)施方式加以描述,但并非每個(gè)實(shí)施方式僅包含一個(gè)獨(dú)立的技術(shù)方案,說(shuō)明書(shū)的這種敘述方式僅僅是為清楚起見(jiàn),本領(lǐng)域技術(shù)人員應(yīng)當(dāng)將說(shuō)明書(shū)作為一個(gè)整體,各實(shí)施例中的技術(shù)方案也可以經(jīng)適當(dāng)組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實(shí)施方式。