CN106780686B - 一种3d模型的合并渲染系统及方法、终端 - Google Patents

一种3d模型的合并渲染系统及方法、终端 Download PDF

Info

Publication number
CN106780686B
CN106780686B CN201510809462.2A CN201510809462A CN106780686B CN 106780686 B CN106780686 B CN 106780686B CN 201510809462 A CN201510809462 A CN 201510809462A CN 106780686 B CN106780686 B CN 106780686B
Authority
CN
China
Prior art keywords
rendering
model
unit
models
vertex
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.)
Active
Application number
CN201510809462.2A
Other languages
English (en)
Other versions
CN106780686A (zh
Inventor
刘璐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201510809462.2A priority Critical patent/CN106780686B/zh
Publication of CN106780686A publication Critical patent/CN106780686A/zh
Application granted granted Critical
Publication of CN106780686B publication Critical patent/CN106780686B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)

Abstract

本发明公开了一种3D模型的合并渲染系统,包括:3D模型存储单元,用于存储3D模型;渲染标识生成单元,用于基于3D模型的渲染参数,生成渲染标识;分组单元,用于基于渲染标识,将具有相同渲染标识的3D模型配置到一个分组列表中;渲染设置单元,用于将处于提交状态的分组列表内的3D模型的渲染参数设置到渲染单元,并在分组列表内的3D模型未全部被提交时,维持当前设置;在分组列表内的3D模型已全部被提交时,将一个未提交的分组列表的状态切换到提交状态;提交单元,用于将处于提交状态的分组列表内的3D模型提交到渲染单元;渲染单元,用于基于设置的渲染参数对3D模型进行渲染。本发明还公开了一种3D模型的合并渲染方法、终端,可提高渲染的效率。

Description

一种3D模型的合并渲染系统及方法、终端
技术领域
本发明涉及渲染领域,尤其涉及一种3D模型的合并渲染系统及方法、终端。
背景技术
在3D场景的渲染过程中,由引擎提交待渲染区域内的3D模型的顶点数据到图形处理器(Graphics Processing Unit,GPU),并在设置贴图、设置着色器及渲染状态等渲染参数后,通知图形API对3D模型进行渲染的过程,可以称之为一个批次。由于在这一过程中,无论是顶点数据的传输、贴图、渲染状态的切换和着色器的设置,还是渲染请求的提交都是比较消耗运算和时间的操作,因此每帧的批次数量直接影响着渲染的效率,故对批次进行合并来减少每帧批次数量是提升渲染效率的有效手段。
目前的合并批次方法主要有两种,一种是美术在制作3D场景的过程中,将3D场景中使用同样材质、相同贴图的3D模型都合并到一个大模型当中,那么在渲染过程中,就会在同一批次里将这些3D模型一起渲染出来。另一种是由图形API来对3D场景中的3D模型进行合并,例如Direct3D和OpenGL提供的instance技术都可以通过提供1个3D模型的顶点数据和N个变换矩阵,在一个批次中同时渲染出N个相同的3D模型。
发明内容
但是现有的二种合并批次方法均存在不足:对于第一种方法,一方面,它会限制3D场景制作的自由度,而且当需要调整3D场景中一些3D模型的位置,需要重新制作整个大模型,增加美术的工作量;另一方面,将这些3D模型做成一个大模型,只要这个大模型的包围盒出现在镜头内(即待渲染区域内),那么整个大模型会在不进行剪裁的情况下进行直接渲染,即不在镜头内的3D模型也会被渲染,如此增加了额外的渲染运算,影响渲染的效率。
而第二种方法虽然是在剪裁后再进行合并批次渲染,但是其只能对同一种3D模型进行合并,且对于移动设备来说,instance技术只有在OpenGL ES 3.0版本之后才支持,而目前的大多数移动设备只支持OpenGL ES 2.0,更早的移动设备甚至只支持OpenGL ES1.1,因而第二种方法暂时无法广泛应用到移动设备中。
本发明的目的在于提供一种3D模型的合并渲染系统及方法,解决了不同3D模型的合并渲染问题,从而提高渲染的效率。
本发明提供了一种3D模型的合并渲染系统,包括:
3D模型存储单元,用于存储3D场景中的3D模型;渲染标识生成单元,用于基于所述3D模型的渲染参数,生成所述3D模型的渲染标识;分组单元,用于基于所述3D模型的渲染标识,对所述3D模型存储单元中的位于待渲染区域内的3D模型进行分组,将具有相同渲染标识的3D模型配置到一个分组列表中;渲染设置单元,用于将处于提交状态的分组列表内的第一个3D模型的渲染参数设置到渲染单元,并在所述分组列表内的3D模型未全部被提交时,维持当前设置;在所述分组列表内的3D模型已全部被提交时,将一个未提交的分组列表的状态切换到提交状态;提交单元,用于将处于提交状态的分组列表内的3D模型提交到渲染单元;渲染单元,用于基于所述渲染设置单元设置的渲染参数对提交的所述3D模型进行渲染,生成相应的画面帧。
上述技术方案中,所述分组单元根据所述3D模型的渲染标识对3D模型进行分组,所述渲染设置单元将所述3D模型的渲染参数设置到渲染单元,并在同一个分组列表内的3D模型均被所述提交单元提交至所述渲染单元进行渲染后再切换或重新设置渲染参数到渲染单元,从而减少了渲染参数的设置和切换的次数,缩短了渲染所需的时间,提高了渲染的效率。
优选地,所述3D模型存储单元包括:
顶点索引数据存储模块,用于存储3D场景中的3D模型的顶点索引数据;
顶点数据存储模块,用于存储3D场景中的3D模型的顶点数据;其中,一份顶点索引数据对应一份顶点数据。
优选地,所述3D模型存储单元还包括坐标变换模块;所述坐标变换模块,用于在3D模型加载进所述3D场景时,根据预置的世界变换矩阵对所述3D模型进行变换,获取所述3D模型在世界坐标系中的顶点数据,以供所述顶点数据存储模块进行存储。
本优选方案中,通过所述坐标变换模块在所述3D模型加载进3D场景时就将3D模型的顶点数据从局部空间的坐标变换到世界坐标系,这样着色器的世界变换矩阵可设置为一个单元矩阵,避免了由于着色器的世界变换矩阵不同而导致无法对3D模型进行分组合并的问题。
优选地,所述3D模型的渲染参数包括3D模型的贴图、着色器及渲染状态。
优选地,所述着色器的世界变换矩阵为单位矩阵。
优选地,所述渲染状态包括3D模型的混合模式和读写深度。
优选地,所述提交单元具体用于,将处于提交状态的分组列表内的3D模型的顶点索引数据的存储地址提交到渲染单元;其中,所述存储地址包括所述3D模型的顶点索引数据在所述顶点索引数据存储模块的起始位置和长度;
则所述渲染单元具体用于,根据提交的存储地址获取所述3D模型的顶点索引数据,并基于所述顶点索引数据从所述顶点数据存储模块获取对应的顶点数据后,根据所述渲染设置单元设置的渲染参数、所述顶点索引数据及所述顶点数据进行渲染,生成相应的画面帧。
优选地,所述提交单元具体包括:连续检测模块,用于以所述分组列表内的第一个未被提交的3D模型为起点,在所述分组列表中查找与所述起点在所述顶点索引数据存储模块中的存储地址连续的3D模型,并以查找到的所述3D模型作为新的起点继续进行查找,直至查找不到与所述起点的存储地址连续的3D模型;存储地址构成模块,用于根据第一个未被提交的3D模型的起始位置、长度及所有满足与所述起点的存储地址连续的3D模型的总长度,构成一个存储地址;存储地址提交模块,用于将构成的所述存储地址提交到渲染单元。
本优选方案中,所述连续检测模块通过获取分组列表中存储地址连续的3D模型,存储地址构成模块根据这些连续的3D模型构成一个存储地址后,存储地址提交模块将构成的所述存储地址一并提交到渲染单元,减少了渲染所需的批次数量,缩短了渲染所需的时间,提高了渲染的效率。
优选地,所述3D模型的合并渲染系统还包括排列单元,用于对所述顶点索引数据存储模块存储的顶点索引数据进行排列,使得位于同一分组列表的3D模型的顶点索引数据的存储地址在所述顶点索引数据存储模块内连续。
针对上一个优选方案,本优选方案中,通过排列单元对所述3D模型存储单元存储的顶点索引数据进行排列,使得位于同一分组列表的3D模型的顶点索引数据的存储地址在所述3D模型存储单元内连续,如此,所述提交单元可以一次性提交一个分组列表内的所有3D模型的存储地址,进一步减少了提交的次数,缩短了渲染所需的时间,提高了渲染的效率。
本发明还提供一种3D模型的合并渲染方法,包括:
3D模型存储单元存储3D场景中的3D模型;
渲染标识生成单元基于所述3D模型的渲染参数,生成所述3D模型的渲染标识;
分组单元基于所述3D模型的渲染标识,对所述3D模型存储单元中的位于待渲染区域内的3D模型进行分组,将具有相同渲染标识的3D模型配置到一个分组列表中;
渲染设置单元将处于提交状态的分组列表内的第一个3D模型的渲染参数设置到渲染单元,并在所述分组列表内的3D模型未全部被提交时,维持当前设置;在所述分组列表内的3D模型已全部被提交时,将一个未提交的分组列表的状态切换到提交状态;
提交单元将处于提交状态的分组列表内的3D模型提交到渲染单元;
渲染单元基于所述渲染设置单元设置的渲染参数对提交的所述3D模型进行渲染,生成相应的画面帧。
优选地,所述3D模型存储单元存储3D场景中的3D模型具体包括:
3D模型存储单元存储3D场景中的3D模型的顶点索引数据;
3D模型存储单元存储3D场景中的3D模型的顶点数据;其中,一份顶点索引数据对应一份顶点数据。
优选地,在所述3D模型存储单元存储3D场景中的3D模型的顶点数据之前,还包括;
3D模型存储单元在3D模型加载进所述3D场景时,根据预置的世界变换矩阵对3D模型进行变换,获取所述3D模型在世界坐标系中的顶点数据。
优选地,所述3D模型的渲染参数包括3D模型的贴图、着色器及渲染状态。
优选地,所述着色器的世界变换矩阵为单位矩阵。
优选地,所述渲染状态包括3D模型的混合模式和读写深度。
优选地,所述提交单元将处于提交状态的分组列表内的3D模型提交到渲染单元,具体为:
提交单元将处于提交状态的分组列表内的3D模型的顶点索引数据的存储地址提交到渲染单元;其中,所述存储地址包括所述3D模型的顶点索引数据在所述3D模型存储单元的起始位置和长度;
则所述渲染单元基于所述渲染设置单元设置的渲染参数对提交的所述3D模型进行渲染,生成相应的画面帧具体为:
渲染单元根据提交的存储地址获取所述3D模型的顶点索引数据,并基于所述顶点索引数据从所述3D模型存储单元获取对应的顶点数据后,根据所述渲染设置单元设置的渲染参数、所述顶点索引数据及所述顶点数据进行渲染,生成相应的画面帧。
优选地,在所述提交单元将处于提交状态的分组列表内的3D模型的顶点索引数据的存储地址提交到渲染单元之前,还包括:
排列单元对所述3D模型存储单元存储的顶点索引数据进行排列,使得位于同一分组列表的3D模型的顶点索引数据的存储地址在所述3D模型存储单元内连续。
优选地,所述提交单元将处于提交状态的分组列表内的3D模型的顶点索引数据的存储地址提交到渲染单元具体包括:
提交单元以所述分组列表内的第一个未被提交的3D模型为起点,在所述分组列表中查找与所述起点在所述3D模型存储单元中的存储地址连续的3D模型,并以查找到的所述3D模型作为新的起点继续进行查找,直至查找不到与所述起点的存储地址连续的3D模型;
提交单元根据第一个未被提交的3D模型的起始位置、长度及所有满足与所述起点的存储地址连续的3D模型的总长度,构成一个存储地址;
提交单元将构成的所述存储地址提交到渲染单元。
本发明还提供一种终端,包括上述的3D模型的合并渲染系统。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的3D模型的合并渲染系统的结构示意图。
图2是图1所示的3D模型存储单元的一种结构示意图。
图3是本发明实施例提供的3D模型的渲染标识的示意图。
图4是本发明实施例提供的虚拟摄像机获得待渲染区域的示意图。
图5是图1所示的分组单元对3D模型存储单元内的3D模型进行分组后的示意图。
图6是图1所示的3D模型存储单元的一种结构示意图。
图7是3D模型的局部坐标系与世界坐标系的示意图。
图8是3D模型的局部坐标系与世界坐标系重合后的示意图。
图9是图1所示的提交单元的结构示意图。
图10是本发明实施例提供的3D模型的合并渲染系统的一种结构示意图。
图11是图10所示的排列单元对3D模型存储单元内的3D模型进行排列后的示意图。
图12是本发明实施例提供的3D模型的合并渲染方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1是本发明实施例提供的3D模型的合并渲染系统的结构示意图。所述合并渲染系统100包括3D模型存储单元10、渲染标识生成单元20、分组单元30、渲染设置单元40、提交单元50及渲染单元60,其中:
所述3D模型存储单元10,用于存储3D场景中的3D模型。
在本发明实施例中,对于一个已经搭建好的3D场景,其内部可布置有多个3D模型,例如景物的3D模型、房屋的3D模型等。所述3D模型存储单元10可存储3D场景中的3D模型。
需要说明的是,在本发明实施例中,由于仅有静态(即不会发生移动)的3D模型才可用于合并渲染,因而所述3D模型存储单元10存储的3D模型为静态的3D模型,而动态的3D模型,比如会移动的游戏角色或怪物的3D模型则不在本发明实施例的讨论范围之内。
在本发明实施例中,具体地,所述3D模型由一系列三角形面片组成,其中,每个三角形面片包括三个顶点,每个顶点上存储有该顶点的顶点数据,例如,所述顶点数据可包括所述顶点的顶点坐标、颜色、法线坐标、纹理坐标等,所述3D模型存储单元10可存储每个3D模型的顶点数据。
然而,对于组成3D模型的三角形面片,由于面片之间彼此连接,因而会有很多顶点是不同面片之间共用的,如果直接存储每个顶点的顶点数据,那么可能出现重复引用顶点数据的问题,从而增加了内存和带宽的消耗。例如,对于一个正方体,其包括六个面,每个面由四个顶点组成,那么为了绘制这个正方体,则所述3D模型存储单元需要分别存储这24个顶点的顶点数据,而实际上,一个正方体仅包括8个顶点,也就是说每个顶点都被重复使用了三次。
请一并参阅图2,为了解决这个问题,一般地,所述3D模型存储单元10可包括:
顶点索引数据存储模块11,用于存储所述待渲染区域内的3D模型的顶点索引数据。
顶点数据存储模块12,用于存储所述待渲染区域内的3D模型的顶点数据,其中,一份顶点索引数据对应一份顶点数据。
具体地,以上面提到的正方形为例,所述顶点索引数据存储模块11存储了24个顶点索引数据,所述顶点数据存储模块12则存储了8个顶点的顶点数据,其中,每个顶点索引数据对应一个顶点数据,由于顶点是共用的,因而不同顶点索引数据可以对应同一个顶点数据。虽然看起来采用这种方法需要存储24个顶点索引数据和8个顶点数据,并没有减少数据存储量。但由于顶点索引数据只是一个整型数据,不像顶点数据会包括多个浮点型数据(比如,包括顶点坐标、颜色、纹理坐标等一系列浮点型数据),因而实际上还是减少了内存的数据存储量,而且,更重要的是,对于复杂的3D模型,采用这种处理方法将带来更快的处理效率。
在本发明实施例中,为了方便,以下描述的实施例中均采用3D模型存储单元10包括顶点索引数据存储模块11和顶点数据存储模块12这种方案。当然,应当理解的是,所述3D模型存储单元10直接存储3D模型的顶点数据这种设计方案也在本发明的保护范围之内。
所述渲染标识生成单元20,用于基于所述3D模型的渲染参数,生成所述3D模型的渲染标识。
在本发明实施例中,所述3D模型的渲染参数可包括3D模型的贴图、着色器及渲染状态等,其中,所述3D模型的渲染状态可能会有多个,此时,可将比较重要或常用的渲染状态归入到所述渲染参数内,例如,所述渲染状态可选择3D模型的混合模式和读写深度,当然渲染状态还可包括stencil(模板)状态、cullmode(剔除模式),这可根据实际需要使用到的渲染状态进行设定,本发明不做具体限定。
在本发明实施例中,所述渲染标识生成单元20可根据所述3D模型的贴图、着色器、渲染状态生成渲染标识,具体地:
如图3所示,在本发明的一个实施例时,所述渲染标识生成单元20可选用64位整数表示一个3D模型的渲染标识,其中的32位表示3D模型的贴图的文件名或ID和着色器文件名或ID的结合,24位标记为烘培贴图的文件名或ID;余下的8位标记所述3D模型的渲染状态,如标记3D模型的混合模式(alpha test还是alpha blend)和读写深度。
所述分组单元30,用于基于所述3D模型的渲染标识,对所述3D模型存储单元10中的位于待渲染区域内的3D模型进行分组,将具有相同渲染标识的3D模型配置到一个分组列表中
请一并参阅图4,在本发明实施例中,对于一个已经搭建好的3D场景,其还包括有一个虚拟摄像机,在进行3D场景的渲染时,所述虚拟摄像机的镜头会获取所述3D场景的待渲染区域。其中,在每帧渲染时,只有位于所述待渲染区域内的3D模型才会被渲染。如图4所示,类似于现实中的摄像机,所述虚拟摄像机具有图像采集视野。所述虚拟摄像机在所述3D场景中预置一个近平面和远平面,所述待渲染区域为以所述近平面和所述远平面的所有顶点为顶点构成的区域,例如,当所述近平面和所述远平面为互相平行的矩形平面时,则所述待渲染区域为一个梯形台区域。
在本发明实施例中,对于不同的3D模型,其有可能也具有相同的渲染参数,所述分组单元30可基于所述3D模型的渲染标识,将具有相同渲染标识的3D模型配置到一个分组列表中。
例如,如图5所示,假设所述待渲染区域包括8个3D模型(图5所示的3D模型存储单元10内还包括有其他不在待渲染区域内的3D模型,且3D模型括号内的数字表示该3D模型所在的分组列表),其中,假设3D模型1、3D模型3、3D模型4具有相同的渲染标识,3D模型2、3D模型5、3D模型8具有相同的渲染标识,而3D模型6和3D模型7具有相同的渲染标识。则此时,所述分组单元30将3D模型1、3D模型3、3D模型4配置到第一分组列表中,将3D模型2、3D模型5、3D模型8配置到第二分组列表中,将3D模型6和3D模型7配置到第三分组列表中。
所述渲染设置单元40,用于将处于提交状态的分组列表内的第一个3D模型的渲染参数设置到渲染单元60,并在所述分组列表内的3D模型未全部被提交时,维持当前设置;在所述分组列表内的3D模型已全部被提交时,将一个未提交的分组列表的状态切换到提交状态。
具体地,在本发明实施例中,首先,所述渲染设置单元40将所述第一分组列表的状态切换到提交状态,然后将第一分组列表内的第一个3D模型(即3D模型1)的渲染参数设置到渲染单元60。接着,所述渲染设置单元40维持当前设置,直至所述第一分组列表内的3D模型已全部被所述提交单元50提交时,将一个未提交的分组列表的状态切换到提交状态,例如,将第二分组列表的状态切换到提交状态,此后,所述渲染设置单元40再将第二分组列表的第一个3D模型(即3D模型2)的渲染参数设置到渲染单元60,如此不断循环,直至所有分组列表内的3D模型均已被提交。
所述提交单元50,用于将处于提交状态的分组列表内的3D模型提交到渲染单元60。
具体地,在本发明实施例中,所述提交单元50依次将处于提交状态的分组列表内的3D模型的顶点索引数据的存储地址提交到所述渲染单元60;其中,所述存储地址包括所述3D模型的顶点索引数据在所述顶点索引数据存储模块的起始位置和长度。
例如,在提交3D模型1时,所述3D模型1会记录自己在所述顶点索引数据提取模块11中的起始位置和长度,则此时,所述提交单元50即可将所述3D模型1的起始位置和长度提交给渲染单元60。
当然应当理解的是,在本发明的其他实施例中,也可直接提交3D模型的顶点索引数据给所述渲染单元60,这些设计方案也在本发明的保护范围之内。
所述渲染单元60,用于基于当前渲染参数对提交的所述3D模型进行渲染,生成相应的画面帧。
具体地,在本发明实施例中,所述渲染单元60根据提交的存储地址获取所述3D模型的顶点索引数据,并基于所述顶点索引数据从所述顶点数据存储模块12获取对应的顶点数据后,根据所述渲染设置单元40设置的渲染参数、所述顶点索引数据及所述顶点数据进行渲染,生成相应的画面帧。
在本发明实施例中,虽然所述提交单元50仍然需要提交8次3D模型的顶点索引数据的存储地址至所述渲染单元60,但由于所述渲染参数设置单元40无需在每提交一次3D模型时都重新设置一次渲染参数,即所述渲染参数设置单元40原本可能需要设置8次渲染参数到渲染单元60,而通过分组单元30的分组后,只需设置3次渲染参数,减小了设置渲染参数耗费的时间和运算量,提高了渲染的效率。
综上所述,本发明实施例提供的3D模型的合并渲染系统100,所述分组单元30根据所述3D模型的渲染标识对3D模型进行分组,所述渲染设置单元40将所述3D模型的渲染参数设置到渲染单元60,并在同一个分组列表内的3D模型均被所述提交单元50提交至所述渲染单元60进行渲染后再切换或重新设置渲染参数到渲染单元60,从而减少了渲染参数的设置和切换的次数,缩短了渲染所需的时间,提高了渲染的效率。
为进一步对本发明的方案进行更详细的说明,下文对本发明的一些优选实施例进行具体描述或举例说明:
一、针对所述3D模型存储单元10的优选实施例。
在本发明实施例中,所述3D模型的顶点数据包括顶点坐标、法线坐标、纹理坐标等。其中,在加载进所述3D场景时,所述顶点坐标和法线坐标都是基于3D模型自身的局部坐标系。而每个3D模型都有一个唯一的世界变换矩阵,表达了3D模型在世界坐标系中的位置、朝向和缩放关系等,因此需要将每个3D模型的顶点坐标、法线坐标变换到世界坐标系。一般来说,这个世界变换矩阵是传递给着色器的参数之一,在渲染时可根据着色器的世界变换矩阵将3D模型的局部坐标变换到世界坐标系中,然而在本发明实施例中,为了对3D模型进行合并渲染,需要不同的3D模型的着色器是一致的,而如果每个3D模型的世界变换矩阵均不一致,那么将导致每个3D模型的着色器都不一致,即无法进行3D模型的合并渲染。
为此,请一并参阅图6至图8,在本优选实施例中,所述3D模型存储单元10还包括坐标变换模块13,用于在3D模型加载进所述3D场景时,根据预置的世界变换矩阵对所述3D模型进行变换,获取所述3D模型在世界坐标系中的顶点数据,以供所述顶点数据存储模块12进行存储。
具体地,所述坐标变换模块13将所述3D模型的每个顶点坐标乘以世界变换矩阵,使其转换到世界坐标系中;将每个3D模型的法线坐标乘以世界变换矩阵的旋转矩阵,将法线也转换到世界坐标系中,从而所述3D模型的局部坐标系与世界坐标系重合。这样,传递给每个3D模型的着色器的世界变换矩阵就是一个单位矩阵,可实现了对所述3D模型进行合并渲染。
二、针对所述提交单元40的优选实施例。
在上述实施例中,虽然减小了渲染参数的设置和切换次数,但每次仅对一个3D模型进行渲染,并没有减少渲染的批次数量,对渲染效率的提升有限。
请一并参阅图9,为了解决这个问题,在本发明实施例中,所述提交单元50具体包括:
连续检测模块51,用于以所述分组列表内的第一个未被提交的3D模型为起点,在所述分组列表中查找与所述起点在所述顶点索引数据存储模块中的存储地址连续的3D模型,并以查找到的所述3D模型作为新的起点继续进行查找,直至查找不到与所述起点的存储地址连续的3D模型。
存储地址构成模块52,用于根据第一个未被提交的3D模型的起始位置、长度及所有满足与所述起点的存储地址连续的3D模型的总长度,构成一个存储地址。
存储地址提交模块53,用于将构成的所述存储地址提交到渲染单元60。
以图5为例,所述连续检测模块51首先从第一分组列表中提取3D模型1,然后在所述第一分组列表中查找是否有与3D模型1在所述顶点索引数据存储模块11的存储地址连续的3D模型,由于3D模型3、3D模型4在所述顶点索引数据存储模块11的存储地址均与所述3D模型1不连续,则此时,所述存储地址构成模块52构成的存储地址即为3D模型1的存储地址,所述存储地址提交模块53提交的存储地址也是3D模型1的存储地址。
接着,所述连续检测模块51从第一分组列表中提取3D模型3,然后在所述第一分组列表中查找是否有与3D模型3在所述顶点索引数据存储模块11的存储地址连续的3D模型,由于所述3D模型4在所述顶点索引数据存储模块11的存储地址与所述3D模型3连续,则此时,所述存储地址构成模块52根据所述3D模型3的起始地址、3D模型3与3D模型4的总长度,构成一个存储地址,存储地址提交模块53将构成的所述存储地址提交到渲染单元60,所述渲染单元60可一并获取3D模型3与3D模型4的顶点索引数据和顶点数据,并同时进行渲染。
本优选实施例中,通过所述连续检测模块51获取分组列表中连续的3D模型,并通过所述存储地址构成模块52构成一个存储地址后,由所述存储地址提交模块53将构成的所述存储地址提交到渲染单元60,减少了渲染所需的批次数量。例如,图5中,所述提交单元50仅需通过6次提交就可以完成渲染,相比每次仅提交一个3D模型的方案,减少了2次提交过程,缩短了渲染所需的时间,提高了渲染的效率。
三、针对提交单元50的进一步优选实施例。
上述的第二个优选实施例中,虽然可以减小所述提交单元50提交的次数,但是如果同一分组列表的3D模型的顶点索引数据在所述顶点索引数据存储模块11中不连续或连续性不好时,则可能需要提交的次数仍然比较多,不能显著提升渲染效率。
请一并参阅图10及图11,为了解决这个技术问题,在第二个优选实施例的基础上,在本优选实施例中,所述合并渲染系统100还进一步包括排列单元70,用于对所述顶点索引数据存储模块11存储的顶点索引数据进行排列,使得位于同一分组列表的3D模型的顶点索引数据在所述顶点索引数据存储模块11内连续排列。
例如,如图11所示,图11为所述排列单元70对图5所示的3D模型存储单元10进行排列后的结果,可见,具有相同渲染标识的3D模型的顶点索引数据在所述顶点索引数据存储模块11内连续排列,因此通过所述连续检测模块51的连续检测后,所述存储地址提交模块53可以一次性提交一个分组内的所有3D模型的存储地址,进一步减少了提交的次数,如图11所示,所述存储地址提交模块53仅需进行3次提交就可以完成所有3D模型的提交,进一步缩短了渲染所需的时间,提高了渲染的效率。
请一并参阅图12,图12是本发明实施例提供的3D模型的合并渲染方法的流程示意图。其包括如下步骤:
S101,3D模型存储单元存储3D场景中的3D模型。
需要说明的是,在本发明实施例中,由于仅有静态(即不会发生移动)的3D模型才可用于合并渲染,因而所述3D模型存储单元存储的3D模型为静态的3D模型,而动态的3D模型,比如会移动的游戏角色或怪物的3D模型则不会存储于所述3D模型存储单元中。
在本发明实施例中,所述3D模型存储单元存储3D场景中的3D模型的顶点索引数据和顶点数据;其中,一份顶点索引数据对应一份顶点数据。
S102,渲染标识生成单元基于所述3D模型的渲染参数,生成所述3D模型的渲染标识。
在本发明实施例中,所述渲染标识生成单元可根据所述3D模型的贴图、着色器、渲染状态生成渲染标识,具体地:
如图3所示,在本发明的一个实施例时,所述渲染标识生成单元可选用64位整数表示一个3D模型的渲染标识,其中的32位表示3D模型的贴图的文件名或ID和着色器文件名或ID的结合,24位标记为烘培贴图的文件名或ID;余下的8位标记所述3D模型的渲染状态,如标记3D模型的混合模式(alpha test还是alpha blend)和读写深度。
S103,分组单元基于所述3D模型的渲染标识,对所述3D模型存储单元中的位于待渲染区域内的3D模型进行分组,将具有相同渲染标识的3D模型配置到一个分组列表中。
S104,渲染设置单元将处于提交状态的分组列表内的第一个3D模型的渲染参数设置到渲染单元,并在所述分组列表内的3D模型未全部被提交时,维持当前设置;在所述分组列表内的3D模型已全部被提交时,将一个未提交的分组列表的状态切换到提交状态。
具体地,在本发明实施例中,首先,所述渲染设置单元将所述第一分组列表的状态切换到提交状态,然后将第一分组列表内的第一个3D模型(即3D模型1)的渲染参数设置到渲染单元。接着,所述渲染设置单元维持当前设置,直至所述第一分组列表内的3D模型已全部被所述提交单元50提交时,将一个未提交的分组列表的状态切换到提交状态,例如,将第二分组列表的状态切换到提交状态,此后,所述渲染设置单元再将第二分组列表的第一个3D模型(即3D模型2)的渲染参数设置到渲染单元,如此不断循环,直至所有分组列表内的3D模型均已被提交。
S105,提交单元将处于提交状态的分组列表内的3D模型提交到渲染单元。
具体地,在本发明实施例中,所述提交单元依次将处于提交状态的分组列表内的3D模型的顶点索引数据的存储地址提交到所述渲染单元;其中,所述存储地址包括所述3D模型的顶点索引数据在所述3D模型存储单元的起始位置和长度。
例如,在提交3D模型1时,所述3D模型1会记录自己在所述3D模型存储单元中的起始位置和长度,则此时,所述提交单元即可将所述3D模型1的起始位置和长度提交给渲染单元。
S106,渲染单元基于所述渲染设置单元设置的渲染参数对提交的所述3D模型进行渲染,生成相应的画面帧。
具体地,在本发明实施例中,所述渲染单元根据提交的存储地址获取所述3D模型的顶点索引数据,并基于所述顶点索引数据获取对应的顶点数据后,根据所述渲染设置单元设置的渲染参数、所述顶点索引数据及所述顶点数据进行渲染,生成相应的画面帧。
综上所述,本发明实施例提供的3D模型的合并渲染方法,所述分组单元根据所述3D模型的渲染标识对3D模型进行分组,所述渲染设置单元将所述3D模型的渲染参数设置到渲染单元,并在同一个分组列表内的3D模型均被所述提交单元提交至所述渲染单元进行渲染后再切换或重新设置渲染参数到渲染单元,从而减少了渲染参数的设置和切换的次数,缩短了渲染所需的时间,提高了渲染的效率。
优选地,在所述3D模型存储单元存储3D场景中的3D模型的顶点数据之前,还包括;
3D模型存储单元在3D模型加载进所述3D场景时,根据预置的世界变换矩阵对3D模型进行变换,获取所述3D模型在世界坐标系中的顶点数据。
此时,所述着色器的世界变换矩阵为单位矩阵。
本优选实施例中,通过在所述3D模型加载进3D场景时就将3D模型的顶点数据从局部空间的坐标变换到世界坐标系,传递给每个3D模型的着色器的世界变换矩阵就是一个单元矩阵,避免了由于着色器的世界变换矩阵不同而无法进行分组合并的问题。
优选地,所述提交单元将处于提交状态的分组列表内的3D模型的顶点索引数据的存储地址提交到渲染单元具体包括:
S1051,提交单元以所述分组列表内的第一个未被提交的3D模型为起点,在所述分组列表中查找与所述起点在所述顶点索引数据存储模块中的存储地址连续的3D模型,并以查找到的所述3D模型作为新的起点继续进行查找,直至查找不到与所述起点的存储地址连续的3D模型。
S1052,提交单元根据第一个未被提交的3D模型的起始位置、长度及所有满足与所述起点的存储地址连续的3D模型的总长度,构成一个存储地址;
S1053,提交单元将构成的所述存储地址提交到渲染单元。
本优选实施例中,所述提交单元通过获取分组列表中连续的3D模型,并根据这些连续的3D模型构成一个存储地址后,将构成的所述存储地址提交到渲染单元,减少了渲染所需的批次数量,缩短了渲染所需的时间,提高了渲染的效率。
优选地,在所述提交单元将处于提交状态的分组列表内的3D模型的顶点索引数据的存储地址提交到渲染单元之前,还包括:
排列单元对所述3D模型存储单元存储的顶点索引数据进行排列,使得位于同一分组列表的3D模型的顶点索引数据的存储地址在所述3D模型存储单元内连续。
本优选实施例中,通过排列单元对所述3D模型存储单元存储的顶点索引数据进行排列,使得位于同一分组列表的3D模型的顶点索引数据的存储地址在所述3D模型存储单元内连续,如此,所述提交单元可以一次性提交一个分组列表内的所有3D模型的存储地址,进一步减少了提交的次数,缩短了渲染所需的时间,提高了渲染的效率。
本发明还提供一种终端,所述终端包括上述任一实施例所描述的3D模型的合并渲染系统100,本发明实施例提供的终端,所述分组单元30根据所述3D模型的渲染标识对3D模型进行分组,所述渲染设置单元40将所述3D模型的渲染参数设置到渲染单元60,并在同一个分组列表内的3D模型均被所述提交单元50提交至所述渲染单元60进行渲染后再切换或重新设置渲染参数到渲染单元60,从而减少了渲染参数的设置和切换的次数,缩短了渲染所需的时间,提高了渲染的效率。
以上所揭露的仅为本发明一些较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。

Claims (19)

1.一种3D模型的合并渲染系统,其特征在于,包括:
3D模型存储单元,用于存储3D场景中的3D模型;
渲染标识生成单元,用于基于所述3D模型的渲染参数,生成所述3D模型的渲染标识;
分组单元,用于基于所述3D模型的渲染标识,对所述3D模型存储单元中的位于待渲染区域内的3D模型进行分组,将具有相同渲染标识的3D模型配置到一个分组列表中;
渲染设置单元,用于将处于提交状态的分组列表内的第一个3D模型的渲染参数设置到渲染单元,并在所述分组列表内的3D模型未全部被提交时,维持当前设置;在所述分组列表内的3D模型已全部被提交时,将一个未提交的分组列表的状态切换到提交状态;由此减少渲染参数的设置和切换的次数;
提交单元,用于将处于提交状态的分组列表内的3D模型提交到渲染单元;
渲染单元,用于基于所述渲染设置单元设置的渲染参数对提交的所述3D模型进行渲染,生成相应的画面帧。
2.根据权利要求1所述的3D模型的合并渲染系统,其特征在于,所述3D模型存储单元包括:
顶点索引数据存储模块,用于存储3D场景中的3D模型的顶点索引数据;
顶点数据存储模块,用于存储3D场景中的3D模型的顶点数据;其中,一份顶点索引数据对应一份顶点数据。
3.根据权利要求2所述的3D模型的合并渲染系统,其特征在于,所述3D模型存储单元还包括坐标变换模块;
所述坐标变换模块,用于在3D模型加载进所述3D场景时,根据预置的世界变换矩阵对所述3D模型进行变换,获取所述3D模型在世界坐标系中的顶点数据,以供所述顶点数据存储模块进行存储。
4.根据权利要求3所述的3D模型的合并渲染系统,其特征在于,所述3D模型的渲染参数包括3D模型的贴图、着色器及渲染状态。
5.根据权利要求4所述的3D模型的合并渲染系统,其特征在于,所述着色器的世界变换矩阵为单位矩阵。
6.根据权利要求4所述的3D模型的合并渲染系统,其特征在于,所述渲染状态包括3D模型的混合模式和读写深度。
7.根据权利要求2所述的3D模型的合并渲染系统,其特征在于,
所述提交单元具体用于,将处于提交状态的分组列表内的3D模型的顶点索引数据的存储地址提交到渲染单元;其中,所述存储地址包括所述3D模型的顶点索引数据在所述顶点索引数据存储模块的起始位置和长度;
则所述渲染单元具体用于,根据提交的存储地址获取所述3D模型的顶点索引数据,并基于所述顶点索引数据从所述顶点数据存储模块获取对应的顶点数据后,根据所述渲染设置单元设置的渲染参数、所述顶点索引数据及所述顶点数据进行渲染,生成相应的画面帧。
8.根据权利要求7所述的3D模型的合并渲染系统,其特征在于,所述3D模型的合并渲染系统还包括排列单元,用于对所述顶点索引数据存储模块存储的顶点索引数据进行排列,使得位于同一分组列表的3D模型的顶点索引数据的存储地址在所述顶点索引数据存储模块内连续。
9.根据权利要求7或8所述的3D模型的合并渲染系统,其特征在于,所述提交单元具体包括:
连续检测模块,用于以所述分组列表内的第一个未被提交的3D模型为起点,在所述分组列表中查找与所述起点在所述顶点索引数据存储模块中的存储地址连续的3D模型,并以查找到的所述3D模型作为新的起点继续进行查找,直至查找不到与所述起点的存储地址连续的3D模型;
存储地址构成模块,用于根据第一个未被提交的3D模型的起始位置、长度及所有满足与所述起点的存储地址连续的3D模型的总长度,构成一个存储地址;
存储地址提交模块,用于将构成的所述存储地址提交到渲染单元。
10.一种3D模型的合并渲染方法,其特征在于,包括:
3D模型存储单元存储3D场景中的3D模型;
渲染标识生成单元基于所述3D模型的渲染参数,生成所述3D模型的渲染标识;
分组单元基于所述3D模型的渲染标识,对所述3D模型存储单元中的位于待渲染区域内的3D模型进行分组,将具有相同渲染标识的3D模型配置到一个分组列表中;
渲染设置单元将处于提交状态的分组列表内的第一个3D模型的渲染参数设置到渲染单元,并在所述分组列表内的3D模型未全部被提交时,维持当前设置;在所述分组列表内的3D模型已全部被提交时,将一个未提交的分组列表的状态切换到提交状态;由此减少渲染参数的设置和切换的次数;
提交单元将处于提交状态的分组列表内的3D模型提交到渲染单元;
渲染单元基于所述渲染设置单元设置的渲染参数对提交的所述3D模型进行渲染,生成相应的画面帧。
11.根据权利要求10所述的3D模型的合并渲染方法,其特征在于,所述3D模型存储单元存储3D场景中的3D模型具体包括:
3D模型存储单元存储3D场景中的3D模型的顶点索引数据;
3D模型存储单元存储3D场景中的3D模型的顶点数据;其中,一份顶点索引数据对应一份顶点数据。
12.根据权利要求11所述的3D模型的合并渲染方法,其特征在于,在所述3D模型存储单元存储3D场景中的3D模型的顶点数据之前,还包括;
3D模型存储单元在3D模型加载进所述3D场景时,根据预置的世界变换矩阵对3D模型进行变换,获取所述3D模型在世界坐标系中的顶点数据。
13.根据权利要求12所述的3D模型的合并渲染方法,其特征在于,所述3D模型的渲染参数包括3D模型的贴图、着色器及渲染状态。
14.根据权利要求13所述的3D模型的合并渲染方法,其特征在于,所述着色器的世界变换矩阵为单位矩阵。
15.根据权利要求13所述的3D模型的合并渲染方法,其特征在于,所述渲染状态包括3D模型的混合模式和读写深度。
16.根据权利要求11所述的3D模型的合并渲染方法,其特征在于,所述提交单元将处于提交状态的分组列表内的3D模型提交到渲染单元,具体为:
提交单元将处于提交状态的分组列表内的3D模型的顶点索引数据的存储地址提交到渲染单元;其中,所述存储地址包括所述3D模型的顶点索引数据在所述3D模型存储单元的起始位置和长度;
则所述渲染单元基于所述渲染设置单元设置的渲染参数对提交的所述3D模型进行渲染,生成相应的画面帧具体为:
渲染单元根据提交的存储地址获取所述3D模型的顶点索引数据,并基于所述顶点索引数据从所述3D模型存储单元获取对应的顶点数据后,根据所述渲染设置单元设置的渲染参数、所述顶点索引数据及所述顶点数据进行渲染,生成相应的画面帧。
17.根据权利要求16所述的3D模型的合并渲染方法,其特征在于,在所述提交单元将处于提交状态的分组列表内的3D模型的顶点索引数据的存储地址提交到渲染单元之前,还包括:
排列单元对所述3D模型存储单元存储的顶点索引数据进行排列,使得位于同一分组列表的3D模型的顶点索引数据的存储地址在所述3D模型存储单元内连续。
18.根据权利要求16或17所述的3D模型的合并渲染方法,其特征在于,所述提交单元将处于提交状态的分组列表内的3D模型的顶点索引数据的存储地址提交到渲染单元具体包括:
提交单元以所述分组列表内的第一个未被提交的3D模型为起点,在所述分组列表中查找与所述起点在所述3D模型存储单元中的存储地址连续的3D模型,并以查找到的所述3D模型作为新的起点继续进行查找,直至查找不到与所述起点的存储地址连续的3D模型;
提交单元根据第一个未被提交的3D模型的起始位置、长度及所有满足与所述起点的存储地址连续的3D模型的总长度,构成一个存储地址;
提交单元将构成的所述存储地址提交到渲染单元。
19.一种终端,其特征在于,包括如权利要求1至9任意一项所述的3D模型的合并渲染系统。
CN201510809462.2A 2015-11-20 2015-11-20 一种3d模型的合并渲染系统及方法、终端 Active CN106780686B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510809462.2A CN106780686B (zh) 2015-11-20 2015-11-20 一种3d模型的合并渲染系统及方法、终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510809462.2A CN106780686B (zh) 2015-11-20 2015-11-20 一种3d模型的合并渲染系统及方法、终端

Publications (2)

Publication Number Publication Date
CN106780686A CN106780686A (zh) 2017-05-31
CN106780686B true CN106780686B (zh) 2020-07-10

Family

ID=58886082

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510809462.2A Active CN106780686B (zh) 2015-11-20 2015-11-20 一种3d模型的合并渲染系统及方法、终端

Country Status (1)

Country Link
CN (1) CN106780686B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109389664B (zh) * 2017-08-04 2022-02-22 腾讯科技(深圳)有限公司 模型贴图渲染方法、装置及终端
CN109045691B (zh) * 2018-07-10 2022-02-08 网易(杭州)网络有限公司 一种特效对象的特效实现方法和装置
CN109816762B (zh) * 2019-01-30 2023-08-22 网易(杭州)网络有限公司 一种图像渲染方法、装置、电子设备和存储介质
CN109978981B (zh) * 2019-03-15 2023-04-25 广联达科技股份有限公司 一种提高建筑模型显示效率的批次渲染方法
CN110570510B (zh) * 2019-09-10 2023-04-18 郑州阿帕斯科技有限公司 一种材质贴图的生成方法和装置
CN110570507B (zh) * 2019-09-11 2023-09-19 珠海金山数字网络科技有限公司 一种图像渲染方法及装置
CN111145329B (zh) * 2019-12-25 2024-03-22 北京像素软件科技股份有限公司 模型渲染方法、系统及电子装置
CN111063032B (zh) * 2019-12-26 2024-02-23 北京像素软件科技股份有限公司 模型渲染方法、系统及电子装置
CN111562962B (zh) * 2020-04-29 2023-07-04 百度在线网络技术(北京)有限公司 画面渲染方法、装置、电子设备和存储介质
CN112231020B (zh) * 2020-12-16 2021-04-20 成都完美时空网络技术有限公司 模型切换方法和装置、电子设备和存储介质
CN115546005A (zh) * 2021-06-30 2022-12-30 华为技术有限公司 一种指令处理方法及其相关设备
CN115019019B (zh) * 2022-06-01 2024-04-30 大连东软信息学院 一种实现3d特效编辑器的方法
CN115712580B (zh) * 2022-11-25 2024-01-30 格兰菲智能科技有限公司 内存地址分配方法、装置、计算机设备和存储介质
CN116541111B (zh) * 2023-04-06 2024-02-27 上海数聚软件系统股份有限公司 画布图形渲染方法、装置、电子设备和计算机可读介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1750046A (zh) * 2005-10-20 2006-03-22 浙江大学 基于图形处理器的三维水墨效果渲染方法
EP2197217A1 (en) * 2008-12-15 2010-06-16 Koninklijke Philips Electronics N.V. Image based 3D video format
CN103390288B (zh) * 2012-05-09 2016-04-27 上海幻维数码创意科技有限公司 三维渲染文件批量拆分渲染层处理系统
CN102929641A (zh) * 2012-11-09 2013-02-13 沈阳创达技术交易市场有限公司 场景物件的实例化渲染
CN105677307B (zh) * 2014-11-19 2019-03-01 上海烟草集团有限责任公司 一种移动终端大数据处理方法及系统
CN105184847B (zh) * 2015-10-16 2017-12-12 上海恺英网络科技有限公司 3d游戏渲染引擎的渲染方法

Also Published As

Publication number Publication date
CN106780686A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106780686B (zh) 一种3d模型的合并渲染系统及方法、终端
US11257286B2 (en) Method for rendering of simulating illumination and terminal
US11344806B2 (en) Method for rendering game, and method, apparatus and device for generating game resource file
US8988446B2 (en) 2D animation from a 3D mesh
CN109045691B (zh) 一种特效对象的特效实现方法和装置
US20150091892A1 (en) Method and apparatus for rendering image data
JP2008077627A (ja) 3次元画像のレンダリングにおける早期zテスト方法およびシステム
KR20120096119A (ko) 그래픽 프로세서 및 조기 가시성 테스트 방법
US9811940B2 (en) Bandwidth reduction using vertex shader
US20230120253A1 (en) Method and apparatus for generating virtual character, electronic device and readable storage medium
JP2015531918A (ja) ヒットテスト方法および装置
CN105550973B (zh) 图形处理单元、图形处理系统及抗锯齿处理方法
CN105574931A (zh) 一种电子地图道路绘制方法及装置
CN105894551B (zh) 图像绘制方法及装置
JP7095852B2 (ja) データ集約型視覚化動作におけるgpu性能を向上する方法およびシステム
CN110223216B (zh) 一种基于并行plb的数据处理方法、装置及计算机存储介质
CN110544291A (zh) 一种图像渲染方法及装置
US20230033319A1 (en) Method, apparatus and device for processing shadow texture, computer-readable storage medium, and program product
CN114241151A (zh) 三维模型简化方法、装置、计算机设备和计算机存储介质
CN112419498A (zh) 一种海量倾斜摄影数据的调度渲染方法
US20120218261A1 (en) Graphic system comprising a fragment graphic module and relative rendering method
US8854385B1 (en) Merging rendering operations for graphics processing unit (GPU) performance
US11100707B2 (en) Computer graphics method for terrain rendering
WO2022037506A1 (zh) 渲染方法、设备以及系统
JP2015187795A (ja) 画像表示システム

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
GR01 Patent grant
GR01 Patent grant