專(zhuān)利名稱(chēng):一種三維網(wǎng)頁(yè)多場(chǎng)景快速切換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)頁(yè)加載與顯示方法,尤其是涉及一種三維網(wǎng)頁(yè)多場(chǎng)景快速切換方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,傳統(tǒng)的網(wǎng)頁(yè)技術(shù)和表現(xiàn)形式也發(fā)生了劇烈變化。近2 年,越來(lái)越多的三維網(wǎng)頁(yè)游戲以及虛擬展示技術(shù)開(kāi)始應(yīng)用在互聯(lián)網(wǎng)在線平臺(tái)上。不可避免的是不同于傳統(tǒng)的客戶端三維技術(shù),網(wǎng)頁(yè)三維將面臨更大的技術(shù)性挑戰(zhàn)。其中一點(diǎn)就是網(wǎng)頁(yè)三維將面對(duì)更多的用戶群體,而用戶電腦的硬件配置和游覽器對(duì)三維技術(shù)的支持是各式各樣,層次不齊的。所以優(yōu)化合理的運(yùn)用三維引擎的渲染效率是至關(guān)重要的。
傳統(tǒng)的網(wǎng)頁(yè)三維技術(shù)的引擎渲染基礎(chǔ)步驟主要包括
I、根據(jù)應(yīng)用需要,確定所需資源本地是否存在,如果未能獲得,則從網(wǎng)絡(luò)上下載所需加載的資源;
2、CPU加載當(dāng)前場(chǎng)景的資源信息至內(nèi)存中,將非當(dāng)前場(chǎng)景的資源從內(nèi)存中釋放掉;
3、通過(guò)當(dāng)前相機(jī)的視覺(jué)位置,分析裁剪所需顯示的模型范圍,CPU根據(jù)需要將在視覺(jué)范圍內(nèi)的對(duì)象信息,從內(nèi)存中讀入顯存;
4、根據(jù)視角的變化,加載需要的資源到顯存中,數(shù)據(jù)會(huì)從內(nèi)存中傳輸至顯存。將不需要顯示的數(shù)據(jù)從顯存中剔除;
5、GPU會(huì)根據(jù)顯存的信息繪制圖形,在顯示器顯示圖形。
然而,在實(shí)際應(yīng)用過(guò)程中,攝像機(jī)(即用戶可見(jiàn)視角)會(huì)因?yàn)橛脩舻牟僮鞫粩喔淖?。這會(huì)使計(jì)算機(jī)頻繁的重新篩選需要加載在顯存內(nèi)的模型和貼圖,這類(lèi)操作需要大量的占用內(nèi)存和顯存空間的數(shù)據(jù)傳輸,而大幅度的降低顯示效率,實(shí)際用戶體驗(yàn)表現(xiàn)為響應(yīng)緩慢、顯示幀數(shù)降低。其次,在實(shí)際應(yīng)用過(guò)程中,用戶將常常面臨各個(gè)顯示區(qū)域的切換,從A地點(diǎn)轉(zhuǎn)換到B地點(diǎn)。根據(jù)以上步驟,計(jì)算機(jī)會(huì)從顯存和內(nèi)存中刪除不再顯示使用的數(shù)據(jù),并重新加載所需顯示的內(nèi)容,顯示速度較慢。發(fā)明內(nèi)容
本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種卡幀和掉幀現(xiàn)象少、場(chǎng)景切換流暢性強(qiáng)的三維網(wǎng)頁(yè)多場(chǎng)景快速切換方法。
本發(fā)明的目的可以通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn)
一種三維網(wǎng)頁(yè)多場(chǎng)景快速切換方法,該方法包括以下步驟
I)根據(jù)相機(jī)的位置獲得所需顯示的所有目標(biāo)及區(qū)域全景;
2)判斷所需的場(chǎng)景數(shù)據(jù)是否在本地資源中,若是,則直接執(zhí)行步驟3),若否,則從資源服務(wù)器上下載所需的場(chǎng)景數(shù)據(jù)后,執(zhí)行步驟3);
3)將所需的場(chǎng)景數(shù)據(jù)加載至內(nèi)存中;3
4)根據(jù)當(dāng)前場(chǎng)景的數(shù)據(jù)信息,將該場(chǎng)景的所有模型數(shù)據(jù)全部加載入場(chǎng)景,并附加渲染隊(duì)列的參數(shù),對(duì)所有模型進(jìn)行分組渲染;
5)根據(jù)當(dāng)前相機(jī)的視角,將該視角中的所有模型數(shù)據(jù)傳入顯存中進(jìn)行渲染;
6)切換到其他場(chǎng)景時(shí),重設(shè)相應(yīng)模型的渲染隊(duì)列的參數(shù)。
所述的渲染隊(duì)列的參數(shù)包括渲染組參數(shù)和單模型渲染參數(shù)。
所述的渲染組參數(shù)包括當(dāng)前組可見(jiàn)性參數(shù)。
所述的單模型渲染參數(shù)包括模型所屬渲染組編號(hào)和模型可見(jiàn)性參數(shù)。
與現(xiàn)有技術(shù)相比,本發(fā)明可以有效的降低因場(chǎng)景切換和視角變換導(dǎo)致的卡幀和掉幀現(xiàn)象,從而使用戶的體驗(yàn)流暢性大大增強(qiáng),能夠像二維游戲一樣順利高效率地切換不同場(chǎng)景。
圖I為本發(fā)明方法的流程示意圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
實(shí)施例
如圖I所示,一種三維網(wǎng)頁(yè)多場(chǎng)景快速切換方法,該方法包括以下步驟
I)根據(jù)相機(jī)的位置獲得所需顯示的所有目標(biāo)及區(qū)域全景;
2)判斷所需的場(chǎng)景數(shù)據(jù)是否在本地資源中,若是,則直接執(zhí)行步驟3),若否,則從資源服務(wù)器上下載所需的場(chǎng)景數(shù)據(jù)后,執(zhí)行步驟3);
3)將所需的場(chǎng)景數(shù)據(jù)加載至內(nèi)存中;
4)根據(jù)當(dāng)前場(chǎng)景的數(shù)據(jù)信息,將該場(chǎng)景的所有模型數(shù)據(jù)全部加載入場(chǎng)景,并附加渲染隊(duì)列的參數(shù),對(duì)所有模型進(jìn)行分組渲染;
5)根據(jù)當(dāng)前相機(jī)的視角,將該視角中的所有模型數(shù)據(jù)傳入顯存中進(jìn)行渲染,不用釋放內(nèi)存資源;
6)切換到其他場(chǎng)景時(shí),重設(shè)相應(yīng)模型的渲染隊(duì)列的參數(shù)。因所有資源已加載到內(nèi)存中,不會(huì)根據(jù)相機(jī)的視角不同,而刪減模型數(shù)據(jù)。
所述的渲染隊(duì)列的參數(shù)包括渲染組參數(shù)和單模型渲染參數(shù)。所述的渲染組參數(shù)包括當(dāng)前組可見(jiàn)性參數(shù)。所述的單模型渲染參數(shù)包括模型所屬渲染組編號(hào)和模型可見(jiàn)性參數(shù)。
本方法可以有效的降低因場(chǎng)景切換和視角變換導(dǎo)致的卡頓和掉幀現(xiàn)象。從而使用戶的體驗(yàn)流暢性大大增強(qiáng),能夠像二維游戲一樣順利高效率的切換不同場(chǎng)景。
權(quán)利要求
1.一種三維網(wǎng)頁(yè)多場(chǎng)景快速切換方法,其特征在于,該方法包括以下步驟1)根據(jù)相機(jī)的位置獲得所需顯示的所有目標(biāo)及區(qū)域全景;2)判斷所需的場(chǎng)景數(shù)據(jù)是否在本地資源中,若是,則直接執(zhí)行步驟3),若否,則從資源服務(wù)器上下載所需的場(chǎng)景數(shù)據(jù)后,執(zhí)行步驟3);3)將所需的場(chǎng)景數(shù)據(jù)加載至內(nèi)存中;4)根據(jù)當(dāng)前場(chǎng)景的數(shù)據(jù)信息,將該場(chǎng)景的所有模型數(shù)據(jù)全部加載入場(chǎng)景,并附加渲染隊(duì)列的參數(shù),對(duì)所有模型進(jìn)行分組渲染;5)根據(jù)當(dāng)前相機(jī)的視角,將該視角中的所有模型數(shù)據(jù)傳入顯存中進(jìn)行渲染;6)切換到其他場(chǎng)景時(shí),重設(shè)相應(yīng)模型的渲染隊(duì)列的參數(shù)。
2.根據(jù)權(quán)利要求I所述的一種三維網(wǎng)頁(yè)多場(chǎng)景快速切換方法,其特征在于,所述的渲染隊(duì)列的參數(shù)包括渲染組參數(shù)和單模型渲染參數(shù)。
3.根據(jù)權(quán)利要求2所述的一種三維網(wǎng)頁(yè)多場(chǎng)景快速切換方法,其特征在于,所述的渲染組參數(shù)包括當(dāng)前組可見(jiàn)性參數(shù)。
4.根據(jù)權(quán)利要求2所述的一種三維網(wǎng)頁(yè)多場(chǎng)景快速切換方法,其特征在于,所述的單模型渲染參數(shù)包括模型所屬渲染組編號(hào)和模型可見(jiàn)性參數(shù)。
全文摘要
本發(fā)明涉及一種三維網(wǎng)頁(yè)多場(chǎng)景快速切換方法,該方法包括以下步驟1)根據(jù)相機(jī)的位置獲得所需顯示的所有目標(biāo)及區(qū)域全景;2)判斷所需的場(chǎng)景數(shù)據(jù)是否在本地資源中,若是,則直接執(zhí)行步驟3),若否,則從資源服務(wù)器上下載所需的場(chǎng)景數(shù)據(jù)后,執(zhí)行步驟3);3)將所需的場(chǎng)景數(shù)據(jù)加載至內(nèi)存中;4)根據(jù)場(chǎng)景的數(shù)據(jù)信息,將不同場(chǎng)景的模型數(shù)據(jù)全部加載入場(chǎng)景,并附加渲染隊(duì)列的參數(shù);5)根據(jù)當(dāng)前相機(jī)位置,將該組中的所有模型數(shù)據(jù)傳入顯存中進(jìn)行渲染;6)切換到其他場(chǎng)景時(shí),重設(shè)相應(yīng)模型的渲染隊(duì)列的參數(shù)。與現(xiàn)有技術(shù)相比,本發(fā)明具有卡幀和掉幀現(xiàn)象少、場(chǎng)景切換流暢性強(qiáng)等優(yōu)點(diǎn)。
文檔編號(hào)G06F17/30GK102982159SQ20121051613
公開(kāi)日2013年3月20日 申請(qǐng)日期2012年12月5日 優(yōu)先權(quán)日2012年12月5日
發(fā)明者莊易霖, 張生言, 楊云杰 申請(qǐng)人:上海創(chuàng)圖網(wǎng)絡(luò)科技發(fā)展有限公司