一种跨平台游戏的渲染方法和系统
技术领域
本发明涉及网络游戏领域,尤其涉及一种跨平台游戏的渲染方法和系统。
背景技术
跨平台游戏是指同一款游戏能在不同设备上流畅的运行,满足了游戏玩家在家玩电脑,出门玩手机的需求,给游戏玩家带来了极大方便;而且跨平台游戏也使得游戏开发商节约了游戏开发成本,为后期运营游戏提供了方便。因此跨平台游戏开发作为游戏开发的一个分支,也正日益得到开发者的关注。
为了实现游戏的跨平台开发工作,其中要解决的一个重要问题就是用户界面(UserInterface,以下简称UI)编辑器的跨平台工作问题。目前跨平台游戏开发中,大多使用UI框架下的跨平台的图像处理程序工具包(GimpToolkit,以下简称GTK)为UI编辑器提供各种UI的各项图像绘制功能。
但是GTK只能创建简单的游戏场景模型,不能对游戏场景模型进行渲染,这样游戏玩家就得不到真实的游戏体验,因此这种跨平台游戏开发工具大大降低了游戏制作画面效果,游戏开发人员无法开发画面效果更好的游戏。
发明内容
为解决上述技术问题,本发明提供一种跨平台游戏的渲染方法和系统,使得GTK在UI编辑器里可以对游戏场景进行渲染,提高了跨平台游戏开发工具的游戏制作画面效果。
本发明实施例提供了一种跨平台游戏的渲染方法,所述方法包括:
GTK调用操作系统的API在UI编辑器里创建游戏场景的图形界面窗口;
UI编辑器调用跨平台的图形库,由所述跨平台的图形库在所述图形界面窗口内对游戏场景进行渲染。
其中,所述操作系统为Windows系统或者Mac系统或者Linux系统。
其中,所述跨平台的图形库为图形程序接口(OpenGraphicsLibrary,以下简称OPENGL)。
进一步地,在所述GTK调用操作系统的API在UI编辑器里创建游戏场景的图形界面窗口之后,所述方法还包括:
GTK在所述创建好的图形界面窗口上预设所述游戏场景的渲染区域;
相应的,所述跨平台的图形库在所述图形界面窗口内对游戏场景进行渲染具体为:
所述OPENGL在所述图形界面窗口上预设的游戏场景的渲染区域内对游戏场景进行渲染。
其中,所述游戏场景的渲染区域的形状为矩形形状。
或者,进一步地,在所述GTK调用操作系统的API在UI编辑器里创建游戏场景的图形界面窗口之后,所述方法还包括:
记录所述图形界面窗口的窗口信息;
相应的,所述跨平台的图形库在所述图形界面窗口内对游戏场景进行渲染具体为:
所述OPENGL根据记录的所述图形界面窗口的窗口信息在所述图形界面窗口内对游戏场景进行渲染。
其中,所述图形界面窗口的窗口信息包括所述图形界面窗口的形状、位置和尺寸。
具体地,所述OPENGL对游戏场景进行渲染的渲染区域信息与所述图形界面窗口的窗口信息相同。
本发明实施例还提供了一种跨平台游戏的渲染系统,所述系统包括:GTK、UI编辑器和跨平台的图形库;
所述GTK,用于调用操作系统的API在所述UI编辑器里创建游戏场景的图形界面窗口;
所述UI编辑器,用于调用所述跨平台的图形库;
所述跨平台的图形库,用于在所述GTK创建的图形界面窗口内对游戏场景进行渲染。
其中,所述跨平台的图形库为OPENGL。
进一步地,所述GTK还用于在所述创建好的图形界面窗口上预设所述游戏场景的渲染区域;
相应的,所述跨平台的图形库,用于在所述图形界面窗口上预设的游戏场景的渲染区域内对游戏场景进行渲染。
或者,进一步地,所述系统还包括记录模块,所述记录模块用于记录所述图形界面窗口的窗口信息;
相应的,所述OPENGL用于根据记录的所述图形界面窗口的窗口信息在所述图形界面窗口内对游戏场景进行渲染。
本发明实施例中GTK在UI编辑器里创建游戏场景的图形界面窗口,然后UI编辑器调用跨平台的图形库,由跨平台的图形库在图形界面窗口内对游戏场景进行渲染,解决了GTK无法在UI编辑器里对游戏场景进行渲染的问题,因此大大提高了这种跨平台游戏开发工具的游戏制作画面效果,使得游戏开发人员可以开发出画面效果更好的游戏;同时也提高了CPU的利用效率;当跨平台的图形库为OPENGL时,由于OPENGL自身强大的渲染功能,使得游戏场景的渲染效果更加真实,大大提高了游戏玩家的游戏体验;进一步地,通过在图形界面窗口上预设游戏场景的渲染区域,使游戏场景的渲染结果就在预设的渲染区域内;或者通过记录图形界面窗口的窗口信息,使跨平台的图形库根据图形界面窗口的窗口信息对游戏场景进行渲染时,达到游戏开发人员的特定要求,扩大了应用范围,提高了通用性;更进一步地,OPENGL对游戏场景进行渲染的渲染区域与所述图形界面窗口重合,这样游戏场景的渲染区域与图形界面窗口是无缝连接的,使得游戏开发的画面更加美观。
附图说明
图1是本发明提供的一种跨平台游戏的渲染方法流程示意图;
图2是本发明提供的一种跨平台游戏的渲染系统结构示意图。
具体实施方式
下面结合附图和实施例,对发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
参见图1所示,本发明实施例提供了一种跨平台游戏的渲染方法,该方法包括以下步骤:
步骤1、GTK调用操作系统的API在UI编辑器里创建游戏场景的图形界面窗口;
其中,GTK是一种跨平台的图形工具包,也可以称为一个功能强大、设计灵活的一个通用图形库。它支持创建基于图形用户界面(GraphicalUserInterface,以下简称GUI)的应用程序,从这个工具包中可以找到用来创建GUI的许多已经准备好的构造块。是GNU/Linux下开发图形界面的应用程序的主流开发工具之一,也适用于Windows系统或者Mac系统。
具体地,在Windows系统下,GTK调用Windows系统的API在UI编辑器里创建游戏场景的图形界面窗口;在Mac系统下,GTK调用Mac系统的API在UI编辑器里创建游戏场景的图形界面窗口;在Linux系统下,GTK调用Linux系统的API在UI编辑器里创建游戏场景的图形界面窗口;但本发明实施例不限于这三种操作系统,只要能完成本发明实施例的操作系统都适用。
步骤2、UI编辑器调用跨平台的图形库,由跨平台的图形库在GTK创建的图形界面窗口内对游戏场景进行渲染。
本发明实施例中,跨平台的图形库为OPENGL,则本发明实施例步骤2为:UI编辑器调用OPENGL,由OPENGL在GTK创建的图形界面窗口内对游戏场景进行渲染。
OpenGL一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。OpenGL是行业领域中最为广泛接纳的二维/三维的底层图形库,它独立于窗口系统和操作系统,以它为基础开发的应用程序在运行各种操作系统的各种计算机上都可使用,是专业图形处理、科学计算等高端应用领域的标准图形库。
需要说明的是,目前跨平台的图形库主要为OPENGL,但本发明实施例中跨平台的图形库不限于OPENGL,当以后出现其它的跨平台的图形库时,本发明实施例仍旧适用于其它的跨平台的图形库。
现有技术中,一般游戏游戏场景的绘制是在系统自带的绘图工具中完成。但是在跨平台游戏开发中,大多使用GTK来完成游戏场景的绘制,但是GTK又无法对游戏场景进行渲染,而本发明实施例中使用GTK绘制游戏场景,然后在UI编辑器里调用OPENGL,通过OPENGL对GTK绘制的游戏场景进行渲染,解决了在GTK创建的图形界面窗口下无法对游戏场景进行渲染的问题,大大提高了这种跨平台游戏开发工具的游戏制作画面效果。
进一步地,在步骤1之后、步骤2之前,本发明实施例还包括:
GTK在创建的图形界面窗口上预设上述游戏场景的渲染区域;
相应的,步骤2中跨平台的图形库在GTK创建的图形界面窗口内对游戏场景进行渲染则具体为:OPENGL在图形界面窗口上预设的游戏场景的渲染区域内对游戏场景进行渲染。
目前窗口系统中独立的窗口都是矩形的,因此本发明实施例中游戏场景渲染区域是矩形形状。但本发明实施例也不限于矩形形状,如果窗口系统中独立的窗口可以为其它形状,则本发明实施例中的游戏场景的渲染区域也可以是其它形状。
或者,在步骤1之后、步骤2之前,本发明实施例还包括:
记录GTK创建的图形界面窗口的窗口信息;
相应的,步骤2中跨平台的图形库在GTK创建的图形界面窗口内对游戏场景进行渲染则具体为:OPENGL根据记录的图形界面窗口的窗口信息在图形界面窗口内对游戏场景进行渲染。
本发明实施例中,图形界面窗口的窗口信息包括所述图形界面窗口的形状、位置和尺寸等信息。如果图形界面窗口为矩形,则其位置坐标值可以选取矩形的中心二维坐标作为其坐标值,也可以选取矩形形状的某一角的角点作为其位置坐标值,本发明实施例对图形界面窗口的位置坐标值的具体选择方法不作具体限制;图形界面窗口的尺寸可以是该图形界面窗口内的像素点数,也可以是其自身的尺寸信息,例如,该图形界面窗口的长和宽。本发明实施例对此也不作具体限制。
具体在实现过程中,可以在UI编辑器的后台设置一个记录模块,该记录模块用于记录图形界面窗口的窗口信息。
实际应用中,OPENGL对游戏场景进行渲染的渲染区域信息与图形界面窗口的窗口信息相同。这样,图形界面窗口就会和游戏场景的渲染区域重合,从效果上看,游戏场景的渲染区域与图形界面窗口是无缝连接的,使得游戏开发的画面更加美观。
本发明实施例中GTK在UI编辑器里创建游戏场景的图形界面窗口,然后UI编辑器调用跨平台的图形库,由跨平台的图形库在图形界面窗口内对游戏场景进行渲染,解决了GTK无法在UI编辑器里对游戏场景进行渲染的问题,因此大大提高了这种跨平台游戏开发工具的游戏制作画面效果,使得游戏开发人员可以开发出画面效果更好的游戏;同时也提高了CPU的利用效率;当跨平台的图形库为OPENGL时,由于OPENGL自身强大的渲染功能,使得游戏场景的渲染效果更加真实,大大提高了游戏玩家的游戏体验;进一步地,通过在图形界面窗口上预设游戏场景的渲染区域,使游戏场景的渲染结果就在预设的渲染区域内;或者通过记录图形界面窗口的窗口信息,使跨平台的图形库根据图形界面窗口的窗口信息对游戏场景进行渲染,达到游戏开发人员的特定要求,扩大了应用范围,提高了通用性;更进一步地,OPENGL对游戏场景进行渲染的渲染区域与所述图形界面窗口重合,这样游戏场景的渲染区域与图形界面窗口是无缝连接的,使得游戏开发的画面更加美观。
参见图2,本发明实施例还提供了一种跨平台游戏的渲染系统,该系统包括:GTK1、UI编辑器2和跨平台的图形库3;
GTK1,用于调用操作系统的API在UI编辑器2里创建游戏场景的图形界面窗口;
UI编辑器2,用于调用跨平台的图形库3;
跨平台的图形库3,用于在GTK1创建的图形界面窗口内对游戏场景进行渲染。
本发明实施例中,跨平台的图形库3为OPENGL,则OPENGL用于在GTK1创建的图形界面窗口内对游戏场景进行渲染。
需要说明的是,目前跨平台的图形库3主要为OPENGL,但本发明实施例中跨平台的图形库3不限于OPENGL,当以后出现其它的跨平台的图形库3时,本发明实施例仍旧适用于其它的跨平台的图形库3。
进一步地,GTK1还用于在所述创建的图形界面窗口上预设游戏场景的渲染区域;
相应的,跨平台的图形库3,用于在图形界面窗口上预设的游戏场景的渲染区域内对游戏场景进行渲染。
进一步地,该系统还包括记录模块,该记录模块用于记录图形界面窗口的窗口信息;
相应的,OPENGL用于根据记录的图形界面窗口的窗口信息在图形界面窗口内对游戏场景进行渲染。
本发明实施例中GTK在UI编辑器里创建游戏场景的图形界面窗口,然后UI编辑器调用跨平台的图形库,由跨平台的图形库在图形界面窗口内对游戏场景进行渲染,解决了GTK无法在UI编辑器里对游戏场景进行渲染的问题,因此大大提高了这种跨平台游戏开发工具的游戏制作画面效果,使得游戏开发人员可以开发出画面效果更好的游戏;同时也提高了CPU的利用效率;当跨平台的图形库为OPENGL时,由于OPENGL自身强大的渲染功能,使得游戏场景的渲染效果更加真实,大大提高了游戏玩家的游戏体验;进一步地,通过在图形界面窗口上预设游戏场景的渲染区域,使游戏场景的渲染结果就在预设的渲染区域内;或者通过记录图形界面窗口的窗口信息,使跨平台的图形库根据图形界面窗口的窗口信息对游戏场景进行渲染时,达到游戏开发人员的特定要求,扩大了应用范围,提高了通用性;更进一步地,OPENGL对游戏场景进行渲染的渲染区域与所述图形界面窗口重合,这样游戏场景的渲染区域与图形界面窗口是无缝连接的,使得游戏开发的画面更加美观。
以上所述仅是本发明的优选实施方式,并不用于限制本发明,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。