CN111228801A - 游戏场景的渲染方法和装置、存储介质、处理器 - Google Patents
游戏场景的渲染方法和装置、存储介质、处理器 Download PDFInfo
- Publication number
- CN111228801A CN111228801A CN202010014761.8A CN202010014761A CN111228801A CN 111228801 A CN111228801 A CN 111228801A CN 202010014761 A CN202010014761 A CN 202010014761A CN 111228801 A CN111228801 A CN 111228801A
- Authority
- CN
- China
- Prior art keywords
- texture
- rendered
- rendering
- static
- dynamic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 118
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000003068 static effect Effects 0.000 claims abstract description 157
- 230000000007 visual effect Effects 0.000 claims abstract description 40
- 238000005070 sampling Methods 0.000 claims description 12
- 230000008030 elimination Effects 0.000 claims description 9
- 238000003379 elimination reaction Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000035515 penetration Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种游戏场景的渲染方法和装置、存储介质、处理器。其中,该方法包括:在当前游戏视角下,将游戏场景中待渲染的目标对象划分为静态对象和动态对象;绘制静态对象,并存储静态对象的第一纹理信息;拷贝第一纹理信息至第二纹理,并在第二纹理上实时绘制动态对象,得到渲染结果。本发明解决了相关技术中游戏场景的绘制消耗较大的技术问题。
Description
技术领域
本发明涉及场景渲染领域,具体而言,涉及一种游戏场景的渲染方法和装置、存储介质、处理器。
背景技术
目前在大部分游戏的高模展示界面,有非常多的精细场景物件需要绘制,其中静态的场景占了很大一部分,在每一帧都会重新绘制场景中的物体,包括所有静态物体,特别是当玩家停留在某个展示界面的时候,通常会由于不断地绘制过多的物体而导致手机的性能消耗过大。同时,如果游戏中有多镜头的情况下,每一个镜头都需要对视野范围内的所有物体都绘制一遍,这样也会产生过多的消耗,导致手机游戏的性能下降。
为了降低每一帧绘制所带来的消耗,可以采用多种方法实现,例如距离相机远的物体使用低精度模型,来减少每一帧绘制的总面数。又例如降低远处模型的更新频率,来减少计算绘制的消耗。上述方法虽然能够降低消耗,但是,对于固定视角,采用上述方法仍然存在较大消耗。
针对相关技术中游戏场景的绘制消耗较大的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种游戏场景的渲染方法和装置、存储介质、处理器,以至少解决相关技术中游戏场景的绘制消耗较大的技术问题。
根据本发明实施例的一个方面,提供了一种游戏场景的渲染方法,包括:在当前游戏视角下,将游戏场景中待渲染的目标对象划分为静态对象和动态对象;绘制静态对象,并存储静态对象的第一纹理信息;拷贝第一纹理信息至第二纹理,并在第二纹理上实时绘制动态对象,得到渲染结果。
进一步地,将待渲染的目标对象划分为静态对象和动态对象包括如下之一:基于待渲染的目标对象的标志位,将待渲染的目标对象划分为静态对象和动态对象;基于待渲染的目标对象对应的配置表,将待渲染的目标对象划分为静态对象和动态对象;基于待渲染的目标对象对应的剔除标注,将待渲染的目标对象划分为静态对象和动态对象。
进一步地,第一纹理信息包括:深度纹理和颜色纹理。
进一步地,拷贝第一纹理信息包括:通过调用预设接口拷贝第一纹理信息。
进一步地,拷贝第一纹理信息包括:绘制预设尺寸的预设图形;将第一纹理信息导入至预设图形中;采样预设图形中每个像素对应的纹理值。
进一步地,在得到渲染结果之后,该方法还包括:输出渲染结果,并清除第一纹理信息和第二纹理信息。
根据本发明实施例的另一方面,还提供了一种游戏场景的渲染方法,包括:获取游戏场景中待渲染的目标对象,其中,待渲染的目标对象包括:静态对象和动态对象;检测游戏场景的当前游戏视角是否发生变化;如果检测到当前游戏视角未发生变化,则拷贝静态对象的第一纹理信息至第二纹理,并在第二纹理上实时绘制动态对象,得到渲染结果。
进一步地,如果检测到游戏视角发生变化,则绘制静态对象,并存储静态对象的第一纹理信息。
进一步地,绘制静态对象包括:剔除待渲染的目标对象中包含的动态对象;绘制剔除后的待渲染的目标对象,得到第一纹理信息。
进一步地,剔除待渲染的目标对象中包含的动态对象包括如下之一:基于待渲染的目标对象的标志位,剔除动态对象;基于待渲染的目标对象的配置表,剔除动态对象;基于待渲染的目标对象的剔除标注,剔除动态对象。
进一步地,第一纹理信息包括:深度纹理和颜色纹理。
进一步地,拷贝静态对象的第一纹理信息包括:通过调用预设接口拷贝第一纹理信息。
进一步地,拷贝静态对象的第一纹理信息包括:绘制预设尺寸的预设图形;将第一纹理信息导入至预设图形中;采样预设图形中每个像素对应的纹理值。
进一步地,在第二纹理上实时绘制动态对象,得到渲染结果包括:剔除待渲染的目标对象中包含的静态对象;在第二纹理上实时绘制剔除后的待渲染的目标对象,得到渲染结果。
进一步地,检测游戏场景的当前游戏视角是否发生变化包括:获取游戏场景中设置的相机的位置;基于相机的位置确定当前游戏视角是否发生变化。
进一步地,在得到渲染结果之后,该方法还包括:输出渲染结果,并清除第一纹理信息和第二纹理信息。
根据本发明实施例的另一方面,还提供了一种游戏场景的渲染装置,包括:划分模块,用于在当前游戏视角下,将游戏场景中待渲染的目标对象划分为静态对象和动态对象;第一绘制模块,用于绘制静态对象,并存储静态对象的第一纹理信息;第二绘制模块,用于拷贝第一纹理信息至第二纹理,并在第二纹理上实时绘制动态对象,得到渲染结果。
根据本发明实施例的另一方面,还提供了一种游戏场景的渲染装置,包括:获取模块,用于获取游戏场景中待渲染的目标对象,其中,待渲染的目标对象包括:静态对象和动态对象;检测模块,用于检测游戏场景的当前游戏视角是否发生变化;绘制模块,用于如果检测到当前游戏视角未发生变化,则拷贝静态对象的第一纹理信息至第二纹理,并第二纹理上实时绘制动态对象,得到渲染结果。
根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,程序执行上述的游戏场景的渲染方法。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的游戏场景的渲染方法。
在本发明实施例中,在固定视角下对游戏场景进行渲染时,可以拷贝静态对象的第一纹理信息至第二纹理,通过在第二纹理上实时绘制动态对象,实现游戏场景渲染的目的。与相关技术相比,游戏场景在固定视角下发生更新时,无需反复绘制静态物体,只需要绘制动态物体,并通过纹理结合得到整个游戏场景的绘制结果,游戏场景的绘制消耗仅在于绘制动态物体和动静结合的消耗,从而实现了减少场景中静态物体的绘制消耗,使玩家在开启省电模式的情况下,能更加降低性能消耗的技术效果,进而解决了相关技术中游戏场景的绘制消耗较大的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种游戏场景的渲染方法的流程图;
图2是根据本发明实施例的一种可选的游戏场景的渲染方法的流程图;
图3是根据本发明实施例的一种可选的划分目标对象的方法的示意图;
图4是根据本发明实施例的一种可选的动静纹理结合的方法的示意图;
图5是根据本发明实施例的另一种游戏场景的渲染方法的流程图;
图6是根据本发明实施例的一种游戏场景的渲染装置的示意图;以及
图7是根据本发明实施例的另一种游戏场景的渲染装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种游戏场景的渲染方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种游戏场景的渲染方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,在当前游戏视角下,将游戏场景中待渲染的目标对象划分为静态对象和动态对象;
步骤S104,绘制静态对象,并存储静态对象的第一纹理信息;
步骤S106,拷贝第一纹理信息至第二纹理,并在第二纹理上实时绘制动态对象,得到渲染结果。
上述步骤中的待渲染的目标对象可以是游戏场景中需要绘制的物体,物体在游戏场景中通过模型实现,包括所有静态物体(即上述步骤中的静态对象)和动态物体(即上述步骤中的动态对象),静态物体的位置和形态不会发生变化。
在本发明实施例中,本发明实施例提供的方案可以应用于手机游戏中固定视角下游戏场景的渲染。
同一个游戏视角下的静态物体的位置和形态不会发生变化,而且游戏场景中静态物体较多,为了降低静态物体的绘制消耗,静态物体可以只绘制一次,也即,该游戏视角第一次绘制时绘制静态物体,并存储静态物体的绘制结果(即上述的第一纹理信息)。为了保持和正常的游戏场景绘制一样的结果,可以将静态物体的颜色纹理和深度纹理进行存储,也即,上述的第一纹理信息可以包括:深度纹理和颜色纹理。
该游戏视角下,之后每次绘制,也即,确定游戏场景在该游戏视角下发生更新,无需反复更新静态物体的绘制结果,只需要对已经存储的静态物体的绘制结果进行拷贝。拷贝的纹理信息包括颜色纹理和深度纹理,绘制动态物体时,必须保留住静态物体的深度值,然后在深度图的基础上进行深度测试,进行正常的深度比较,防止绘制动态物体的时候出现物体之间穿透的情况。
在本发明实施例中,对于多镜头的游戏场景,游戏场景有多个游戏视角,每个游戏视角对应于游戏场景中不同的相机,可以通过监控模块实时监控相机的位置,基于相机的位置确定相应的游戏视角。进一步地,可以通过分离模块分离出静态物体和动态物体,然后在加载模型的时候将其分离到不同的渲染内容中。在分离到不同的渲染内容中之后,需要将动态物体和静态物体的纹理进行结合,得到正常的场景结果,可以通过结合模块获取到静态物体的第一纹理信息,然后将动态物体的绘制结合起来,使得最终渲染结果与正常绘制相同。
采用本发明上述实施例,在当前游戏视角下,将游戏场景中待渲染的目标对象划分为静态对象和动态对象,绘制静态对象,并存储静态对象的第一纹理信息,拷贝第一纹理信息至第二纹理,并在第二纹理上实时绘制动态对象,得到渲染结果,实现游戏场景渲染的目的。与相关技术相比,游戏场景在固定视角下发生更新时,无需反复绘制静态物体,只需要绘制动态物体,并通过纹理结合得到整个游戏场景的绘制结果,游戏场景的绘制消耗仅在于绘制动态物体和动静结合的消耗,从而实现了减少场景中静态物体的绘制消耗,使玩家在开启省电模式的情况下,能更加降低性能消耗的技术效果,进而解决了相关技术中游戏场景的绘制消耗较大的技术问题。
可选地,本发明上述实施例中,将待渲染的目标对象划分为静态对象和动态对象包括如下之一:基于待渲染的目标对象的标志位,将待渲染的目标对象划分为静态对象和动态对象;基于待渲染的目标对象对应的配置表,将待渲染的目标对象划分为静态对象和动态对象;基于待渲染的目标对象对应的剔除标注,将待渲染的目标对象划分为静态对象和动态对象。
为了使静态物体和动态物体的划分更加灵活,在本发明实施例中,可以采用如图2所示的三种方式实现。第一种方式可以是给游戏场景中的模型设置标志位,静态物体设置静态标志,动态物体设置动态标志,在对游戏场景中的物体进行划分时,可以读取模型文件中的标志位来进行区分。第二种方式可以是定制配置表,通过配置表对游戏场景中的物体进行特殊人为的分类,满足特殊的划分需求,例如,可以将物体人为划分为静态物体。第三种方式可以是给模型设置剔除的标注,该剔除标注可以是自定义的,可以设置动态剔除、静态剔除或者都不剔除,与物体本身的类型无关。
可选地,本发明上述实施例中,拷贝第一纹理信息包括:通过调用预设接口拷贝第一纹理信息。
上述的预设接口可以是Gl3.0中提供的图形API接口(应用程序接口,ApplicationProgramming Interface)。
在本发明实施例中,如图3所示,对于Gl3.0,其图形API接口支持纹理拷贝的操作,在此基础上,可以直接调用该接口来实现颜色纹理和深度纹理的拷贝操作。
可选地,本发明上述实施例中,拷贝第一纹理信息包括:绘制预设尺寸的预设图形;将第一纹理信息导入至预设图形中;采样预设图形中每个像素对应的纹理值。
上述的预设尺寸可以是铺屏的尺寸,与手机的屏幕尺寸相同;上述的预设图形可以是四边形。
在本发明实施例中,对于不支持图形API接口的手机,如图3所示,可以采用如下方式实现:绘制一个铺屏四边形,然后将静态物体的结果纹理传入到这此绘制中,然后每一个像素采样对应的纹理值,作为当前像素的输出,从而实现拷贝的操作。
可选地,本发明上述实施例中,在得到渲染结果之后,该方法还包括:输出渲染结果,并清除第一纹理信息和第二纹理信息。
在上述步骤中,在得到游戏场景的渲染结果之后,可以将渲染结果输出到屏幕上。输出之后,清理这个输出内容的颜色纹理和深度纹理中的信息,从而在下一次绘制的时候,重复静态物体的纹理信息拷贝和动态物体的绘制。
下面结合图4对本发明一种优选的实施例进行详细说明,如图4所示,整个绘制流程可以包括如下步骤:
步骤S41,在每一帧游戏场景绘制的时候,确定是否为固定视角。对于固定视角,可以通过相机的位置确定当前视角是否是第一次绘制。
可选地,在游戏场景中设置有相机,当游戏视角发生变化的时候,相机的位置也相应会发生变化。当相机位置不发生变化的时候,可以采用本发明提供的渲染方法进行绘制。
如果相机的位置与上一帧的位置不相同,则确定是第一次绘制,需要执行绘制静态物体的流程,也即,执行步骤S42和步骤S43;如果相机的位置与上一帧的位置相同,则确定不是第一次绘制,只需要绘制动态物体,然后融合静态绘制的结果,也即,执行步骤S44至步骤S46。
可以采用步骤S42至步骤S46所示的绘制模式进行绘制。
步骤S42,绘制静态物体。
可选地,由于此次绘制需要保存下只有静态物体的纹理信息,所以需要在绘制内容中将动态物体去掉,只绘制场景中静态物体的内容到纹理中。
步骤S43,存储绘制静态物体的结果。
可选地,将上一步绘制的仅静态物体结果保存在创建的纹理中,保存的内容为场景中静态物体的颜色纹理和深度纹理。
步骤S44,拷贝静态物体的纹理信息。
可选地,在判断出不是第一次绘制之后,不再需要反复更新静态物体的绘制结果,只需要将静态物体的颜色纹理和深度纹理,拷贝到绘制动态模型的纹理上。
步骤S45,绘制动态物体。
可选地,在固定视角下,每一帧的绘制在拷贝了静态模型的绘制结果之后,需要在渲染内容中剔除掉静态模型的内容,只绘制更新动态物体。
步骤S46,将结合后的纹理作为渲染结果输出到屏幕上。
可选地,将整个游戏场景的渲染结果输出,纹理中其实只有动态物体在不断更新和绘制,属于场景中静态模型的内容没有做任何更新和绘制操作。输出之后,清理这个输出内容的颜色纹理和深度纹理中的信息,然后在下一次绘制的时候,再重复拷贝和动态物体的绘制。
通过上述步骤,在固定视角下,静态物体不需要在每一帧都进行绘制,只需要在第一次绘制的时候将此视角的结果保留在一张纹理上,然后后面的每一帧绘制的时候只需要更新绘制动态的物体,然后将静态物体的那张纹理结合过来,作为最终的结果输出即可达到和正常绘制同样的效果。每一帧的绘制消耗只在绘制动态物体上和一次动静结合的消耗,可以在手游上支持精度更高的静态模型而不带来过多的性能消耗,实现既不影响显示内容效果,又能正常进行动态模型的交互和显示。
实施例2
根据本发明实施例,还提供了一种游戏场景的渲染方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图5是根据本发明实施例的另一种游戏场景的渲染方法的流程图,如图5所示,该方法包括如下步骤:
步骤S502,获取游戏场景中待渲染的目标对象,其中,待渲染的目标对象包括:静态对象和动态对象;
步骤S504,检测游戏场景的当前游戏视角是否发生变化;
步骤S506,如果检测到当前游戏视角未发生变化,则拷贝静态对象的第一纹理信息至第二纹理,并在第二纹理上实时绘制动态对象,得到渲染结果。
上述步骤中的待渲染的目标对象可以是游戏场景中需要绘制的物体,物体在游戏场景中通过模型实现,包括所有静态物体(即上述步骤中的静态对象)和动态物体(即上述步骤中的动态对象),静态物体的位置和形态不会发生变化。
在本发明实施例中,本发明实施例提供的方案可以应用于手机游戏中固定视角下游戏场景的渲染。
同一个游戏视角下的静态物体的位置和形态不会发生变化,而且游戏场景中静态物体较多,为了降低静态物体的绘制消耗,静态物体可以只绘制一次,也即,该游戏视角第一次绘制时绘制静态物体,并存储静态物体的绘制结果(即上述的第一纹理信息)。为了保持和正常的游戏场景绘制一样的结果,可以将静态物体的颜色纹理和深度纹理进行存储,也即,上述的第一纹理信息可以包括:深度纹理和颜色纹理。
该游戏视角下,之后每次绘制,也即,确定游戏场景在该游戏视角下发生更新,无需反复更新静态物体的绘制结果,只需要对已经存储的静态物体的绘制结果进行拷贝。拷贝的纹理信息包括颜色纹理和深度纹理,绘制动态物体时,必须保留住静态物体的深度值,然后在深度图的基础上进行深度测试,进行正常的深度比较,防止绘制动态物体的时候出现物体之间穿透的情况。
在本发明实施例中,对于多镜头的游戏场景,游戏场景有多个游戏视角,每个游戏视角对应于游戏场景中不同的相机,可以通过监控模块实时监控相机的位置,基于相机的位置确定相应的游戏视角。进一步地,可以通过分离模块分离出静态物体和动态物体,然后在加载模型的时候将其分离到不同的渲染内容中。在分离到不同的渲染内容中之后,需要将动态物体和静态物体的纹理进行结合,得到正常的场景结果,可以通过结合模块获取到静态物体的第一纹理信息,然后将动态物体的绘制结合起来,使得最终渲染结果与正常绘制相同。
采用本发明上述实施例,在获取到游戏场景中待渲染的目标对象之后,首先检测游戏场景的当前游戏视角是否发生变化,如果检测到当前游戏视角未发生变化,则拷贝静态对象的第一纹理信息至第二纹理,并在第二纹理上实时绘制动态对象,得到渲染结果,实现游戏场景渲染的目的。与相关技术相比,游戏场景在固定视角下发生更新时,无需反复绘制静态物体,只需要绘制动态物体,并通过纹理结合得到整个游戏场景的绘制结果,游戏场景的绘制消耗仅在于绘制动态物体和动静结合的消耗,从而实现了减少场景中静态物体的绘制消耗,使玩家在开启省电模式的情况下,能更加降低性能消耗的技术效果,进而解决了相关技术中游戏场景的绘制消耗较大的技术问题。
可选地,本发明上述实施例中,如果检测到游戏视角发生变化,则绘制静态对象,并存储静态对象的第一纹理信息。
在本发明实施例中,如果检测游戏视角发生变化,也即,当前视角是第一次绘制,则需要执行绘制静态物体的流程,并将此游戏视角的结果进行存储。从而在之后每次绘制的时候只需要绘制动态物体,然后将静态物体的那张纹理结合过来,作为最终的结果输出即可达到和正常绘制同样的效果。
可选地,本发明上述实施例中,绘制静态对象包括:剔除待渲染的目标对象中包含的动态对象;绘制剔除后的待渲染的目标对象,得到第一纹理信息。
在本发明实施例中,由于此次绘制需要保存下只有静态物体的纹理信息,所以需要在待渲染的目标对象中将动态物体剔除,只绘制静态物体,得到静态物体的第一纹理信息。
可选地,本发明上述实施例中,剔除待渲染的目标对象中包含的动态对象包括如下之一:基于待渲染的目标对象的标志位,剔除动态对象;基于待渲染的目标对象的配置表,剔除动态对象;基于待渲染的目标对象的剔除标注,剔除动态对象。
为了使静态物体和动态物体的划分更加灵活,在本发明实施例中,可以采用如图2所示的三种方式实现。第一种方式可以是给游戏场景中的模型设置标志位,静态物体设置静态标志,动态物体设置动态标志,在对游戏场景中的物体进行划分时,可以读取模型文件中的标志位来进行区分。第二种方式可以是定制配置表,通过配置表对游戏场景中的物体进行特殊人为的分类,满足特殊的划分需求,例如,可以将物体人为划分为静态物体。第三种方式可以是给模型设置剔除的标注,该剔除标注可以是自定义的,可以设置动态剔除、静态剔除或者都不剔除,与物体本身的类型无关。
可选地,本发明上述实施例中,拷贝静态对象的第一纹理信息包括:通过调用预设接口拷贝第一纹理信息。
上述的预设接口可以是Gl3.0中提供的图形API接口。
在本发明实施例中,如图3所示,对于Gl3.0,其图形API接口支持纹理拷贝的操作,在此基础上,可以直接调用该接口来实现颜色纹理和深度纹理的拷贝操作。
可选地,本发明上述实施例中,拷贝静态对象的第一纹理信息包括:绘制预设尺寸的预设图形;将第一纹理信息导入至预设图形中;采样预设图形中每个像素对应的纹理值。
上述的预设尺寸可以是铺屏的尺寸,与手机的屏幕尺寸相同;上述的预设图形可以是四边形。
在本发明实施例中,对于不支持图形API接口的手机,如图3所示,可以采用如下方式实现:绘制一个铺屏四边形,然后将静态物体的结果纹理传入到这此绘制中,然后每一个像素采样对应的纹理值,作为当前像素的输出,从而实现拷贝的操作。
可选地,本发明上述实施例中,在第二纹理上实时绘制动态对象,得到渲染结果包括:剔除待渲染的目标对象中包含的静态对象;在第二纹理上实时绘制剔除后的待渲染的目标对象,得到渲染结果。
在本发明实施例中,动态对象的绘制与静态对象的绘制相似,需要在待渲染的目标对象中将静态物体剔除,只绘制动态物体,得到最终的渲染结果。
可选地,本发明上述实施例中,检测游戏场景的当前游戏视角是否发生变化包括:获取游戏场景中设置的相机的位置;基于相机的位置确定当前游戏视角是否发生变化。
上述的相机的位置可以通过引擎的接口获取,是一个x,y,z的向量,可以描述在世界空间中的位置,相机的位置反映了游戏视角。在本发明实施例中,可以通过相机的位置确定游戏视角是否发生变化,从而确定当前游戏视角是否第一次绘制。
可选地,本发明上述实施例中,在得到渲染结果之后,该方法还包括:输出渲染结果,并清除第一纹理信息和第二纹理信息。
在上述步骤中,在得到游戏场景的渲染结果之后,可以将渲染结果输出到屏幕上。输出之后,清理这个输出内容的颜色纹理和深度纹理中的信息,从而在下一次绘制的时候,重复静态物体的纹理信息拷贝和动态物体的绘制。
实施例3
根据本发明实施例,还提供了一种游戏场景的渲染装置。
需要说明的是,本实施例提供的装置可以对应于上述实施例1中提供的方法,本实施例的可选或优选实施方式可以参见实施例1的相关描述。
图6是根据本发明实施例的一种游戏场景的渲染装置的示意图,如图6所示,该装置包括:划分模块62、第一绘制模块64和第二绘制模块66。
其中,划分模块62用于在当前游戏视角下,将游戏场景中待渲染的目标对象划分为静态对象和动态对象;第一绘制模块64用于绘制静态对象,并存储静态对象的第一纹理信息;第二绘制模块66用于拷贝第一纹理信息至第二纹理,并在第二纹理上实时绘制动态对象,得到渲染结果。
可选地,本发明上述实施例中,划分模块用于执行如下之一的步骤:基于待渲染的目标对象的标志位,将待渲染的目标对象划分为静态对象和动态对象;基于待渲染的目标对象对应的配置表,将待渲染的目标对象划分为静态对象和动态对象;基于待渲染的目标对象对应的剔除标注,将待渲染的目标对象划分为静态对象和动态对象。
可选地,本发明上述实施例中,第二绘制模块包括:调用单元,用于通过调用预设接口拷贝第一纹理信息。
可选地,本发明上述实施例中,第二绘制模块包括:绘制单元,用于绘制预设尺寸的预设图形;导入单元,用于将第一纹理信息导入至预设图形中;采样单元,用于采样预设图形中每个像素对应的纹理值。
可选地,本发明上述实施例中,该装置还包括:输出模块,用于输出渲染结果;清除模块,用于清除第一纹理信息和第二纹理信息。
实施例4
根据本发明实施例,还提供了一种游戏场景的渲染装置。
需要说明的是,本实施例提供的装置可以对应于上述实施例1中提供的方法,本实施例的可选或优选实施方式可以参见实施例1的相关描述。
图7是根据本发明实施例的另一种游戏场景的渲染装置的示意图,如图7所示,该装置包括:获取模块72、检测模块74和绘制模块76。
其中,获取模块72用于获取游戏场景中待渲染的目标对象,其中,待渲染的目标对象包括:静态对象和动态对象;检测模块74用于检测游戏场景的当前游戏视角是否发生变化;绘制模块76用于如果检测到当前游戏视角未发生变化,则拷贝静态对象的第一纹理信息至第二纹理,并在第二纹理上实时绘制动态对象,得到渲染结果。
可选地,本发明上述实施例中,绘制模块还用于如果检测到游戏视角发生变化,则绘制静态对象,并存储静态对象的第一纹理信息。
可选地,本发明上述实施例中,绘制模块包括:第一剔除单元,用于剔除待渲染的目标对象中包含的动态对象;第一绘制单元,用于绘制剔除后的待渲染的目标对象,得到第一纹理信息。
可选地,本发明上述实施例中,第一剔除单元用于执行如下之一的步骤:基于待渲染的目标对象的标志位,剔除动态对象;基于待渲染的目标对象的配置表,剔除动态对象;基于待渲染的目标对象的剔除标注,剔除动态对象。
可选地,本发明上述实施例中,绘制模块包括:调用单元,用于通过调用预设接口拷贝第一纹理信息。
可选地,本发明上述实施例中,绘制模块包括:第二绘制单元,用于绘制预设尺寸的预设图形;导入单元,用于将第一纹理信息导入至预设图形中;采样单元,用于采样预设图形中每个像素对应的纹理值。
可选地,本发明上述实施例中,绘制模块还包括:第二剔除单元,用于剔除待渲染的目标对象中包含的静态对象;第三绘制单元,用于在第二纹理上实时绘制剔除后的待渲染的目标对象,得到渲染结果。
可选地,本发明上述实施例中,检测模块包括:获取单元,用于获取游戏场景中设置的相机的位置;确定单元,用于基于相机的位置确定当前游戏视角是否发生变化。
可选地,本发明上述实施例中,该装置还包括:输出模块,用于输出渲染结果;清除模块,用于清除第一纹理信息和第二纹理信息。
实施例5
根据本发明实施例,还提供了一种存储介质,存储介质包括存储的程序,其中,程序执行上述实施例1和2中的游戏场景的渲染方法。
实施例6
根据本发明实施例,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述实施例1和2中的游戏场景的渲染方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (20)
1.一种游戏场景的渲染方法,其特征在于,包括:
在当前游戏视角下,将游戏场景中待渲染的目标对象划分为静态对象和动态对象;
绘制所述静态对象,并存储所述静态对象的第一纹理信息;
拷贝所述第一纹理信息至第二纹理,并在所述第二纹理上实时绘制所述动态对象,得到渲染结果。
2.根据权利要求1所述的渲染方法,其特征在于,将所述待渲染的目标对象划分为所述静态对象和所述动态对象包括如下之一:
基于所述待渲染的目标对象的标志位,将所述待渲染的目标对象划分为所述静态对象和所述动态对象;
基于所述待渲染的目标对象对应的配置表,将所述待渲染的目标对象划分为所述静态对象和所述动态对象;
基于所述待渲染的目标对象对应的剔除标注,将所述待渲染的目标对象划分为所述静态对象和所述动态对象。
3.根据权利要求1所述的渲染方法,其特征在于,所述第一纹理信息包括:深度纹理和颜色纹理。
4.根据权利要求3所述的渲染方法,其特征在于,拷贝所述第一纹理信息包括:
通过调用预设接口拷贝所述第一纹理信息。
5.根据权利要求3所述的渲染方法,其特征在于,拷贝所述第一纹理信息包括:
绘制预设尺寸的预设图形;
将所述第一纹理信息导入至所述预设图形中;
采样所述预设图形中每个像素对应的纹理值。
6.根据权利要求1所述的渲染方法,其特征在于,在得到渲染结果之后,所述方法还包括:
输出所述渲染结果,并清除所述第一纹理信息和第二纹理信息。
7.一种游戏场景的渲染方法,其特征在于,包括:
获取游戏场景中待渲染的目标对象,其中,所述待渲染的目标对象包括:静态对象和动态对象;
检测所述游戏场景的当前游戏视角是否发生变化;
如果检测到所述当前游戏视角未发生变化,则拷贝所述静态对象的第一纹理信息至第二纹理,并在所述第二纹理上实时绘制所述动态对象,得到渲染结果。
8.根据权利要求7所述的渲染方法,其特征在于,如果检测到所述游戏视角发生变化,则绘制所述静态对象,并存储所述静态对象的第一纹理信息。
9.根据权利要求8所述的渲染方法,其特征在于,绘制所述静态对象包括:
剔除所述待渲染的目标对象中包含的所述动态对象;
绘制剔除后的待渲染的目标对象,得到所述第一纹理信息。
10.根据权利要求9所述的渲染方法,其特征在于,剔除所述待渲染的目标对象中包含的所述动态对象包括如下之一:
基于所述待渲染的目标对象的标志位,剔除所述动态对象;
基于所述待渲染的目标对象的配置表,剔除所述动态对象;
基于所述待渲染的目标对象的剔除标注,剔除所述动态对象。
11.根据权利要求8所述的渲染方法,其特征在于,所述第一纹理信息包括:深度纹理和颜色纹理。
12.根据权利要求7所述的渲染方法,其特征在于,拷贝所述静态对象的第一纹理信息包括:
通过调用预设接口拷贝所述第一纹理信息。
13.根据权利要求7所述的渲染方法,其特征在于,拷贝所述静态对象的第一纹理信息包括:
绘制预设尺寸的预设图形;
将所述第一纹理信息导入至所述预设图形中;
采样所述预设图形中每个像素对应的纹理值。
14.根据权利要求7所述的渲染方法,其特征在于,在所述第二纹理上实时绘制所述动态对象,得到渲染结果包括:
剔除所述待渲染的目标对象中包含的所述静态对象;
在所述第二纹理上实时绘制剔除后的待渲染的目标对象,得到所述渲染结果。
15.根据权利要求7所述的渲染方法,其特征在于,检测所述游戏场景的当前游戏视角是否发生变化包括:
获取所述游戏场景中设置的相机的位置;
基于所述相机的位置确定所述当前游戏视角是否发生变化。
16.根据权利要求7所述的渲染方法,其特征在于,在得到所述渲染结果之后,所述方法还包括:
输出所述渲染结果,并清除所述第一纹理信息和第二纹理信息。
17.一种游戏场景的渲染装置,其特征在于,包括:
划分模块,用于在当前游戏视角下,将游戏场景中待渲染的目标对象划分为静态对象和动态对象;
第一绘制模块,用于绘制所述静态对象,并存储所述静态对象的第一纹理信息;
第二绘制模块,用于拷贝所述第一纹理信息至第二纹理,并在所述第二纹理上实时绘制所述动态对象,得到渲染结果。
18.一种游戏场景的渲染装置,其特征在于,包括:
获取模块,用于获取游戏场景中待渲染的目标对象,其中,所述待渲染的目标对象包括:静态对象和动态对象;
检测模块,用于检测所述游戏场景的当前游戏视角是否发生变化;
绘制模块,用于如果检测到所述当前游戏视角未发生变化,则拷贝所述静态对象至第二纹理,并在所述第二纹理上实时绘制所述动态对象,得到渲染结果。
19.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至16中任意一项所述的游戏场景的渲染方法。
20.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至16中任意一项所述的游戏场景的渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010014761.8A CN111228801A (zh) | 2020-01-07 | 2020-01-07 | 游戏场景的渲染方法和装置、存储介质、处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010014761.8A CN111228801A (zh) | 2020-01-07 | 2020-01-07 | 游戏场景的渲染方法和装置、存储介质、处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111228801A true CN111228801A (zh) | 2020-06-05 |
Family
ID=70875987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010014761.8A Pending CN111228801A (zh) | 2020-01-07 | 2020-01-07 | 游戏场景的渲染方法和装置、存储介质、处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111228801A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112291619A (zh) * | 2020-10-24 | 2021-01-29 | 西北工业大学 | 一种基于阻塞与停顿的移动端小程序帧渲染方法 |
CN113140028A (zh) * | 2021-04-08 | 2021-07-20 | 广州三七互娱科技有限公司 | 虚拟物体渲染方法、装置及电子设备 |
CN114452645A (zh) * | 2021-07-09 | 2022-05-10 | 荣耀终端有限公司 | 生成场景图像的方法、设备和存储介质 |
CN114898022A (zh) * | 2022-07-15 | 2022-08-12 | 杭州脸脸会网络技术有限公司 | 图像生成方法、装置、电子装置和存储介质 |
CN115375789A (zh) * | 2022-10-24 | 2022-11-22 | 山东捷瑞数字科技股份有限公司 | 一种基于可缩放矢量图形的动态纹理生成方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620740A (zh) * | 2008-06-30 | 2010-01-06 | 北京壁虎科技有限公司 | 交互信息生成方法及系统 |
CN109978979A (zh) * | 2019-03-08 | 2019-07-05 | 广联达科技股份有限公司 | 提高实时渲染交互流畅性的方法、装置及电子设备 |
CN110060325A (zh) * | 2019-04-19 | 2019-07-26 | 成都四方伟业软件股份有限公司 | 屏幕空间渲染方法及装置 |
CN110533755A (zh) * | 2019-08-30 | 2019-12-03 | 腾讯科技(深圳)有限公司 | 一种场景渲染的方法以及相关装置 |
-
2020
- 2020-01-07 CN CN202010014761.8A patent/CN111228801A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620740A (zh) * | 2008-06-30 | 2010-01-06 | 北京壁虎科技有限公司 | 交互信息生成方法及系统 |
CN109978979A (zh) * | 2019-03-08 | 2019-07-05 | 广联达科技股份有限公司 | 提高实时渲染交互流畅性的方法、装置及电子设备 |
CN110060325A (zh) * | 2019-04-19 | 2019-07-26 | 成都四方伟业软件股份有限公司 | 屏幕空间渲染方法及装置 |
CN110533755A (zh) * | 2019-08-30 | 2019-12-03 | 腾讯科技(深圳)有限公司 | 一种场景渲染的方法以及相关装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112291619A (zh) * | 2020-10-24 | 2021-01-29 | 西北工业大学 | 一种基于阻塞与停顿的移动端小程序帧渲染方法 |
CN112291619B (zh) * | 2020-10-24 | 2023-09-29 | 西北工业大学 | 一种基于阻塞与停顿的移动端小程序帧渲染方法 |
CN113140028A (zh) * | 2021-04-08 | 2021-07-20 | 广州三七互娱科技有限公司 | 虚拟物体渲染方法、装置及电子设备 |
CN114452645A (zh) * | 2021-07-09 | 2022-05-10 | 荣耀终端有限公司 | 生成场景图像的方法、设备和存储介质 |
CN114452645B (zh) * | 2021-07-09 | 2023-08-04 | 荣耀终端有限公司 | 生成场景图像的方法、设备和存储介质 |
CN114898022A (zh) * | 2022-07-15 | 2022-08-12 | 杭州脸脸会网络技术有限公司 | 图像生成方法、装置、电子装置和存储介质 |
CN114898022B (zh) * | 2022-07-15 | 2022-11-01 | 杭州脸脸会网络技术有限公司 | 图像生成方法、装置、电子装置和存储介质 |
CN115375789A (zh) * | 2022-10-24 | 2022-11-22 | 山东捷瑞数字科技股份有限公司 | 一种基于可缩放矢量图形的动态纹理生成方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111228801A (zh) | 游戏场景的渲染方法和装置、存储介质、处理器 | |
KR101980990B1 (ko) | 중간-분류 아키텍처에서 프레임 대 프레임 일관성의 활용 | |
KR101639852B1 (ko) | 그래픽 프로세싱을 위한 픽셀 값 압축 | |
US6295055B1 (en) | Object selection using hit test tracks | |
CN111080780B (zh) | 虚拟角色模型的边缘处理方法和装置 | |
CN106980510B (zh) | 一种播放器的视窗自适应方法及装置 | |
CN110163831B (zh) | 三维虚拟沙盘的物体动态展示方法、装置及终端设备 | |
CN111105337B (zh) | 一种水印处理的方法、信息展示的方法以及相关装置 | |
CN108389151B (zh) | 一种过度绘制的评估方法和系统 | |
CN108229346B (zh) | 使用有符号的前景提取与融合的视频摘要 | |
KR20130089649A (ko) | 3차원 이미지에서 컨텐츠를 검열하는 방법 및 장치 | |
CN111111172A (zh) | 游戏场景的地表处理方法、装置、处理器及电子装置 | |
CN107509115A (zh) | 一种获取游戏直播中精彩时刻画面的方法及装置 | |
CN109753145B (zh) | 一种过渡动画的展示方法和相关装置 | |
CN110838154A (zh) | 一种图片处理方法及装置 | |
US11288774B2 (en) | Image processing method and apparatus, storage medium, and electronic apparatus | |
CN113473181B (zh) | 视频处理方法和装置、计算机可读存储介质及计算机设备 | |
CN110879739A (zh) | 通知栏的显示方法及其显示装置 | |
CN105096355B (zh) | 图像处理方法和系统 | |
JP6947939B2 (ja) | 画像生成装置、画像生成方法及びプログラム | |
CN112669433A (zh) | 轮廓渲染方法、装置、电子设备和计算机可读存储介质 | |
JP2019121053A (ja) | 画像処理装置及び画像処理方法 | |
EP2169622A1 (en) | Apparatus and method of image analysis | |
CN110719415A (zh) | 一种视频图像处理方法、装置、电子设备及计算机可读介质 | |
CN114742970A (zh) | 虚拟三维模型的处理方法、非易失性存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200605 |
|
RJ01 | Rejection of invention patent application after publication |