一種跨平臺游戲的渲染方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)游戲領(lǐng)域,尤其涉及一種跨平臺游戲的渲染方法和系統(tǒng)。
【背景技術(shù)】
[0002]跨平臺游戲是指同一款游戲能在不同設(shè)備上流暢的運(yùn)行,滿足了游戲玩家在家玩電腦,出門玩手機(jī)的需求,給游戲玩家?guī)砹藰O大方便;而且跨平臺游戲也使得游戲開發(fā)商節(jié)約了游戲開發(fā)成本,為后期運(yùn)營游戲提供了方便。因此跨平臺游戲開發(fā)作為游戲開發(fā)的一個(gè)分支,也正日益得到開發(fā)者的關(guān)注。
[0003]為了實(shí)現(xiàn)游戲的跨平臺開發(fā)工作,其中要解決的一個(gè)重要問題就是用戶界面(User Interface,以下簡稱UI)編輯器的跨平臺工作問題。目前跨平臺游戲開發(fā)中,大多使用UI框架下的跨平臺的圖像處理程序工具包(Gimp Toolkit,以下簡稱GTK)為UI編輯器提供各種UI的各項(xiàng)圖像繪制功能。
[0004]但是GTK只能創(chuàng)建簡單的游戲場景模型,不能對游戲場景模型進(jìn)行渲染,這樣游戲玩家就得不到真實(shí)的游戲體驗(yàn),因此這種跨平臺游戲開發(fā)工具大大降低了游戲制作畫面效果,游戲開發(fā)人員無法開發(fā)畫面效果更好的游戲。
【發(fā)明內(nèi)容】
[0005]為解決上述技術(shù)問題,本發(fā)明提供一種跨平臺游戲的渲染方法和系統(tǒng),使得GTK在UI編輯器里可以對游戲場景進(jìn)行渲染,提高了跨平臺游戲開發(fā)工具的游戲制作畫面效果O
本發(fā)明實(shí)施例提供了一種跨平臺游戲的渲染方法,所述方法包括:
GTK調(diào)用操作系統(tǒng)的API在UI編輯器里創(chuàng)建游戲場景的圖形界面窗口 ;
UI編輯器調(diào)用跨平臺的圖形庫,由所述跨平臺的圖形庫在所述圖形界面窗口內(nèi)對游戲場景進(jìn)行渲染。
[0006]其中,所述操作系統(tǒng)為Windows系統(tǒng)或者M(jìn)ac系統(tǒng)或者Linux系統(tǒng)。
[0007]其中,所述跨平臺的圖形庫為圖形程序接口(Open Graphics Library,以下簡稱OPENGL)ο
[0008]進(jìn)一步地,在所述GTK調(diào)用操作系統(tǒng)的API在UI編輯器里創(chuàng)建游戲場景的圖形界面窗口之后,所述方法還包括:
GTK在所述創(chuàng)建好的圖形界面窗口上預(yù)設(shè)所述游戲場景的渲染區(qū)域;
相應(yīng)的,所述跨平臺的圖形庫在所述圖形界面窗口內(nèi)對游戲場景進(jìn)行渲染具體為: 所述OPENGL在所述圖形界面窗口上預(yù)設(shè)的游戲場景的渲染區(qū)域內(nèi)對游戲場景進(jìn)行渲染。
[0009]其中,所述游戲場景的渲染區(qū)域的形狀為矩形形狀。
[0010]或者,進(jìn)一步地,在所述GTK調(diào)用操作系統(tǒng)的API在UI編輯器里創(chuàng)建游戲場景的圖形界面窗口之后,所述方法還包括: 記錄所述圖形界面窗口的窗口信息;
相應(yīng)的,所述跨平臺的圖形庫在所述圖形界面窗口內(nèi)對游戲場景進(jìn)行渲染具體為:所述OPENGL根據(jù)記錄的所述圖形界面窗口的窗口信息在所述圖形界面窗口內(nèi)對游戲場景進(jìn)行渲染。
[0011]其中,所述圖形界面窗口的窗口信息包括所述圖形界面窗口的形狀、位置和尺寸。
[0012]具體地,所述OPENGL對游戲場景進(jìn)行渲染的渲染區(qū)域信息與所述圖形界面窗口的窗口信息相同。
[0013]本發(fā)明實(shí)施例還提供了一種跨平臺游戲的渲染系統(tǒng),所述系統(tǒng)包括:GTK、UI編輯器和跨平臺的圖形庫;
所述GTK,用于調(diào)用操作系統(tǒng)的API在所述UI編輯器里創(chuàng)建游戲場景的圖形界面窗
P ;
所述UI編輯器,用于調(diào)用所述跨平臺的圖形庫;
所述跨平臺的圖形庫,用于在所述GTK創(chuàng)建的圖形界面窗口內(nèi)對游戲場景進(jìn)行渲染。
[0014]其中,所述跨平臺的圖形庫為0PENGL。
[0015]進(jìn)一步地,所述GTK還用于在所述創(chuàng)建好的圖形界面窗口上預(yù)設(shè)所述游戲場景的渲染區(qū)域;
相應(yīng)的,所述跨平臺的圖形庫,用于在所述圖形界面窗口上預(yù)設(shè)的游戲場景的渲染區(qū)域內(nèi)對游戲場景進(jìn)行渲染。
[0016]或者,進(jìn)一步地,所述系統(tǒng)還包括記錄模塊,所述記錄模塊用于記錄所述圖形界面窗口的窗口信息;
相應(yīng)的,所述OPENGL用于根據(jù)記錄的所述圖形界面窗口的窗口信息在所述圖形界面窗口內(nèi)對游戲場景進(jìn)行渲染。
[0017]本發(fā)明實(shí)施例中GTK在UI編輯器里創(chuàng)建游戲場景的圖形界面窗口,然后UI編輯器調(diào)用跨平臺的圖形庫,由跨平臺的圖形庫在圖形界面窗口內(nèi)對游戲場景進(jìn)行渲染,解決了 GTK無法在UI編輯器里對游戲場景進(jìn)行渲染的問題,因此大大提高了這種跨平臺游戲開發(fā)工具的游戲制作畫面效果,使得游戲開發(fā)人員可以開發(fā)出畫面效果更好的游戲;同時(shí)也提高了 CPU的利用效率;當(dāng)跨平臺的圖形庫為OPENGL時(shí),由于OPENGL自身強(qiáng)大的渲染功能,使得游戲場景的渲染效果更加真實(shí),大大提高了游戲玩家的游戲體驗(yàn);進(jìn)一步地,通過在圖形界面窗口上預(yù)設(shè)游戲場景的渲染區(qū)域,使游戲場景的渲染結(jié)果就在預(yù)設(shè)的渲染區(qū)域內(nèi);或者通過記錄圖形界面窗口的窗口信息,使跨平臺的圖形庫根據(jù)圖形界面窗口的窗口信息對游戲場景進(jìn)行渲染時(shí),達(dá)到游戲開發(fā)人員的特定要求,擴(kuò)大了應(yīng)用范圍,提高了通用性;更進(jìn)一步地,OPENGL對游戲場景進(jìn)行渲染的渲染區(qū)域與所述圖形界面窗口重合,這樣游戲場景的渲染區(qū)域與圖形界面窗口是無縫連接的,使得游戲開發(fā)的畫面更加美觀。
[0018]
【附圖說明】
[0019]圖1是本發(fā)明提供的一種跨平臺游戲的渲染方法流程示意圖;
圖2是本發(fā)明提供的一種跨平臺游戲的渲染系統(tǒng)結(jié)構(gòu)示意圖。
[0020]
【具體實(shí)施方式】
[0021]下面結(jié)合附圖和實(shí)施例,對發(fā)明的【具體實(shí)施方式】作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
[0022]參見圖1所示,本發(fā)明實(shí)施例提供了一種跨平臺游戲的渲染方法,該方法包括以下步驟:
步驟1、GTK調(diào)用操作系統(tǒng)的API在UI編輯器里創(chuàng)建游戲場景的圖形界面窗口 ;
其中,GTK是一種跨平臺的圖形工具包,也可以稱為一個(gè)功能強(qiáng)大、設(shè)計(jì)靈活的一個(gè)通用圖形庫。它支持創(chuàng)建基于圖形用戶界面(Graphical User Interface,以下簡稱⑶I)的應(yīng)用程序,從這個(gè)工具包中可以找到用來創(chuàng)建⑶I的許多已經(jīng)準(zhǔn)備好的構(gòu)造塊。是GNU/Linux下開發(fā)圖形界面的應(yīng)用程序的主流開發(fā)工具之一,也適用于Windows系統(tǒng)或者M(jìn)ac系統(tǒng)。
[0023]具體地,在Windows系統(tǒng)下,GTK調(diào)用Windows系統(tǒng)的API在UI編輯器里創(chuàng)建游戲場景的圖形界面窗口 ;在Mac系統(tǒng)下,GTK調(diào)用Mac系統(tǒng)的API在UI編輯器里創(chuàng)建游戲場景的圖形界面窗口 ;在Linux系統(tǒng)下,GTK調(diào)用Linux系統(tǒng)的API在UI編輯器里創(chuàng)建游戲場景的圖形界面窗口 ;但本發(fā)明實(shí)施例不限于這三種操作系統(tǒng),只要能完成本發(fā)明實(shí)施例的操作系統(tǒng)都適用。
[0024]步驟2、UI編輯器調(diào)用跨平臺的圖形庫,由跨平臺的圖形庫在GTK創(chuàng)建的圖形界面窗口內(nèi)對游戲場景進(jìn)行渲染。
[0025]本發(fā)明實(shí)施例中,跨平臺的圖形庫為0PENGL,則本發(fā)明實(shí)施例步驟2為:UI編輯器調(diào)用0PENGL,由OPENGL在GTK創(chuàng)建的圖形界面窗口內(nèi)對游戲場景進(jìn)行渲染。
[0026]OpenGL—個(gè)跨編程語言、跨平臺的編程接口規(guī)格的專業(yè)的圖形程序接口。OpenGL是行業(yè)領(lǐng)域中最為廣泛接納的二維/三維的底層圖形庫,它獨(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)圖形庫。
[0027]需要說明的是,目前跨平臺的圖形庫主要為0PENGL,但本發(fā)明實(shí)施例中跨平臺的圖形庫不限于0PENGL,當(dāng)以后出現(xiàn)其它的跨平臺的圖形庫時(shí),本發(fā)明實(shí)施例仍舊適用于其它的跨平臺的圖形庫。
[0028]現(xiàn)有技術(shù)中,一般游戲游戲場景的繪制是在系統(tǒng)自帶的繪圖工具中完成。但是在跨平臺游戲開發(fā)中,大多使用GTK來完成游戲場景的繪制,但是GTK又無法對游戲場景進(jìn)行渲染,而本發(fā)明實(shí)施例中使用GTK繪制游戲場景,然后在UI編輯器里調(diào)用0PENGL,通過OPENGL對GTK繪制的游戲場景進(jìn)行渲染,解決了在GTK創(chuàng)建的圖形界面窗口下無法對游戲場景進(jìn)行渲染的問題,大大提高了這種跨平臺游戲開發(fā)工具的游戲制作畫面效果。
[0029]進(jìn)一步地,在步驟I之后、步驟2之前,本發(fā)明實(shí)施例還包括:
GTK在創(chuàng)建的圖形界面窗口上預(yù)設(shè)上述游戲場景的渲染區(qū)域;
相應(yīng)的,步驟2中跨平臺的圖形庫在GTK創(chuàng)建的圖形界面窗口內(nèi)對游戲場景進(jìn)行渲染則具體為=OPENGL在圖形界面窗口上預(yù)設(shè)的游戲場景的渲染區(qū)域內(nèi)對游戲場景進(jìn)行渲染。
[0030]目前窗口系統(tǒng)中獨(dú)立的窗口都是矩形的,因此本發(fā)明實(shí)施例中游戲場景渲染區(qū)域是矩形形狀。但本發(fā)明實(shí)施例也不限于矩形形狀,如果窗口系統(tǒng)中獨(dú)立的窗口可以為其它形狀,則本發(fā)明實(shí)施例中的游戲場景的渲染區(qū)域也可以是其它形狀。
[0031]或者,在步驟