一種跨平臺(tái)游戲的渲染方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)游戲開發(fā)領(lǐng)域,尤其涉及一種跨平臺(tái)游戲的渲染方法和系統(tǒng)。
[0002]
【背景技術(shù)】
[0003]跨平臺(tái)游戲是指同一款游戲能在不同設(shè)備上流暢的運(yùn)行,滿足了游戲玩家在家玩電腦,出門玩手機(jī)的需求,給游戲玩家?guī)?lái)了極大方便;而且跨平臺(tái)游戲也使得游戲開發(fā)商節(jié)約了游戲開發(fā)成本,為后期運(yùn)營(yíng)游戲提供了方便。因此跨平臺(tái)游戲開發(fā)作為游戲開發(fā)的一個(gè)分支,也正日益得到開發(fā)者的關(guān)注。
[0004]為了實(shí)現(xiàn)游戲的跨平臺(tái)開發(fā)工作,其中要解決的一個(gè)重要問(wèn)題就是用戶界面(User Interface,以下簡(jiǎn)稱UI)編輯器的跨平臺(tái)工作問(wèn)題。目前跨平臺(tái)游戲開發(fā)中,大多使用UI框架下的跨平臺(tái)的圖像處理程序工具包(Gimp Toolkit,以下簡(jiǎn)稱GTK)為UI編輯器提供各種UI的各項(xiàng)圖像繪制功能。GTK先在其創(chuàng)建的圖形界面窗口中繪制游戲場(chǎng)景模型,然后UI編輯器調(diào)用圖形程序接口(Open Graphics Library,以下簡(jiǎn)稱0PENGL),由OPENGL在圖形界面窗口內(nèi)對(duì)游戲場(chǎng)景進(jìn)行渲染,游戲場(chǎng)景模型所在的圖形界面窗口稱為第一圖形界面窗口,游戲場(chǎng)景的渲染結(jié)果所在的圖形界面窗口稱為第二圖形界面窗口,這樣就會(huì)出現(xiàn)多個(gè)窗口并存的現(xiàn)象。
[0005]但是發(fā)明人在實(shí)際應(yīng)用中,發(fā)現(xiàn)上述方法有如下缺陷:
在多窗口并存的工作模式下,從第一圖形界面窗口切換到第二圖形界面窗口時(shí),操作系統(tǒng)會(huì)自動(dòng)釋放掉原來(lái)第一圖形界面窗口中的游戲渲染內(nèi)容,而當(dāng)再次從第二圖形界面窗口切換回原來(lái)的第一圖形界面窗口后,由于游戲渲染內(nèi)容已經(jīng)被釋放掉,此時(shí)只能重新啟動(dòng)UI編輯器,重新對(duì)游戲場(chǎng)景進(jìn)行渲染,這對(duì)于游戲開發(fā)人員來(lái)說(shuō)操作十分繁瑣,降低了工作效率。
【發(fā)明內(nèi)容】
[0006]為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種跨平臺(tái)游戲的渲染方法和系統(tǒng),當(dāng)從其他圖形界面窗口切換回第一圖形界面窗口后無(wú)需重新啟動(dòng)UI編輯器,簡(jiǎn)化了游戲開發(fā)人員的操作程序,提高了工作效率。
[0007]本發(fā)明實(shí)施例提供了一種跨平臺(tái)游戲的渲染方法,所述方法包括:
存儲(chǔ)第一圖形界面窗口的游戲渲染內(nèi)容;
當(dāng)從其它圖形界面窗口切換回所述第一圖形界面窗口后,UI編輯器獲取存儲(chǔ)的游戲渲染內(nèi)容,并調(diào)用跨平臺(tái)的圖形庫(kù),由所述跨平臺(tái)的圖形庫(kù)繼續(xù)對(duì)游戲場(chǎng)景進(jìn)行渲染。
[0008]其中,所述存儲(chǔ)第一圖形界面窗口的游戲渲染內(nèi)容具體為:實(shí)時(shí)存儲(chǔ)所述第一圖形界
面窗口的游戲渲染內(nèi)容;或者當(dāng)從所述第一圖形界面窗口切換到其它圖形界面窗口時(shí),存儲(chǔ)所述第一圖形界面窗口的游戲渲染內(nèi)容。
[0009]進(jìn)一步地,在存儲(chǔ)第一圖形界面窗口的游戲渲染內(nèi)容之前,所述方法還包括:
GTK調(diào)用操作系統(tǒng)的API在UI編輯器里創(chuàng)建游戲場(chǎng)景的第一圖形界面窗口 ;
UI編輯器調(diào)用跨平臺(tái)的圖形庫(kù),由所述跨平臺(tái)的圖形庫(kù)在所述第一圖形界面窗口內(nèi)對(duì)游戲場(chǎng)景進(jìn)行渲染。
[0010]所述跨平臺(tái)的圖形庫(kù)在所述第一圖形界面窗口內(nèi)對(duì)游戲場(chǎng)景進(jìn)行渲染具體為: 接收第一圖形界面窗口的窗口信息;
所述跨平臺(tái)的圖形庫(kù)根據(jù)第一圖形界面窗口的窗口信息在所述第一圖形界面窗口內(nèi)對(duì)游戲場(chǎng)景進(jìn)行渲染。
[0011]其中,所述第一圖形界面窗口的窗口信息包括第一圖形界面窗口的形狀、位置和尺寸。
[0012]其中,所述跨平臺(tái)的圖形庫(kù)為0PENGL。
[0013]本發(fā)明實(shí)施例還提供了一種跨平臺(tái)游戲的渲染系統(tǒng),所述系統(tǒng)包括存儲(chǔ)模塊、UI編輯器和跨平臺(tái)的圖形庫(kù):
所述存儲(chǔ)模塊,用于存儲(chǔ)第一圖形界面窗口的游戲渲染內(nèi)容;
所述UI編輯器,用于當(dāng)從其它圖形界面窗口切換回所述第一圖形界面窗口后,獲取所述存儲(chǔ)模塊存儲(chǔ)的游戲渲染內(nèi)容;還用于調(diào)用所述跨平臺(tái)的圖形庫(kù);
所述跨平臺(tái)的圖形庫(kù),用于對(duì)游戲場(chǎng)景進(jìn)行渲染。
[0014]進(jìn)一步地,所述系統(tǒng)還包括GTK:
所述GTK,用于調(diào)用操作系統(tǒng)的API在UI編輯器里創(chuàng)建游戲場(chǎng)景的第一圖形界面窗
P ;
所述跨平臺(tái)的圖形庫(kù),用于在所述GTK創(chuàng)建的第一圖形界面窗口內(nèi)對(duì)游戲場(chǎng)景進(jìn)行
渲染。
[0015]進(jìn)一步地,所述跨平臺(tái)的圖形庫(kù)還用于接收第一圖形界面窗口的窗口信息;并根據(jù)所述第一圖形界面窗口的窗口信息在所述第一圖形界面窗口內(nèi)對(duì)游戲場(chǎng)景進(jìn)行渲染。
[0016]本發(fā)明實(shí)施例中由于存儲(chǔ)了第一圖形界面窗口的游戲渲染內(nèi)容,當(dāng)從其他圖形界面窗口切換回第一圖形界面窗口后,UI編輯器獲取存儲(chǔ)的游戲渲染內(nèi)容,然后調(diào)用跨平臺(tái)的圖形庫(kù),由跨平臺(tái)的圖形庫(kù)繼續(xù)對(duì)游戲場(chǎng)景進(jìn)行渲染,而不需要重啟UI編輯器重新對(duì)游戲場(chǎng)景進(jìn)行渲染,簡(jiǎn)化了游戲開發(fā)人員的操作程序,提高了工作效率;當(dāng)跨平臺(tái)圖形庫(kù)為0PENGL,由于OPENGL自身強(qiáng)大的渲染功能,使得游戲場(chǎng)景的渲染效果更加真實(shí),大大提高了游戲玩家的游戲體驗(yàn);進(jìn)一步地,OPENGL根據(jù)第一圖形界面窗口的窗口信息在所述第一圖形界面窗口內(nèi)對(duì)游戲場(chǎng)景進(jìn)行渲染,可以使對(duì)游戲進(jìn)行渲染的渲染區(qū)域與第一圖形界面窗口更加匹配,從而使得游戲開發(fā)界面更加美觀。
[0017]
【附圖說(shuō)明】
[0018]圖1是本發(fā)明提供的一種跨平臺(tái)游戲的渲染方法流程示意圖;
圖2是本發(fā)明提供的一種跨平臺(tái)游戲的渲染系統(tǒng)結(jié)構(gòu)示意圖。
[0019]
【具體實(shí)施方式】
[0020]下面結(jié)合附圖和實(shí)施例,對(duì)發(fā)明的【具體實(shí)施方式】作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說(shuō)明本發(fā)明,但不用來(lái)限制本發(fā)明的范圍。
[0021]參見圖1所示,本發(fā)明實(shí)施例提供了一種跨平臺(tái)游戲的渲染方法,該方法包括以下步驟:
步驟1、存儲(chǔ)第一圖形界面窗口的游戲渲染內(nèi)容;
本發(fā)明實(shí)施例中,在第一圖形界面窗口對(duì)游戲場(chǎng)景進(jìn)行渲染的過(guò)程中可以實(shí)時(shí)存儲(chǔ)游戲渲染內(nèi)容,也可以當(dāng)從第一圖形界面窗口切換到其它圖形界面窗口時(shí),存儲(chǔ)游戲渲染內(nèi)容。
[0022]具體的,可以存儲(chǔ)在操作系統(tǒng)后臺(tái)中,或者也可以存儲(chǔ)在硬盤中。
[0023]步驟2、當(dāng)從其它圖形界面窗口切換回上述第一圖形界面窗口后,UI編輯器獲取存儲(chǔ)的游戲渲染內(nèi)容,并調(diào)用跨平臺(tái)的圖形庫(kù),由跨平臺(tái)的圖形庫(kù)繼續(xù)對(duì)游戲場(chǎng)景進(jìn)行渲染。
[0024]現(xiàn)有技術(shù)中,當(dāng)從第一圖形界面窗口切換到其它圖形界面窗口時(shí),操作系統(tǒng)平臺(tái)會(huì)自動(dòng)釋放掉原來(lái)第一圖形界面窗口中的游戲渲染內(nèi)容,當(dāng)再次切換回原來(lái)的第一圖形界面窗口后,由于游戲渲染內(nèi)容已經(jīng)被釋放掉,此時(shí)只有重新啟動(dòng)UI編輯器,再次調(diào)用圖形庫(kù)對(duì)游戲場(chǎng)景重新進(jìn)行渲染,而本發(fā)明實(shí)施例中由于保存了游戲渲染內(nèi)容,當(dāng)從其它圖形界面窗口切換回第一圖形界面窗口后,UI編輯器獲取存儲(chǔ)的游戲渲染內(nèi)容,然后調(diào)用跨平臺(tái)的圖形庫(kù)繼續(xù)對(duì)游戲場(chǎng)景進(jìn)行渲染,而不需要重啟UI編輯器重新對(duì)游戲場(chǎng)景進(jìn)行渲染,簡(jiǎn)化了游戲開發(fā)人員的操作程序,提高了工作效率。
[0025]本發(fā)明實(shí)施例中,跨平臺(tái)的圖形庫(kù)為0PENGL,則本發(fā)明實(shí)施例步驟2為:當(dāng)從其它圖形界面窗口切換回上述第一圖形界面窗口后,UI編輯器獲取存儲(chǔ)的游戲渲染內(nèi)容,并調(diào)用0PENGL,由OPENGL繼續(xù)對(duì)游戲場(chǎng)景進(jìn)行渲染。
[0026]OpenGL—個(gè)跨編程語(yǔ)言、跨平臺(tái)的編程接口規(guī)格的專業(yè)的圖形程序接口。OpenGL是行業(yè)領(lǐng)域中最為廣泛接納的二維/三維的底層圖形庫(kù),它獨(dú)立于窗口系統(tǒng)和操作系統(tǒng),以它為基礎(chǔ)開發(fā)的應(yīng)用程序在運(yùn)行各種操作系統(tǒng)的各種計(jì)算機(jī)上都可使用,是專業(yè)圖形處理、科學(xué)計(jì)算等高端應(yīng)用領(lǐng)域的標(biāo)準(zhǔn)圖形庫(kù)。
[0027]需要說(shuō)明的是,目前跨平臺(tái)的圖形庫(kù)主要為0PENGL,但本發(fā)明實(shí)施例中跨平臺(tái)的圖形庫(kù)不限于0PENGL,當(dāng)以后出現(xiàn)其它的跨平臺(tái)的圖形庫(kù)時(shí),本發(fā)明實(shí)施例仍舊適用其它的跨平臺(tái)的圖形庫(kù)。
[0028]本發(fā)明實(shí)施例中,在步驟I之前,還包括:
GTK調(diào)用操作系統(tǒng)的API在UI編輯器里創(chuàng)建游戲場(chǎng)景的第一圖形界面窗口 ;
UI編輯器調(diào)用跨平臺(tái)的圖形庫(kù),由跨平臺(tái)的圖形庫(kù)在第一圖形界面窗口內(nèi)對(duì)游戲場(chǎng)景進(jìn)行渲染。當(dāng)跨平臺(tái)的圖形庫(kù)為OPENGL時(shí),UI編輯器調(diào)用0PENGL,由OPENGL在第一圖形界面窗口內(nèi)對(duì)游戲場(chǎng)景進(jìn)行渲染。
[002