WO2023197729A1 - 对象渲染方法、装置、电子设备及存储介质 - Google Patents
对象渲染方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- WO2023197729A1 WO2023197729A1 PCT/CN2023/074536 CN2023074536W WO2023197729A1 WO 2023197729 A1 WO2023197729 A1 WO 2023197729A1 CN 2023074536 W CN2023074536 W CN 2023074536W WO 2023197729 A1 WO2023197729 A1 WO 2023197729A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- rendered
- rendering
- preset
- objects
- information
- Prior art date
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 335
- 238000000034 method Methods 0.000 title claims abstract description 87
- 230000004044 response Effects 0.000 claims abstract description 16
- 239000011159 matrix material Substances 0.000 claims description 48
- 230000009466 transformation Effects 0.000 claims description 38
- 238000013507 mapping Methods 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 20
- 238000006243 chemical reaction Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 8
- 230000001960 triggered effect Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 15
- 238000013519 translation Methods 0.000 description 12
- 239000000463 material Substances 0.000 description 11
- 241000209504 Poaceae Species 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 244000025254 Cannabis sativa Species 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供一种对象渲染方法、装置、电子设备及存储介质,可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景,该方法包括:响应于待渲染对象的对象渲染指令,获取所述待渲染对象在预设渲染窗口中的位置信息;所述待渲染对象包括待渲染网格对象和目标页面对应的待渲染页面元素对象;根据所述位置信息,确定所述待渲染网格对象和所述待渲染页面元素对象各自对应的渲染顺序;根据所述渲染顺序,将所述待渲染网格对象和所述待渲染页面元素对象渲染在所述目标页面中,得到渲染后的目标页面元素对象。
Description
本申请要求于2022年04月14日提交中国专利局、申请号为202210394558.7名称为“对象渲染方法、装置、电子设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请属于计算机技术领域,具体涉及一种对象渲染方法、装置、电子设备及存储介质。
背景
在使用Unity引擎制作游戏的场景中,相关技术通常将物体渲染到渲染纹理(RenderTexture)上,然后再用RenderTexture绘制到用户界面(User Interface,UI)上。其中,Unity引擎指的是实时可交互图形创作平台。
技术内容
本申请提出了一种对象渲染方法,所述方法包括:
响应于待渲染对象的对象渲染指令,获取所述待渲染对象在预设渲染窗口中的位置信息;所述待渲染对象包括待渲染网格对象和目标页面对应的待渲染页面元素对象;
根据所述位置信息,确定所述待渲染网格对象和所述待渲染页面元素对象各自对应的渲染顺序;
根据所述渲染顺序,将所述待渲染网格对象和所述待渲染页面元素对象渲染在所述目标页面中,得到渲染后的目标页面元素对象。
本申请实施例提供了一种对象渲染装置,所述装置包括:
位置信息获取模块,用于响应于待渲染对象的对象渲染指令,获取所述待渲染对象在预设渲染窗口中的位置信息;所述待渲染对象包括待渲染网格对象和目标页面对应的待渲染页面元素对象;
渲染顺序确定模块,用于根据所述位置信息,确定所述待渲染网格对象和所述待渲染页面元素对象各自对应的渲染顺序;
渲染模块,用于根据所述渲染顺序,将所述待渲染网格对象和所述待渲染页面元素对象渲染在所述目标页面中,得到渲染后的目标页面元素对象。
本申请提出了一种对象渲染的电子设备,该电子设备包括处理器和存储器,存储器中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现如上述所述的对象渲染方法。
本申请提出了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述所述的对象渲染方法。
本申请提出了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述所述的对象渲染方法。
为了更清楚地说明本申请实施例或相关技术中的技术方案和优点,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是根据一示例性实施例示出的一种对象渲染方法的实施环境示意图。
图2是根据一示例性实施例示出的一种对象渲染方法的流程示意图。
图3是根据一示例性实施例示出的一种生成对象渲染指令的流程图。
图4是根据一示例性实施例示出的一种对预设数量个候选待渲染网格对象进行拼接,得到拼接后的待渲染网格对象的流程图。
图5是根据一示例性实施例示出的一种对上述顶点坐标信息进行拼接,得到拼接后的顶点坐标信息的流程图。
图6是根据一示例性实施例示出的一种计算顶点坐标信息与目标转换矩阵的乘积,得到预设数量个候选待渲染网格对象各自对应的转换后的顶点坐标信息的流程图。
图7是根据一示例性实施例示出的一种拼接转换后的顶点坐标信息,得到拼接后的顶点坐标信息的流程图。
图8是根据一示例性实施例示出的一种拼接后的待渲染网格对象的示意图。
图9是根据一示例性实施例示出的一种根据上述属性信息,确定多个预设待渲染对象各自在预设渲染窗口中的预设位置信息的流程图。
图10是根据一示例性实施例示出的一种上述根据上述位置信息,确定待渲染网格对象和待渲染页面元素对象各自对应的渲染顺序的流程图。
图11是根据一示例性实施例示出的一种根据上述渲染顺序,将待渲染网格对象和待渲染页面元素对象渲染在目标页面中,得到渲染后的目标页面元素对象的流程图。
图12是根据一示例性实施例示出的一种对目标页面进行触发的流程图。
图13是根据一示例性实施例示出的一种待渲染网格对象对应的模型示意图。
图14是根据一示例性实施例示出的一种将图13中的待渲染网格对象渲染到目标页面中,得到对应的目标页面元素对象示意图。
图15是根据一示例性实施例示出的图13中的待渲染网格对象在游戏场景中的一种表现效果示意图。
图16是根据一示例性实施例示出的一种对象渲染装置框图。
图17是根据一示例性实施例示出的一种对象渲染的服务器的硬件结构框图。
实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
如前所述,相关技术通常将物体渲染到渲染纹理(RenderTexture),这就需要创建RenderTexture对象,这样不仅浪费内存,还因为引入了额外的相机与绘制指令(DrawCall)而导致渲染性能不佳。其中,相机指的是Unity引擎当中用于指定可视范围并且渲染可视范围到屏幕的Unity引擎组件。
因此,本申请提供一种对象渲染方法、装置、电子设备及存储介质。
图1是根据一示例性实施例示出的一种对象渲染方法所适用的实施环境示意图。如图1所示,该实施环境至少可以包括终端01和服务器02,该终端01和服务器02之间可以通过有线或无线通
信方式进行直接或间接地连接,本申请在此不做限制。该终端01可以包括中央处理器(Central Processing Unit,CPU)和图形处理器(Graphics Processing Unit,GPU),该GPU可以包括画布渲染器(Canvas Renderer)。
具体地,该终端可以用于获取待渲染对象和待渲染对象对应的渲染资源,并根据该渲染资源对待渲染对象进行渲染。在一些实施例中,该终端01可以为基于Unity引擎进行3D渲染的计算机设备,其可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能电视、智能手表等,但并不局限于此。
具体地,该服务器02可以为终端提供后台服务。在一些实施例中,该服务器02可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
需要说明的是,图1仅仅是一种示例。在其他场景中,还可以包括其他实施环境。例如,该实施环境中包括服务器,该服务器可以作为基于Unity引擎进行3D渲染的计算机设备。其中,Unity引擎指的是3D实时可交互图形创作平台。
本申请实施例的一种应用场景是在各种基于Unity引擎进行3D渲染的计算机设备中渲染3D场景。在一些实施例中,上述3D场景可以包括但不限于以下产品:大型3D游戏,3D动画,VR展示中的场景渲染。
以下,对本申请实施例所使用到的技术术语进行说明:
GPU:计算机设备上的图形处理器,用来绘制图形。
CPU:计算机设备上的中央处理器,用来处理程序逻辑。
UI:用户界面,可以接受终端对应的账号的输入,并且展示执行结果。
渲染:一种将基础图元(三角形,四边形,点,线等)转换到2D屏幕像素的过程。
Canvas:画布,用于UI组件绘制的组件,可以让UI组件在不同分辨率的设备上都可以置于合适的位置。
Px:像素,是指由图像的小方格组成的,这些小方块都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子。
Draw Call:CPU向GPU发送的绘制指令。通常而言,一个draw call包括设置设备上下文,设置材质,设置网格(mesh),设置材质的变量,设置纹理等一系列步骤或者过程。
Unity引擎:3D实时可交互图形创作平台,常用于制作游戏。
图2是根据一示例性实施例示出的一种对象渲染方法的流程示意图。该方法可以用于图1中的实施环境中,具体可以由计算机设备执行,该计算机设备可以是终端也可以是服务器。本说明书提供了如实施例或流程图上述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者
并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,该方法可以包括:
S101.响应于待渲染对象的对象渲染指令,获取上述待渲染对象在预设渲染窗口中的位置信息;上述待渲染对象包括待渲染网格对象和目标页面对应的待渲染页面元素对象。
在一些实施例中,上述步骤S101中的待渲染对象的对象渲染指令,可以由计算机设备的CPU产生,并由CPU发送至GPU,GPU中Unity的组件,即画布渲染器(Canvas Renderer)可以响应于该对象渲染指令,获取待渲染对象在预设渲染窗口中的位置信息。其中,该待渲染对象包括待渲染网格对象和目标页面对应的待渲染页面元素对象。
以下,对画布渲染器(Canvas Renderer)进行介绍:Unity把UI组件放在了一个通用的基本类型,即遮罩图像类(MaskableGraphic)。所有UI组件,不论是文子(Text)、原始图像(RawImage)、按钮(Button)、表格(Table)……等等,都继承于MaskableGraphic。Canvas Renderer也继承于MaskableGraphic,其可以支持绘制并渲染网格(Mesh),Unity将Canvas Renderer视为一个UI组件,Canvas Renderer享受UI组件的排列方式,即Canvas Renderer的渲染顺序并非是像不透明物体那样,按照相机位置由近及远进行渲染,也并非是像半透明物体那样,按照相机位置由远及近进行渲染,而是按照对象在预设渲染窗口里面的位置来进行排序。
示例性地,预设渲染窗口可以为层次结构窗口(Hierarchy窗口)。其中,Hierarchy窗口会罗列出当前场景中的所有待渲染对象。在场景中添加或删除游戏待渲染对象时,这些待渲染对象也会在Hierarchy窗口中显示和消失。可以通过向上或向下拖动待渲染对象,或通过使待渲染对象成为“子”或“父”待渲染来对其重新排序。
在一些实施例中,该对象渲染指令中可以携带待渲染对象的渲染资源,该渲染资源可以包括设置设备上下文,设置材质,设置网格(mesh),设置材质的变量,设置纹理等一系列步骤或者过程。
在一些实施例中,该待渲染对象指的是可以渲染到屏幕的可视化物体。作为一种示例,该待渲染网格对象可以为3D网格对象(3D Mesh)。该待渲染页面元素对象可以包括但不限于:UI文字、UI按钮等。
在一些实施例中,在待渲染网格对象的数量为一个的情况下,CPU可以生成该一个待渲染网格对象对应的对象渲染指令和待渲染页面元素对象对应的对象渲染指令。并将该一个待渲染网格对象对应的对象渲染指令和待渲染页面元素对象对应的对象渲染指令,作为最终的对象渲染指令。
在另一个实施例中,在待渲染网格对象的数量为多个,且多个待渲染网格对象中不存在满足预设条件的预设数量的候选待渲染网格对象的情况下,CPU可以生成多个待渲染网格对象各自对应的对象渲染指令和待渲染页面元素对象对应的对象渲染指令。并将多个待渲染网格对象各自对应的对象渲染指令和待渲染页面元素对象对应的对象渲染指令,作为最终的对象渲染指令。作为一种示例,满足预设条件可以理解为:如果若干个待渲染网格对象的组件类型相同、使用的材质相同、使用的贴图也相同,则认为该若干个待渲染网格对象为满足预设条件的预设数量个候选待渲染网格对象。其中,预设数量为大于1的正整数。其中,组件类型包括但不限于:Text组件、RawImage组件、Button(按钮)组件等等。
在另一个可行的实施例中,在待渲染网格对象的数量为多个,且多个待渲染网格对象中存在满足预设条件的预设数量个候选待渲染网格对象的情况下,可以对满足预设条件的预设数量个候选待渲染网格对象进行渲染合并。相应地,图3是根据一示例性实施例示出的一种生成对象渲染指令的流程图,如图3所示,上述方法还可以包括:
S201.获取多个待渲染网格对象和上述多个待渲染网格对象各自对应的渲染资源。
在一些实施例中,上述步骤S201可以由CPU执行。CPU可以预先获取多个待渲染网格对象和上述多个待渲染网格对象各自对应的渲染资源。作为一种示例,该渲染资源可以包括但不限于:设置设备上下文,设置材质,设置网格(mesh),设置材质的变量,设置纹理等一系列步骤或者过程。
S203.基于上述多个待渲染网格对象各自对应的渲染资源,从上述多个待渲染网格对象中确定出,渲染资源满足预设条件的预设数量的候选待渲染网格对象。
在一些实施例中,上述步骤S203可以由CPU执行。CPU可以根据多个待渲染网格对象各自对应的渲染资源,从多个待渲染网格对象中挑选出,组件类型相同、使用的材质相同、使用的贴图也相同的待渲染网格对象,得到渲染资源满足预设条件的预设数量个的候选待渲染网格对象。
例如,多个待渲染网格对象(mesh)的数量为5个(mesh1、mesh2、mesh3、mesh4、mesh5),CPU可以从这5个mesh中,确定出组件类型相同、使用的材质相同、使用的贴图也相同的mesh为mesh1、mesh2、mesh3,则mesh1、mesh2、mesh3为渲染资源满足预设条件的预设数量个候选待渲染网格对象。
S205.对上述预设数量个的候选待渲染网格对象进行拼接,得到拼接后的待渲染网格对象。
在一些实施例中,上述步骤S205中可以由所述计算机设备中的CPU执行。CPU可以采用多种方式对预设数量个候选待渲染网格对象进行拼接,本申请实施例对此不做具体限定。
在一个可行的实施例中,图4是根据一示例性实施例示出的一种对预设数量个的候选待渲染网格对象进行拼接,得到拼接后的待渲染网格对象的流程图。如图4所示,在上述步骤S205,上述对上述预设数量个候选待渲染网格对象进行拼接,得到拼接后的待渲染网格对象,可以包括:
S2051.获取上述预设数量的候选待渲染网格对象各自对应的顶点坐标信息。
S2053.对上述顶点坐标信息进行拼接,得到拼接后的顶点坐标信息。
S2055.根据上述拼接后的顶点坐标信息,生成拼接后的待渲染网格对象。
在一些实施例中,上述步骤S2051-S2055可以由CPU执行。为了实现渲染合并,在上述步骤S2051-S2055中,CPU可以获取预设数量个候选待渲染网格对象各自对应的顶点坐标信息,并对该预设数量个候选待渲染网格对象各自对应的顶点坐标信息进行拼接,得到拼接后的顶点坐标信息,最后根据该拼接后的顶点坐标信息,生成上述拼接后的待渲染网格对象。
由于顶点坐标能够准确反映网格对象的位置信息,本申请实施例通过对预设数量个候选待渲染网格对象各自对应的顶点坐标信息进行拼接,并基于拼接后的顶点坐标信息生成拼接后的待渲染网格对象,能够提高拼接后的待渲染网格对象确定的精度和效率,进而提高对象渲染的精度和效率。
图5是根据一示例性实施例示出的一种对上述顶点坐标信息进行拼接,得到拼接后的顶点坐标信息的流程图,如图5所示,在一个可行的实施例中,在上述步骤S2053中,上述对上述顶点坐标信息进行拼接,得到拼接后的顶点坐标信息,可以包括:
S20531.确定上述预设数量个候选待渲染网格对象各自对应的顶点坐标信息,从上述预设数量个候选待渲染网格对象各自所在的空间,转换至世界坐标空间所需的空间转换操作。
S20533.基于预设转换矩阵和上述空间转换操作,确定上述预设数量个候选待渲染网格对象各自对应的目标转换矩阵。
S20535.计算上述顶点坐标信息与目标转换矩阵的乘积,得到上述预设数量个候选待渲染网格对象各自对应的转换后的顶点坐标信息。
S20537.拼接上述转换后的顶点坐标信息,得到拼接后的顶点坐标信息。
在一些实施例中,上述步骤S20531-步骤S20537可以由CPU执行,由于每个待渲染网格对象(Mesh)都有一个模型坐标,而每个mesh之间的模型坐标不通用,造成无法描述不同mesh的顶点之间的位置关系。为了准确描述不同mesh的顶点之间的位置关系,提高顶点坐标信息拼接的精度,CPU可以要将不同mesh的坐标转移到世界坐标空间。
在一些实施例中,在上述步骤S20531中,可以确定预设数量个候选待渲染网格对象各自对应的顶点坐标信息,从上述预设数量个候选待渲染网格对象各自所在的空间,转换至世界坐标空间所需的空间转换操作。其中,世界坐标空间是世界坐标所在的空间,世界坐标指的是系统的绝对坐标。作为一种示例,该空间转换操作可以包括但不限于:缩放操作、旋转操作、平移操作等。比如,某个顶点坐标信息到世界坐标空间所需的空间转换操作为(2,2,2)缩放,(0,60,0)旋转和(2,0,2)平移。
在一些实施例中,在上述步骤S20533中,该预设转换矩阵可以与空间转换操作相对应。例如,空间转换操作包括缩放操作、旋转操作和平移操作,则预设转换矩阵可以包括缩放矩阵、旋转矩阵和平移矩阵。作为一种示例,该预设转换矩阵可以为缩放矩阵、旋转矩阵和平移矩阵的乘积。
作为一种示例,可以将空间转换操作对应的数值代入该预设转换矩阵中,从而得到该目标转换矩阵。
假设预设转换矩阵为:
其中,第一个矩阵为平移矩阵,第二个矩阵为旋转矩阵、第三个矩阵为缩放矩阵。平移矩阵中的tx、ty、tz指的是沿x轴、y轴、z轴方向的平移操作对应的数值,旋转矩阵中的θ指的是旋转角度,缩放矩形中的kx、ky、kz指的是沿x轴、y轴、z轴方向的平移操作对应的数值。
假设某个候选待渲染网格对象从所在的空间,转换至世界坐标空间所需的空间转换操作为(2,2,2)缩放,(0,60,0)旋转和(2,0,2)平移,则将(2,2,2)缩放代入缩放矩阵,将(0,60,0)旋转代入旋转矩阵,将(2,0,2)平移代入平移矩阵中,可以得到一个4x4的目标转换矩阵,具体可以为:
在一些实施例中,在上述步骤S20535-步骤S20537中,可以计算预设数量个候选待渲染网格对象各自对应的顶点坐标信息,与预设数量个候选待渲染网格对象各自对应的目标转换矩阵之间的乘积,得到预设数量个候选待渲染网格对象各自对应的转换后的顶点坐标信息。在上述步骤S20537中,CPU可以对转换后的顶点坐标信息进行拼接,得到拼接后的顶点坐标信息。
本公开实施例中,通过CPU将预设数量个候选待渲染网格对象各自对应的顶点坐标信息进行空间转换,并拼接转换后的顶点坐标信息之间,实现了将不同的待渲染网格对象均转换到世界坐标空间,使得不同的待渲染网格对象的模型坐标之间可以通用,从而可以准确描述不同的待渲染网格对象之间的位置关系,提高了不同的待渲染网格对象的拼接精度,进而提高了对象渲染的精度;此外,将预设数量个候选待渲染网格对象各自对应的顶点坐标信息进行拼接,得到一个整体的拼接后的顶点坐标信息,使得CPU针对该整体的拼接后的顶点坐标信息,只需要生成一个渲染指令,从而减少渲染过程对CPU的计算资源的消耗,降低CPU的负担。
图6是根据一示例性实施例示出的一种计算顶点坐标信息与目标转换矩阵的乘积,得到预设数量个候选待渲染网格对象各自对应的转换后的顶点坐标信息的流程图。如图6所示,在一些实施例中,上述预设数量个候选待渲染网格对象各自对应的顶点坐标信息包括顶点缓冲区信息和索引缓冲区信息,在上述步骤S20535中,上述计算顶点坐标信息与目标转换矩阵的乘积,得到预设数量个
候选待渲染网格对象各自对应的转换后的顶点坐标信息,可以包括:
S205351.计算上述预设数量个候选待渲染网格对象各自对应的顶点缓冲区信息与目标转换矩阵的乘积,得到上述预设数量个候选待渲染网格对象各自对应的转换后的顶点缓冲区信息。
S205353.计算上述预设数量个候选待渲染网格对象各自对应的索引缓冲区信息与目标转换矩阵的乘积,得到上述预设数量个候选待渲染网格对象各自对应的转换后的索引缓冲区信息。
S205355.将上述转换后的顶点缓冲区信息和转换后的索引缓冲区信息,作为转换后的顶点坐标信息。
其中,顶点缓冲区信息(VBO,Vertex Buffer Object)用于存储顶点坐标、顶点uv、顶点法线、顶点颜色等。uv指的是水平和垂直方向上的坐标。索引缓冲区信息(IBO,Index Buffer Object)用于存储无符号短整型(unsigned int)或者无符号整型数据类型(unsigned short)。
在一些实施例中,上述步骤S205351-上述步骤S205355可以由CPU执行。CPU可以将预设数量个候选待渲染网格对象各自对应的顶点缓冲区信息和索引缓冲区信息分别与目标转换矩阵进行相乘,得到预设数量个候选待渲染网格对象各自对应的转换后的顶点缓冲区信息和索引缓冲区信息,并将转换后的顶点缓冲区信息和转换后的索引缓冲区信息,作为上述转换后的顶点坐标信息,实现了将不同的待渲染网格对象的顶点缓冲区信息和索引缓冲区信息均转换到世界坐标空间,提高了顶点坐标信息转换的完整性和准确性,通过完整性和准确性较高的转换后的顶点坐标信息,可以准确描述不同的待渲染网格对象之间的位置关系,提高了不同的待渲染网格对象的拼接精度,进而提高了对象渲染的精度。
例如,预设数量个候选待渲染网格对象包括待渲染网格对象A(meshA)和待渲染网格对象B(meshB),meshA包括四个顶点,其VBO为A1A2A3A4,IBO为A1A2A3,A2A3A4,meshB包括四个顶点,其VBO为B1B2B3B4,IBO为B1B2B3,B2B3B4。CPU将A1A2A3A4与目标转换矩阵进行相乘,得到meshA对应的转换后的顶点缓冲区信息(AWP1AWP2AWP3AWP4),将B1B2B3B4与目标转换矩阵进行相乘,得到meshA对应的转换后的索引缓冲区信息(AWP1AWP2AWP3,AWP2AWP3AWP4)。CPU将B1B2B3B4与目标转换矩阵进行相乘,得到meshB对应的转换后的顶点缓冲区信息(BWP1BWP2BWP3BWP4),将B1B2B3,B2B3B4与目标转换矩阵进行相乘,得到meshB对应的转换后的索引缓冲区信息(BWP1BWP2BWP3,BWP2BWP3BWP4)。将AWP1AWP2AWP3AWP4、AWP1AWP2AWP3,AWP2AWP3AWP4、BWP1BWP2BWP3BWP4和BWP1BWP2BWP3,BWP2BWP3BWP4,作为转换后的顶点坐标信息。
图7是根据一示例性实施例示出的一种拼接转换后的顶点坐标信息,得到拼接后的顶点坐标信息的流程图。如图7所示,在一些实施例中,在上述步骤S20537中,上述拼接转换后的顶点坐标信息,得到拼接后的顶点坐标信息,可以包括:
S205371.拼接上述转换后的顶点缓冲区信息,得到拼接后的顶点缓冲区信息。
S205373.拼接上述转换后的索引缓冲区信息,得到拼接后的索引缓冲区信息。
S205375.将上述拼接后的顶点缓冲区信息和拼接后的索引缓冲区信息,作为拼接后的顶点坐标信息。
在一些实施例中,上述步骤S205371-S205375可以由CPU执行。在拼接过程中,可以按照顶点缓冲区信息维度和索引缓冲区信息维度分别进行拼接。在顶点缓冲区信息维度,可以将预设数量个候选待渲染网格对象各自对应的转换后的顶点缓冲区信息进行拼接,得到拼接后的顶点缓冲区信息,在索引缓冲区信息维度,可以将预设数量个候选待渲染网格对象各自对应的转换后的索引缓冲区信息进行拼接,得到拼接后的索引缓冲区信息。接着将转换后的顶点缓冲区信息和转换后的索引缓冲区信息,作为转换后的顶点坐标信息。按照顶点缓冲区信息维度和索引缓冲区信息维度,对顶点坐标信息进行拼接,实现了将不同维度的坐标信息组合在一起,提高了坐标信息拼接的效率和精度,从而提高了拼接后的待渲染网格对象的生成效率和精度,进而提高了待渲染网格对象的渲染性能。
例如,meshA对应的转换后的顶点缓冲区信息为AWP1AWP2AWP3AWP4,meshB对应的转换后的顶点缓冲区信息为BWP1BWP2BWP3BWP4,meshA对应的转换后的索引缓冲区信息为AWP1AWP2AWP3,AWP2AWP3AWP4,meshB对应的转换后的索引缓冲区信息为BWP1BWP2BWP3,BWP2BWP3BWP4,则可以将AWP1AWP2AWP3AWP4和BWP1BWP2BWP3BWP4拼接成一个大的VBO(AWP1AWP2AWP3AWP4BWP1BWP2BWP3BWP4),将AWP1AWP2AWP3,AWP2AWP3AWP和BWP1BWP2BWP3,BWP2BWP3BWP4拼接成一个大IBO(AWP1AWP2AWP3,AWP2AWP3AWP4,BWP1BWP2BWP3,BWP2BWP3BWP4)。最后将大的VBO(AWP1AWP2AWP3AWP4BWP1BWP2BWP3BWP4)和大IBO(AWP1AWP2AWP3,AWP2AWP3AWP4,BWP1BWP2BWP3,BWP2BWP3BWP4),作为拼接后的顶点坐标信息。
在一些实施例中,上述步骤S2055可以由CPU执行。在上述步骤S2055中,CPU可以根据拼接得到的大的VBO(AWP1AWP2AWP3AWP4BWP1BWP2BWP3BWP4)和大IBO(AWP1AWP2AWP3,AWP2AWP3AWP4,BWP1BWP2BWP3,BWP2BWP3BWP4),生成拼接后的待渲染网格对象。
图8是根据一示例性实施例示出的一种拼接后的待渲染网格对象的示意图。如图8所示,通过上述拼接方式,可以将预设数量个候选待渲染网格对象(即预设数量个“草”),拼接成一个整体的拼接后的待渲染网格对象。其中,图8中的“顶部”指的是预设数量个“草”中的其中一个“草”的顶部,图9中的“底部”指的是预设数量个“草”中的其中一个“草”的底部。
S207.生成与上述拼接后的待渲染网格对象对应的第一对象渲染指令、与剩余待渲染网格对象对应的第二对象渲染指令以及与上述待渲染页面元素对象对应的第三对象渲染指令;上述剩余待渲染网格对象为上述多个待渲染网格对象中,除上述预设数量个候选待渲染网格对象之外的网格对象。
S209.将上述第一对象渲染指令、第二对象渲染指令和第三对象渲染指令,作为对象渲染指令。
在一些实施例中,上述步骤S209-步骤S2011可以由CPU执行。CPU可以为拼接后的待渲染
网格对象生成第一对象渲染指令、为除上述预设数量个候选待渲染网格对象之外的其他网格对象(即未拼接的网格对象)生成第二渲染指令、为待渲染页面元素对象生成第三对象渲染指令,并将第一对象渲染指令、第二对象渲染指令和第三对象渲染指令,作为最终生成的对象渲染指令。
例如,多个待渲染网格对象的数量为5个(mesh1、mesh2、mesh3、mesh4、mesh5),CPU可以从这5个mesh中,确定出组件类型相同、使用的材质相同、使用的贴图也相同的mesh为mesh1、mesh2、mesh3,则mesh1、mesh2、mesh3作为渲染资源满足预设条件的预设数量个候选待渲染网格对象。
CPU按照上述方式对mesh1、mesh2、mesh3进行拼接,得到拼接后的待渲染网格对象。
CPU生成拼接后的待渲染网格对象对应的第一对象渲染指令、mesh2对应的第二对象渲染指令和mesh3对应的第二对象渲染指令、待渲染页面元素对象生成第三对象渲染指令,并将第一对象渲染指令、第二对象渲染指令和第三对象渲染指令,作为最终生成的对象渲染指令。
本公开实施例中,CPU可以对渲染资源满足预设条件的预设数量个候选待渲染网格对象进行拼接,得到拼接后的待渲染网格对象,使得CPU针对预设数量个候选待渲染网格对象,只需要生成一个渲染指令,从而减少渲染过程对CPU的计算资源的消耗,降低CPU的负担。
图9是根据一示例性实施例示出的一种根据上述属性信息,确定多个预设待渲染对象各自在预设渲染窗口中的预设位置信息的流程图。如图9所示,在一些实施例中,上述方法还可以包括:
S301.响应于多个预设待渲染对象的对象排序指令,获取上述多个预设待渲染对象各自对应的属性信息;预设待渲染对象包括待渲染对象。
S303.根据上述属性信息,确定多个预设待渲染对象各自在预设渲染窗口中的预设位置信息。
相应地,在上述步骤S101中,上述获取待渲染对象在预设渲染窗口中的位置信息,可以包括:
从上述预设位置信息中,获取待渲染网格对象在预设渲染窗口中的位置信息,以及上述待渲染页面元素对象在预设渲染窗口中的位置信息。
在一些实施例中,在上述步骤S301中,终端可以响应于终端对应的账号基于多个预设待渲染对象的对象排序指令,获取多个预设待渲染对象各自对应的属性信息。作为一种示例,该属性信息可以包括但不限于:对象创建时间、对象创建类型等。
在一些实施例中,在上述步骤S303中,终端可以根据多个预设待渲染对象各自对应的属性信息,确定多个预设待渲染对象各自在预设渲染窗口中的预设位置信息。作为一种示例,该属性信息为创建时间,则最早创建的预设待渲染对象位于预设渲染窗口的顶部,最晚创建的预设待渲染对象位于预设渲染窗口的底部,或者,最晚创建的预设待渲染对象位于预设渲染窗口的顶部,最早创建的预设待渲染对象位于预设渲染窗口的底部等。作为另一种示例,该属性信息为对象创建类型,则可以预先建立对象类型与位置之间的映射关系,根据该映射关系确定对象类型在预设渲染窗口中的预设位置信息。
在一些实施例中,还可以根据多个预设待渲染对象各自在预设渲染窗口中的预设位置信息,将多个预设待渲染对象排序在预设渲染窗口中。例如,多个预设待渲染对象为预设待渲染对象1、预
设待渲染对象2和预设待渲染对象3,预设待渲染对象1、预设待渲染对象2和预设待渲染对象3各自在预设渲染窗口中的预设位置信息为顶部、中间和底部,则可以将预设待渲染对象1排序在预设渲染窗口的顶部,将预设待渲染对象2排序在预设渲染窗口的中间,将预设待渲染对象3排序在预设渲染窗口的顶部。
在一种实施方式中,上述步骤S301-步骤S303可以由CPU执行。在该情况下,在上述步骤S101中,CPU向画布渲染器发送的渲染指令中,可以携带该预设位置信息,画布渲染器接收待该渲染指令后,可以从预设位置信息中,获取待渲染网格对象在预设渲染窗口中的位置信息,以及待渲染页面元素对象在预设渲染窗口中的位置信息。
在另一种实施方式中,上述步骤S301-步骤S303可以由画布渲染器执行。在该情况下,在上述步骤S101中,在画布渲染器接收到CPU发送的渲染指令后,可以从本地获取预设位置信息,并从预设位置信息中,获取待渲染网格对象在预设渲染窗口中的位置信息,以及待渲染页面元素对象在预设渲染窗口中的位置信息。
在另一种实施方式中,上述步骤S301-步骤S303可以由终端中除了画布渲染器、CPU之外的其他模块执行。在该情况下,在上述步骤S101中,在画布渲染器接收到CPU发送的渲染指令后,其他模块可以将预设位置信息发送至画布渲染器接,画布渲染器从预设位置信息中,获取待渲染网格对象在预设渲染窗口中的位置信息,以及待渲染页面元素对象在预设渲染窗口中的位置信息。
本申请实施例中,根据预设待渲染对象的属性信息,确定预设待渲染对象在预设渲染窗口中的预设位置信息,能够确保预设位置信息确定的可靠性和合理性;且根据该预设位置信息,获取待渲染网格对象在预设渲染窗口中的位置信息,以及待渲染页面元素对象在预设渲染窗口中的位置信息,能够提高待渲染对象在预设渲染窗口中的位置信息的确定精度和确定效率;此外,根据该预设位置信息,获取待渲染网格对象在预设渲染窗口中的位置信息,以及待渲染页面元素对象在预设渲染窗口中的位置信息,能够确保待渲染网格对象是按照其在预设渲染窗口中的位置来渲染的,实现了将待渲染网格对象放到UI渲染器中进行渲染,使得待渲染网格对象可以和待渲染页面元素对象进行排序,降低了对象渲染过程对内存的消耗,提高了对象渲染的性能。
S103.根据上述位置信息,确定待渲染网格对象和待渲染页面元素对象各自对应的渲染顺序。
在一些实施例中,上述步骤S103可以由画布渲染器执行。画布渲染器可以根据待渲染网格对象和待渲染页面元素对象各自在预设渲染窗口中的位置信息,确定待渲染网格对象和待渲染页面元素对象各自对应的渲染顺序。
本申请实施例可以采用多种方式确定渲染顺序,在此不做具体限定。
图10是根据一示例性实施例示出的一种上述根据上述位置信息,确定待渲染网格对象和待渲染页面元素对象各自对应的渲染顺序的流程图。如图10所示,在一个可行的实施例中,在上述步骤S103中,上述根据上述位置信息,确定待渲染网格对象和待渲染页面元素对象各自对应的渲染顺序,可以包括:
S1031.获取预设位置顺序映射信息;上述预设位置映射信息用于表征位置信息与渲染顺序之间
的映射关系。
S1033.根据预设位置顺序映射信息,确定与上述待渲染网格对象的位置信息对应的渲染顺序,以及与上述待渲染页面元素对象的位置信息对应的渲染顺序。
在一些实施例中,上述步骤S1031-步骤S1033可以由画布渲染器(Canvas Renderer)执行。在上述步骤S1031中,画布渲染器可以预先建立位置信息与渲染顺序之间的映射关系,得到预设位置顺序映射信息。例如,在预设渲染窗口中的排序位置越靠前,则渲染顺序越靠前。或者,在预设渲染窗口中的排序位置越靠前,则渲染顺序越靠后等。在上述步骤S1033中,画布渲染器可以根据预设位置顺序映射信息,确定与待渲染网格对象的位置信息对应的渲染顺序,以及与待渲染页面元素对象的位置信息对应的渲染顺序。例如,预设位置顺序映射信息表征:在预设渲染窗口中的排序位置越靠前,则渲染顺序越靠前。若待渲染网格对象的位置信息位于预设渲染窗口的顶部,则待渲染网格对象的渲染顺序排在第一位。
本公开实施例中,根据预先建立的预设位置顺序映射信息,确定与待渲染网格对象的位置信息对应的渲染顺序,以及与待渲染页面元素对象的位置信息对应的渲染顺序,能够提高渲染顺序的确定精度,确保待渲染网格对象是按照其在预设渲染窗口中的位置来渲染的,实现了将待渲染网格对象放到UI渲染器中进行渲染,使得待渲染网格对象可以和待渲染页面元素对象进行排序,降低了对象渲染过程对内存的消耗,提高了对象渲染的性能。
S105.根据上述渲染顺序,将待渲染网格对象和待渲染页面元素对象渲染在目标页面中,得到渲染后的目标页面元素对象。
在一些实施例中,对象渲染指令中可以携带待渲染网格对象和待渲染页面元素对象各自对应的渲染资源,画布渲染器可以根据渲染顺序,基于待渲染网格对象对应的渲染资源,将待渲染网格对象渲染在目标页面中,基于待渲染页面元素对象对应的渲染资源,将待渲染页面元素对象渲染在目标页面中,从而得到渲染后的目标页面元素对象。
例如,待渲染网格对象的数量为待渲染网格对象1、待渲染网格对象2和待渲染网格对象3,待渲染页面元素对象为UI文字和UI按钮,渲染网格对象1、待渲染网格对象2、待渲染网格对象3、UI文字和UI按钮各自对应的渲染顺序为待渲染网格对象1→待渲染网格对象2→待渲染网格对象3→UI文字→UI按钮,则画布渲染器可以先渲染待渲染网格对象1,再渲染待渲染网格对象2,再渲染待渲染网格对象3,再渲染UI文字,最后渲染UI按钮。
本公开实施例中,通过渲染器进行渲染,不需要额外建立渲染纹理对象(RenderTexture),节约了渲染过程对内存的消耗。
图11是根据一示例性实施例示出的一种根据上述渲染顺序,将待渲染网格对象和待渲染页面元素对象渲染在目标页面中,得到渲染后的目标页面元素对象的流程图。如图11所示,在一个可行的实施例中,在上述S105中,上述根据上述渲染顺序,将待渲染网格对象和待渲染页面元素对象渲染在目标页面中,得到渲染后的目标页面元素对象,可以包括:
S1051.获取目标页面中的预设渲染区域。
S1053.将待渲染网格对象的像素投影至目标页面中,得到投影后的第一像素,将待渲染页面元素对象的像素投影至目标页面中,得到投影后的第二像素。
S1055.将位于预设渲染区域中的第一像素作为第一目标像素,将位于预设渲染区域中的第二像素作为第二目标像素。
S1057.根据渲染顺序,在目标页面中渲染第一目标像素和第二目标像素,得到目标页面元素对象。
在一些实施例中,上述步骤S1051-S1057可以由Canvas Renderer执行。
在一些实施例中,可以在目标页面中,预先设置一个预设渲染区域。作为一种示例,该预设渲染区域可以为模板缓冲区(StencilBuffer),该StencilBuffer中的像素的Stencil值为1。
在一些实施例中,在上述步骤S1051-S1053中,Canvas Renderer可以获取该预设渲染区域,并将待渲染网格对象的像素投影至该目标页面中,得到投影后的第一像素,以及将待渲染页面元素对象的像素投影至该目标页面中,得到投影后的第二像素。如果投影后的像素位于预设渲染区域中,则其Stencil值为1,Stencil值为1的像素才会被渲染,如果投影后的像素不位于预设渲染区域中,则其Stencil值不为1,Stencil值不为1的像素会被遮挡,即不进行渲染。
在一些实施例中,在上述步骤S1055中,Canvas Renderer可以将位于预设渲染区域中的第一像素,即Stencil值为1的第一像素作为第一目标像素,将位于预设渲染区域中的第二像素,即Stencil值为1的第二像素作为第二目标像素。
在一些实施例中,在上述步骤S1057中,Canvas Renderer可以按照待渲染网格对象和待渲染页面元素对象各自对应的渲染顺序,依次对第一目标像素和第二目标像素进行渲染,得到目标页面元素对象。例如,待渲染网格对象的数量为待渲染网格对象1、待渲染网格对象2和待渲染网格对象3,待渲染页面元素对象为UI文字和UI按钮,渲染网格对象1、待渲染网格对象2、待渲染网格对象3、UI文字和UI按钮各自对应的渲染顺序为待渲染网格对象1→待渲染网格对象2→待渲染网格对象3→UI文字→UI按钮,则画布渲染器可以先渲染待渲染网格对象1对应的第一目标像素,再渲染待渲染网格对象2对应的第一目标像素,再渲染待渲染网格对象3对应的第一目标像素,再渲染UI文字对应的第二目标像素,最后渲染UI按钮对应的第二目标像素。
本申请实施例中,预先设置预设渲染区域,并将待渲染网格对象的像素和待渲染页面元素对象的像素投影至目标页面中,对于位于预设渲染区域中的像素才会被渲染,不位于预设渲染区域中的像素被遮挡,不被渲染,使待渲染对象可以被UI遮挡,使得待渲染网格对象可以被UI的遮挡,即使得待渲染网格对象具备页面元素的遮挡属性,提高了待渲染对象的渲染性能和用户体验。
图12是根据一示例性实施例示出的一种对目标页面进行触发的流程图。如图12所示,在一些实施例中,在上述根据渲染顺序,将待渲染网格对象和待渲染页面元素对象渲染在目标页面中,得到渲染后的目标页面元素对象之后,上述方法还可以包括:
S301.响应于基于上述目标页面触发的目标操作,获取目标操作在目标页面中的操作位置。
S303.以上述操作位置为起点,在目标页面中发射目标射线。
S305.从上述目标页面元素对象中,获取与目标射线触碰的候选页面元素对象,以使候选页面元素对象处理目标操作。
在一些实施例中,上述步骤S301-S305可以由终端执行。
在一些实施例中,在上述步骤S301中,当终端对应的账号点击该目标页面的时候,可以触发目标操作,终端响应于该目标操作,获取该目标操作在目标页面中的操作位置。在一些实施例中,在上述步骤S303中,终端以操作位置为起点,向目标页面中发射一条射线。在一些实施例中,在上述步骤S305中,由于目标页面元素对象的数量可能为多个,该条射线可能会触碰到多个页面元素对象,可以将该目标射线第一个触碰到的页面元素对象作为候选页面元素对象,并使用该候选页面元素对象处理该目标操作。
本申请实施例中,通过响应于基于目标页面触发的目标操作,发射目标射线,使用目标射线触碰的候选页面元素对象处理该目标操作,实现了可以将待渲染网格对象作为UI元素进行操作(点击或单击),即使得待渲染网格对象具备页面元素的点击或单击属性,进而可以响应于对与该待渲染网格对象的所述目标操作,执行对应的操作步骤,提高了待渲染对象的渲染性能和提高了用户体验。
图13是根据一示例性实施例示出的一种待渲染网格对象对应的模型示意图。采用本申请实施例的方案将图13中的待渲染网格对象,渲染到目标页面中,可以得到对应的目标页面元素对象示意图。图14是根据一示例性实施例示出的一种将图13中的待渲染网格对象渲染到目标页面中,得到对应的目标页面元素对象示意图,如图14所示,在目标页面中,待渲染网格对象已经是一个页面元素对象了,其具有页面元素的属性(排序、遮挡、点击等)。图15是根据一示例性实施例示出的图13中的待渲染网格对象在游戏场景中的一种表现效果示意图,如图15所示,采用本申请实施例的方案能够提高待渲染对象的渲染性能。
图16是根据一示例性实施例示出的一种对象渲染装置框图。如图16所示,该装置可以至少包括:
位置信息获取模块401,用于响应于待渲染对象的对象渲染指令,获取上述待渲染对象在预设渲染窗口中的位置信息;上述待渲染对象包括待渲染网格对象和目标页面对应的待渲染页面元素对象。
渲染顺序确定模块403,用于根据上述位置信息,确定上述待渲染网格对象和上述待渲染页面元素对象各自对应的渲染顺序。
渲染模块405,用于根据上述渲染顺序,将上述待渲染网格对象和上述待渲染页面元素对象渲染在上述目标页面中,得到渲染后的目标页面元素对象。
在一些实施例中,上述渲染顺序确定模块,可以包括:
预设位置顺序映射信息获取单元,用于获取预设位置顺序映射信息;上述预设位置映射信息用于表征位置信息与渲染顺序之间的映射关系。
渲染顺序确定单元,用于根据预设位置顺序映射信息,确定与上述待渲染网格对象的位置信息
对应的渲染顺序,以及与上述待渲染页面元素对象的位置信息对应的渲染顺序。
在一些实施例中,上述渲染模块,包括:
预设渲染区域获取单元,用于获取上述目标页面中的预设渲染区域。
投影单元,用于将上述待渲染网格对象的像素投影至上述目标页面中,得到投影后的第一像素,将上述待渲染页面元素对象的像素投影至上述目标页面中,得到投影后的第二像素。
像素确定单元,用于将位于上述预设渲染区域中的第一像素作为第一目标像素,将位于上述预设渲染区域中的第二像素作为第二目标像素。
渲染单元,用于根据上述渲染顺序,在上述目标页面中渲染上述第一目标像素和上述第二目标像素,得到上述目标页面元素对象。
在一些实施例中,上述装置还可以包括:
操作位置获取模块,用于响应于基于上述目标页面触发的目标操作,获取上述目标操作在上述目标页面中的操作位置。
发射模块,用于以上述操作位置为起点,在上述目标页面中发射目标射线。
处理模块,用于从上述目标页面元素对象中,获取与目标射线触碰的候选页面元素对象,以使上述候选页面元素对象处理上述目标操作。
在一些实施例中,上述装置还包括:
属性信息获取模块,用于响应于多个预设待渲染对象的对象排序指令,获取上述多个预设待渲染对象各自对应的属性信息;上述预设待渲染对象包括上述待渲染对象。
预设位置信息确定模块,用于根据上述属性信息,确定上述多个预设待渲染对象各自在上述预设渲染窗口中的预设位置信息。
上述位置信息获取模块,包括:
位置信息获取单元,用于从上述预设位置信息中,获取上述待渲染网格对象在上述预设渲染窗口中的位置信息,以及上述待渲染页面元素对象在上述预设渲染窗口中的位置信息。
在一些实施例中,上述待渲染网格对象的数量为多个,上述装置还包括:
对象和资源获取模块,用于获取多个待渲染网格对象和上述多个待渲染网格对象各自对应的渲染资源。
候选待渲染网格对象获取模块,用于基于上述多个待渲染网格对象各自对应的渲染资源,从上述多个待渲染网格对象中确定,渲染资源满足预设条件的预设数量个候选待渲染网格对象。
拼接后的待渲染网格对象获取模块,用于对上述预设数量个候选待渲染网格对象进行拼接,得到拼接后的待渲染网格对象。
指令生成模块,用于生成与上述拼接后的待渲染网格对象对应的第一对象渲染指令、与剩余待渲染网格对象对应的第二对象渲染指令以及与上述待渲染页面元素对象对应的第三对象渲染指令;上述剩余待渲染网格对象为上述多个待渲染网格对象中,除上述预设数量个候选待渲染网格对象之外的网格对象。
指令确定模块,用于将上述第一对象渲染指令、上述第二对象渲染指令和上述第三对象渲染指令,作为上述对象渲染指令。
在一个可选的实施例中,上述拼接后的待渲染网格对象获取模块,包括:
顶点坐标信息获取子模块,用于获取上述预设数量个候选待渲染网格对象各自对应的顶点坐标信息。
顶点坐标信息拼接子模块,用于对上述顶点坐标信息进行拼接,得到拼接后的顶点坐标信息。
拼接对象子模块,用于根据上述拼接后的顶点坐标信息,生成上述拼接后的待渲染网格对象。
在一些实施例中,上述顶点坐标信息拼接子模块,包括:
转换单元,用于确定上述预设数量个候选待渲染网格对象各自对应的顶点坐标信息,从上述预设数量个候选待渲染网格对象各自所在的空间,转换至世界坐标空间所需的空间转换操作。
目标转换矩阵确定单元,用于基于预设转换矩阵和上述空间转换操作,确定上述预设数量个候选待渲染网格对象各自对应的目标转换矩阵。
乘积计算单元,用于计算上述顶点坐标信息与上述目标转换矩阵的乘积,得到上述预设数量个候选待渲染网格对象各自对应的转换后的顶点坐标信息。
坐标拼接单元,用于拼接上述转换后的顶点坐标信息,得到上述拼接后的顶点坐标信息。
在一些实施例中,上述预设数量个候选待渲染网格对象各自对应的顶点坐标信息包括顶点缓冲区信息和索引缓冲区信息,上述乘积计算单元,包括:
顶点缓冲区转换子单元,用于计算上述预设数量个候选待渲染网格对象各自对应的顶点缓冲区信息与上述目标转换矩阵的乘积,得到上述预设数量个候选待渲染网格对象各自对应的转换后的顶点缓冲区信息。
索引缓冲区转换子单元,用于计算上述预设数量个候选待渲染网格对象各自对应的索引缓冲区信息与上述目标转换矩阵的乘积,得到上述预设数量个候选待渲染网格对象各自对应的转换后的索引缓冲区信息。
顶点位置转换子单元,用于将上述转换后的顶点缓冲区信息和上述转换后的索引缓冲区信息,作为上述转换后的顶点坐标信息。
在一些实施例中,上述坐标拼接单元,包括:
顶点缓冲区拼接子单元,用于拼接上述转换后的顶点缓冲区信息,得到拼接后的顶点缓冲区信息。
索引缓冲区拼接子单元,用于拼接上述转换后的索引缓冲区信息,得到拼接后的索引缓冲区信息。
坐标拼接子单元,用于根据上述拼接后的顶点缓冲区信息和上述拼接后的索引缓冲区信息,生成上述拼接后的顶点坐标信息。
本申请实施例提出的对象渲染方法和装置,通过响应于待渲染对象的对象渲染指令,获取待渲染对象在预设渲染窗口中的位置信息,根据位置信息,确定待渲染网格对象和待渲染页面元素对象
各自对应的渲染顺序,根据渲染顺序,将待渲染网格对象和待渲染页面元素对象渲染在目标页面中,得到渲染后的目标页面元素对象,实现了将待渲染对象放到UI渲染器中进行渲染,使得待渲染网格对象可以和待渲染页面元素对象进行排序,降低了对象渲染过程对内存的消耗,提高了对象渲染的性能。
可以理解的是,在本申请的具体实施方式中,涉及到用户信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
需要说明的是,本申请实施例提供的装置实施例与上述方法实施例基于相同的发明构思。
本申请实施例还提供了一种对象渲染的电子设备,该电子设备包括处理器和存储器,存储器中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现如上述任一实施例提供的对象渲染方法。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可设置于终端之中以保存用于实现方法实施例中一种对象渲染方法相关的至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现如上述方法实施例提供的对象渲染方法。
在本申请一些实施例中,存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。在本申请一些实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书实施例存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用程序以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例提供的对象渲染方法。
本申请实施例所提供的对象渲染方法实施例可以在终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图17是根据一示例性实施例示出的一种对象渲染的服务器的硬件结构框图。如图17所示,该服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)510(中央处理器510可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器530,一个或一个以上存储应用程序523或数据522的存储介质520(例如一个或一个以上海量存储设备)。
其中,存储器530和存储介质520可以是短暂存储或持久存储。存储在存储介质520的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器510可以设置为与存储介质520通信,在服务器500上执行存储介质520中的一系列指令操作。服务器500还可以包括一个或一个以上电源560,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口540,和/或,一个或一个以上操作系统521,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口540可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器500的通信供应商提供的无线网络。在一个实例中,输入输出接口540包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口540可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图17所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器500还可包括比图17中所示更多或者更少的组件,或者具有与图17所示不同的配置。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (18)
- 一种对象渲染方法,由计算机设备执行,所述方法包括:响应于待渲染对象的对象渲染指令,获取所述待渲染对象在预设渲染窗口中的位置信息;所述待渲染对象包括待渲染网格对象和目标页面对应的待渲染页面元素对象;根据所述位置信息,确定所述待渲染网格对象和所述待渲染页面元素对象各自对应的渲染顺序;根据所述渲染顺序,将所述待渲染网格对象和所述待渲染页面元素对象渲染在所述目标页面中,得到渲染后的目标页面元素对象。
- 根据权利要求1所述的对象渲染方法,其中,所述根据所述位置信息,确定所述待渲染网格对象和所述待渲染页面元素对象各自对应的渲染顺序,包括:获取预设位置顺序映射信息;所述预设位置映射信息用于表征位置信息与渲染顺序之间的映射关系;根据预设位置顺序映射信息,确定与所述待渲染网格对象的位置信息对应的渲染顺序,以及与所述待渲染页面元素对象的位置信息对应的渲染顺序。
- 根据权利要求1所述的对象渲染方法,其中,所述根据所述渲染顺序,将所述待渲染网格对象和所述待渲染页面元素对象渲染在所述目标页面中,得到渲染后的目标页面元素对象,包括:获取所述目标页面中的预设渲染区域;将所述待渲染网格对象的像素投影至所述目标页面中,得到投影后的第一像素,将所述待渲染页面元素对象的像素投影至所述目标页面中,得到投影后的第二像素;将位于所述预设渲染区域中的第一像素作为第一目标像素,将位于所述预设渲染区域中的第二像素作为第二目标像素;根据所述渲染顺序,在所述目标页面中渲染所述第一目标像素和所述第二目标像素,得到渲染后的所述目标页面元素对象。
- 根据权利要求1所述的对象渲染方法,其中,在所述根据所述渲染顺序,将所述待渲染网格对象和所述待渲染页面元素对象渲染在所述目标页面中,得到渲染后的目标页面元素对象之后,所述方法还包括:响应于基于所述目标页面触发的目标操作,获取所述目标操作在所述目标页面中的操作位置;以所述操作位置为起点,在所述目标页面中发射目标射线;从所述目标页面元素对象中,获取与目标射线触碰的候选页面元素对象,以使所述候选页面元素对象处理所述目标操作。
- 根据权利要求1至4中任一项所述的对象渲染方法,其中,所述方法还包括:响应于多个预设待渲染对象的对象排序指令,获取所述多个预设待渲染对象各自对应的属性信息;所述预设待渲染对象包括所述待渲染对象;根据所述属性信息,确定所述多个预设待渲染对象各自在所述预设渲染窗口中的预设位置信息;所述获取所述待渲染对象在预设渲染窗口中的位置信息,包括:从所述预设位置信息中,获取所述待渲染网格对象在所述预设渲染窗口中的位置信息,以及所述待渲染页面元素对象在所述预设渲染窗口中的位置信息。
- 根据权利要求1至4中任一项所述的对象渲染方法,其中,所述待渲染网格对象的数量为多个,所述方法还包括:获取多个待渲染网格对象和所述多个待渲染网格对象各自对应的渲染资源;基于所述多个待渲染网格对象各自对应的渲染资源,从所述多个待渲染网格对象中确定预设数量的候选待渲染网格对象,所述候选待渲染网格对象的渲染资源满足预设条件;对所述预设数量的候选待渲染网格对象进行拼接,得到拼接后的待渲染网格对象;生成与所述拼接后的待渲染网格对象对应的第一对象渲染指令、与剩余待渲染网格对象对应的第二对象渲染指令以及与所述待渲染页面元素对象对应的第三对象渲染指令;所述剩余待渲染网格对象为所述多个待渲染网格对象中,除所述预设数量个候选待渲染网格对象之外的网格对象;将所述第一对象渲染指令、所述第二对象渲染指令和所述第三对象渲染指令,作为所述对象渲染指令。
- 根据权利要求6所述的对象渲染方法,其中,所述对所述预设数量的候选待渲染网格对象进行拼接,得到拼接后的待渲染网格对象,包括:获取所述预设数量的候选待渲染网格对象各自对应的顶点坐标信息;对所述顶点坐标信息进行拼接,得到拼接后的顶点坐标信息;根据所述拼接后的顶点坐标信息,生成所述拼接后的待渲染网格对象。
- 根据权利要求7所述的对象渲染方法,其中,所述对所述顶点坐标信息进行拼接,得到拼接后的顶点坐标信息,包括:确定所述预设数量的候选待渲染网格对象各自对应的顶点坐标信息,从所述预设数量的候选待渲染网格对象各自所在的空间,转换至世界坐标空间所需的空间转换操作;基于预设转换矩阵和所述空间转换操作,确定所述预设数量的候选待渲染网格对象各自对应的目标转换矩阵;计算所述顶点坐标信息与所述目标转换矩阵的乘积,得到所述预设数量的候选待渲染网格对象各自对应的转换后的顶点坐标信息;拼接所述转换后的顶点坐标信息,得到所述拼接后的顶点坐标信息。
- 根据权利要求8所述的对象渲染方法,其中,所述预设数量的候选待渲染网格对象各自对应的顶点坐标信息包括顶点缓冲区信息和索引缓冲区信息,所述计算所述顶点坐标信息与所述目标转换矩阵的乘积,得到所述预设数量个候选待渲染网格对象各自对应的转换后的顶点坐标信息,包括:计算所述预设数量的候选待渲染网格对象各自对应的顶点缓冲区信息与所述目标转换矩阵的乘积,得到所述预设数量的候选待渲染网格对象各自对应的转换后的顶点缓冲区信息;计算所述预设数量的候选待渲染网格对象各自对应的索引缓冲区信息与所述目标转换矩阵的乘积,得到所述预设数量的候选待渲染网格对象各自对应的转换后的索引缓冲区信息;将所述转换后的顶点缓冲区信息和所述转换后的索引缓冲区信息,作为所述转换后的顶点坐标信息。
- 根据权利要求9所述的对象渲染方法,其中,所述拼接所述转换后的顶点坐标信息,得到所述拼接后的顶点坐标信息,包括:拼接所述转换后的顶点缓冲区信息,得到拼接后的顶点缓冲区信息;拼接所述转换后的索引缓冲区信息,得到拼接后的索引缓冲区信息;根据所述拼接后的顶点缓冲区信息和所述拼接后的索引缓冲区信息,生成所述拼接后的顶点坐标信息。
- 一种对象渲染装置,所述装置包括:位置信息获取模块,用于响应于待渲染对象的对象渲染指令,获取所述待渲染对象在预设渲染窗口中的位置信息;所述待渲染对象包括待渲染网格对象和目标页面对应的待渲染页面元素对象;渲染顺序确定模块,用于根据所述位置信息,确定所述待渲染网格对象和所述待渲染页面元素对象各自对应的渲染顺序;渲染模块,用于根据所述渲染顺序,将所述待渲染网格对象和所述待渲染页面元素对象渲染在所述目标页面中,得到渲染后的目标页面元素对象。
- 根据权利要求11所述的对象渲染装置,其中,所述渲染顺序确定模块,包括:预设位置顺序映射信息获取单元,用于获取预设位置顺序映射信息;所述预设位置映射信息用于表征位置信息与渲染顺序之间的映射关系;渲染顺序确定单元,用于根据预设位置顺序映射信息,确定与所述待渲染网格对象的位置信息对应的渲染顺序,以及与所述待渲染页面元素对象的位置信息对应的渲染顺序。
- 根据权利要求11所述的对象渲染装置,其中,所述渲染模块,包括:预设渲染区域获取单元,用于获取所述目标页面中的预设渲染区域;投影单元,用于将所述待渲染网格对象的像素投影至所述目标页面中,得到投影后的第一像素, 将所述待渲染页面元素对象的像素投影至所述目标页面中,得到投影后的第二像素;像素确定单元,用于将位于所述预设渲染区域中的第一像素作为第一目标像素,将位于所述预设渲染区域中的第二像素作为第二目标像素;渲染单元,用于根据所述渲染顺序,在所述目标页面中渲染所述第一目标像素和所述第二目标像素,得到所述目标页面元素对象。
- 根据权利要求11所述的对象渲染装置,其中,所述装置还包括:操作位置获取模块,用于响应于基于所述目标页面触发的目标操作,获取所述目标操作在所述目标页面中的操作位置;发射模块,用于以所述操作位置为起点,在所述目标页面中发射目标射线;处理模块,用于从所述目标页面元素对象中,获取与目标射线触碰的候选页面元素对象,以使所述候选页面元素对象处理上述目标操作。
- 根据权利要求11至14中任一项所述的对象渲染装置,其中,所述装置还包括:属性信息获取模块,用于响应于多个预设待渲染对象的对象排序指令,获取所述多个预设待渲染对象各自对应的属性信息;所述预设待渲染对象包括所述待渲染对象;预设位置信息确定模块,用于根据所述属性信息,确定所述多个预设待渲染对象各自在所述预设渲染窗口中的预设位置信息。
- 一种对象渲染的电子设备,所述电子设备包括处理器和存储器,存储器中存储有至少一条指令或至少一段程序,至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1至10中任一项所述的对象渲染方法。
- 一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1至10中任一项所述的对象渲染方法。
- 一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的对象渲染方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210394558.7A CN116958389A (zh) | 2022-04-14 | 2022-04-14 | 对象渲染方法、装置、电子设备及存储介质 |
CN202210394558.7 | 2022-04-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023197729A1 true WO2023197729A1 (zh) | 2023-10-19 |
Family
ID=88328786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/074536 WO2023197729A1 (zh) | 2022-04-14 | 2023-02-06 | 对象渲染方法、装置、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116958389A (zh) |
WO (1) | WO2023197729A1 (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107918949A (zh) * | 2017-12-11 | 2018-04-17 | 网易(杭州)网络有限公司 | 虚拟资源对象的渲染方法、存储介质、处理器及终端 |
CN108196835A (zh) * | 2018-01-29 | 2018-06-22 | 东北大学 | 一种游戏引擎中图元存储和渲染的方法 |
CN108230436A (zh) * | 2017-12-11 | 2018-06-29 | 网易(杭州)网络有限公司 | 三维场景中虚拟资源对象的渲染方法 |
US20180268150A1 (en) * | 2015-09-23 | 2018-09-20 | Smartframe Technologies Limited | Secure distribution of an image |
CN111476870A (zh) * | 2020-02-29 | 2020-07-31 | 新华三大数据技术有限公司 | 一种对象渲染方法和装置 |
CN112287258A (zh) * | 2020-09-25 | 2021-01-29 | 长沙市到家悠享网络科技有限公司 | 页面渲染方法、装置、设备和存储介质 |
-
2022
- 2022-04-14 CN CN202210394558.7A patent/CN116958389A/zh active Pending
-
2023
- 2023-02-06 WO PCT/CN2023/074536 patent/WO2023197729A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180268150A1 (en) * | 2015-09-23 | 2018-09-20 | Smartframe Technologies Limited | Secure distribution of an image |
CN107918949A (zh) * | 2017-12-11 | 2018-04-17 | 网易(杭州)网络有限公司 | 虚拟资源对象的渲染方法、存储介质、处理器及终端 |
CN108230436A (zh) * | 2017-12-11 | 2018-06-29 | 网易(杭州)网络有限公司 | 三维场景中虚拟资源对象的渲染方法 |
CN108196835A (zh) * | 2018-01-29 | 2018-06-22 | 东北大学 | 一种游戏引擎中图元存储和渲染的方法 |
CN111476870A (zh) * | 2020-02-29 | 2020-07-31 | 新华三大数据技术有限公司 | 一种对象渲染方法和装置 |
CN112287258A (zh) * | 2020-09-25 | 2021-01-29 | 长沙市到家悠享网络科技有限公司 | 页面渲染方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116958389A (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11570372B2 (en) | Virtual camera for 3-d modeling applications | |
US9652880B2 (en) | 2D animation from a 3D mesh | |
RU2360290C2 (ru) | Интеграция иерархии трехмерной сцены в двумерную систему компоновки изображений | |
CN110989878B (zh) | 小程序中的动画展示方法、装置、电子设备及存储介质 | |
WO2021228031A1 (zh) | 渲染方法、设备以及系统 | |
CN103268628B (zh) | 虚拟表面渲染 | |
US20230120253A1 (en) | Method and apparatus for generating virtual character, electronic device and readable storage medium | |
CN113052947B (zh) | 一种渲染方法、装置、电子设备和存储介质 | |
WO2023142607A1 (zh) | 图像渲染方法、装置、设备和介质 | |
WO2009033218A1 (en) | A system and method for capturing digital images | |
CN111583378B (zh) | 一种虚拟资产处理的方法及装置、电子设备、存储介质 | |
CN111583379B (zh) | 虚拟模型的渲染方法、装置、存储介质与电子设备 | |
WO2023197762A1 (zh) | 图像渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN110248165B (zh) | 标签显示方法、装置、设备及存储介质 | |
CN113947518A (zh) | 数据处理系统 | |
CN110502305B (zh) | 一种动态界面的实现方法、装置及相关设备 | |
WO2023197729A1 (zh) | 对象渲染方法、装置、电子设备及存储介质 | |
US10754498B2 (en) | Hybrid image rendering system | |
CN117132699A (zh) | 一种基于计算机的云渲染系统及方法 | |
CN115933949A (zh) | 一种坐标转换方法、装置、电子设备及存储介质 | |
CN103795925A (zh) | 一种可交互的主副画面实时渲染的拍照方法 | |
CN111476910A (zh) | 智能建筑bim的3d模型显示方法、系统、介质及显示终端 | |
CN112465692A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN113778905B (zh) | Ui设计验收方法、装置、设备及存储介质 | |
CN114820908B (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23787377 Country of ref document: EP Kind code of ref document: A1 |