CN116764203A - 一种虚拟场景的渲染方法、装置、设备及存储介质 - Google Patents
一种虚拟场景的渲染方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116764203A CN116764203A CN202210239108.0A CN202210239108A CN116764203A CN 116764203 A CN116764203 A CN 116764203A CN 202210239108 A CN202210239108 A CN 202210239108A CN 116764203 A CN116764203 A CN 116764203A
- Authority
- CN
- China
- Prior art keywords
- rendered
- dimensional element
- dimensional
- rendering
- data
- 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 223
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 238000005070 sampling Methods 0.000 claims abstract description 83
- 238000006243 chemical reaction Methods 0.000 claims abstract description 53
- 230000001131 transforming effect Effects 0.000 claims abstract description 16
- 230000000875 corresponding effect Effects 0.000 claims description 199
- 230000009466 transformation Effects 0.000 claims description 99
- 230000015654 memory Effects 0.000 claims description 62
- 238000012545 processing Methods 0.000 claims description 52
- 239000002245 particle Substances 0.000 claims description 47
- 230000003068 static effect Effects 0.000 claims description 47
- 238000013519 translation Methods 0.000 claims description 23
- 238000012163 sequencing technique Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 230000002596 correlated effect Effects 0.000 claims description 3
- 239000000758 substrate Substances 0.000 claims 3
- 239000000523 sample Substances 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 53
- 239000000306 component Substances 0.000 description 30
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000013515 script Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 210000000988 bone and bone Anatomy 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
-
- 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
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/56—Particle system, point based geometry or rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供了一种虚拟场景的渲染方法、装置、设备及存储介质;方法包括:从虚拟场景的待渲染的当前帧数据中,获取至少一个待渲染三维元素和至少一个待渲染二维元素;对每个待渲染三维元素的动画进行采样处理,得到每个待渲染三维元素的动画对应的网格序列帧;从网格序列帧中获取每个待渲染三维元素分别对应的网格数据;对每个待渲染三维元素分别对应的网格数据进行变换处理,通过得到的变换网格数据,创建与每个待渲染三维元素对应的转换二维元素;渲染当前帧中的至少一个待渲染二维元素,并渲染当前帧中的每个待渲染三维元素对应的转换二维元素。通过本申请,能够待渲染三维元素的渲染效果得以保留。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种虚拟场景的渲染方法、装置、设备及计算机可读存储介质。
背景技术
随着游戏引擎技术的发展,游戏引擎为游戏设计者提供编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式。在进行游戏画面渲染的过程中,通常会对游戏画面中的二维元素和三维元素进行混合渲染。
在相关技术中,由于在游戏引擎中二维元素和三维元素分别处于不同的渲染体系,导致在混合渲染时,二维元素和三维元素无法进行有效适配,进而导致渲染效果不佳。
对于如何有效提高二维元素和三维元素的混合渲染效果,相关技术尚无有效解决方案。
发明内容
本申请实施例提供一种虚拟场景的渲染方法、装置、计算机可读存储介质及计算机程序产品,能够实现待渲染三维元素和待渲染二维元素渲染模式的统一,使待渲染三维元素的渲染效果得以保留,从而有效提高二维元素和三维元素的混合渲染效果。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种虚拟场景的渲染方法,包括:
从所述虚拟场景的待渲染的当前帧数据中,获取至少一个待渲染三维元素和至少一个待渲染二维元素;
对每个所述待渲染三维元素的动画进行采样处理,得到每个所述待渲染三维元素的动画对应的网格序列帧,其中,所述待渲染三维元素的动画包括所述当前帧以及至少一个历史帧,每个所述历史帧均包括所述待渲染三维元素;
从所述网格序列帧中获取每个所述待渲染三维元素分别对应的网格数据,其中,不同的所述待渲染三维元素对应的所述网格数据的坐标系不同;
对每个所述待渲染三维元素分别对应的网格数据进行变换处理,通过得到的变换网格数据,创建与每个所述待渲染三维元素对应的转换二维元素;
渲染所述当前帧中的所述至少一个待渲染二维元素,并渲染所述当前帧中的每个所述待渲染三维元素对应的所述转换二维元素。
本申请实施例提供一种虚拟场景的渲染装置,包括:
第一获取模块,用于从所述虚拟场景的待渲染的当前帧数据中,获取至少一个待渲染三维元素和至少一个待渲染二维元素;
采样模块,用于对每个所述待渲染三维元素的动画进行采样处理,得到每个所述待渲染三维元素的动画对应的网格序列帧,其中,所述待渲染三维元素的动画包括所述当前帧以及至少一个历史帧,每个所述历史帧均包括所述待渲染三维元素;
第二获取模块,用于从所述网格序列帧中获取每个所述待渲染三维元素分别对应的网格数据,其中,不同的所述待渲染三维元素对应的所述网格数据的坐标系不同;
变换模块,用于对每个所述待渲染三维元素分别对应的网格数据进行变换处理,通过得到的变换网格数据,创建与每个所述待渲染三维元素对应的转换二维元素;
渲染模块,用于渲染所述当前帧中的所述至少一个待渲染二维元素,并渲染所述当前帧中的每个所述待渲染三维元素对应的所述转换二维元素。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的虚拟场景的渲染方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的虚拟场景的渲染方法。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的虚拟场景的渲染方法。
本申请实施例具有以下有益效果:
通过对待渲染三维元素对应的网格数据进行变换处理,进而根据得到的变换网格数据,创建与待渲染三维元素对应的转换二维元素,从而实现了待渲染三维元素的转换,进而渲染待渲染二维元素和转换二维元素。如此,对待渲染三维元素进行转换得到转换二维元素,并渲染转换二维元素和待渲染二维元素实现了待渲染二维元素和待渲染三维元素的有效适配,实现待渲染三维元素和待渲染二维元素渲染模式的统一,使待渲染三维元素的渲染效果得以保留,从而有效提高二维元素和三维元素的混合渲染效果。
附图说明
图1是本申请实施例提供的虚拟场景的渲染系统架构的结构示意图;
图2是本申请实施例提供的虚拟场景的渲染装置的结构示意图;
图3A至图3E是本申请实施例提供的虚拟场景的渲染方法的流程示意图;
图4A是本申请实施例提供的虚拟场景的渲染方法的原理示意图;
图4B是本申请实施例提供的虚拟场景的渲染方法的效果示意图;
图4C是本申请实施例提供的虚拟场景的渲染方法的流程示意图;
图4D至图4G是本申请实施例提供的虚拟场景的渲染方法的原理示意图;
图5A是本申请实施例提供的虚拟场景的渲染方法的效果示意图;
图5B是相关技术的效果示意图;
图5C是本申请实施例提供的虚拟场景的渲染方法的效果示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)游戏:又称电子游戏(Video Games),是指所有依托于电子设备平台而运行的交互游戏。根据运行媒介的不同分为五类:主机游戏(狭义的,此处专指家用机游戏)、掌机游戏、街机游戏、电脑游戏及手机游戏。
2)游戏引擎:是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用从头开始。大部分都支持多种操作平台,如Linux、Mac OS X、微软Windows。游戏引擎包含以下系统:渲染引擎(即“渲染器”,含二维图像引擎和三维图像引擎)、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理。
3)元素:是所有组件(Component)的容器,元素包括二维元素和三维元素,在游戏中的所有游戏对象本质上都是元素,游戏对象自身不会向游戏添加任何特性,而是容纳实现实际功能的组件(Component)的容器。
4)游戏引擎编辑器:包括场景编辑器、粒子特效编辑器、模型浏览器、动画编辑器和材质编辑器等。其中,场景编辑器,用于负责摆放模型物体、光源、摄像机等;粒子特效编辑器,用于制作各种游戏特效;动画编辑器,用于编辑动画功能,可以触发游戏逻辑中的某些事件;材质编辑器,用于编辑模型效果。
5)人机交互界面(Human Machine Interaction,HMI):又称用户界面或使用者界面,是人与计算机之间传递、交换信息的媒介和对话接口,是计算机系统的重要组成部分。是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。凡参与人机信息交流的领域都存在着人机界面。
6)三维元素:在渲染引擎中处于三维渲染体系的元素,三维元素包括粒子三维元素、静态三维元素和蒙皮三维元素。
7)二维元素:在渲染引擎中处于二维渲染体系的元素,二维元素可以是面向对象程序设计平台上的各类控件,每一个二维元素的基类为图表(Graphic)。
8)蒙皮三维元素(Skined Mesh):用于制作蒙皮动画的三维元素,即用于给几何体上的顶点添加动画特效,蒙皮三维元素是具有骨架(Skeleton)和骨骼(Bones)的网格。
9)粒子三维元素(Particle System):在渲染引擎中用于制作特效的三维元素,通过内部物理系统模拟粒子的运动变化。
10)遮罩组件(Mask):游戏引擎中的组件,可以对二维元素进行裁剪显示,遮罩组件用于规定子节点可渲染的范围,带有遮罩组件的节点会使用该节点的约束框创建一个渲染遮罩,该节点的所有节点都会依据这个遮罩进行裁剪,遮罩范围之外二维元素的不会被渲染。
11)分组组件(Canvas Group):是游戏引擎中的一种组件,用于对二维元素进行分组,统一控制。
12)适配组件:是游戏引擎中的一种组件,用于对二维元素进行分组,统一控制。
13)元素渲染组件(Canvas Renderer):是游戏引擎中负责渲染二维元素的渲染器组件。
14)物体数据(Transform):游戏引擎中表示一个元素的位置、旋转和缩放的数据。
15)原始坐标系(Local Space):以元素自身的轴心为原点的坐标系。
16)画布坐标系(World Space):以待渲染画布的中心为原点的坐标系。
在本申请实施例的实施过程中,申请人发现相关技术存在以下问题:
在游戏引擎的渲染系统中,经常会遇到混合渲染三维元素和二维元素的场景,由于在游戏引擎中,三维元素和二维元素处于不同的渲染体系,在相关技术中,将二维元素和三维元素混合渲染会出现诸多问题。例如,三维元素和二维元素无法有效的进行层级控制,无法有效的控制二维元素和三维元素之间的渲染顺序,无法支撑复杂的二维元素和三维元素混合使用的场景,三维元素和二维元素的原生功能组件无法兼容使用,导致二维元素和三维元素无法兼容适配和排版等功能。
针对上述相关技术存在的问题,本申请实施例通过将三维元素转换为转换二维元素,然后再渲染转换二维元素和待渲染二维元素,从而实现了二维元素和三维元素的混合渲染,同时保证了三维元素的渲染效果不受影响,进而能够有效提高二维元素和三维元素的混合渲染效果。同时可以有效减少中央处理器的处理耗时,从而提高处理效率。下面进行详细说明。
参见图5A,图5A是本申请实施例提供的虚拟场景的渲染方法的效果示意图。效果1是通过本申请实施例提供的虚拟场景的渲染方法对二维元素和三维元素进行混合渲染的效果,效果2是相关技术对二维元素和三维元素进行混合渲染的效果,效果3是真实效果。效果1对于效果3的还原程度较好,效果2对于效果3的还原程度不高,即,通过本申请实施例提供的虚拟场景的渲染方法能够有效提高二维元素和三维元素的混合渲染效果。
参见图5B,图5B是相关技术的效果示意图。在相关技术中,中央处理器的处理耗时为1.1ms,渲染批次为7。参见图5C,图5C是本申请实施例提供的虚拟场景的渲染方法的效果示意图。在本申请实施例中,中央处理器的处理耗时为0.6ms,渲染批次为7。由此可知,通过本申请实施例提供的虚拟场景的渲染方法可以有效减少中央处理器的处理耗时,从而提高处理效率。
本申请实施例提供一种虚拟场景的渲染方法、装置、设备、计算机可读存储介质及计算机程序产品,能够实现待渲染三维元素和待渲染二维元素渲染模式的统一,使待渲染三维元素的渲染效果得以保留,从而有效提高二维元素和三维元素的混合渲染效果,下面说明本申请实施例提供的虚拟场景的渲染设备的示例性应用,本申请实施例提供的虚拟场景的渲染设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。可以将多个终端中的一个作为服务器,例如将计算能力较强的台式计算机作为服务器,其余用户终端作为客户端。
参见图1,图1是本申请实施例提供的虚拟场景的渲染系统100的架构示意图,为实现虚拟场景的渲染的应用场景(例如,对游戏引擎中的二维元素和三维元素进行混合渲染),终端(示例性示出了终端400)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
终端400用于供用户使用客户端410,在图形界面410-1(示例性示出了图形界面410-1)显示。终端400和服务器200通过有线或者无线网络相互连接。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能语音交互设备、智能家电、车载终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在一些实施例中,终端400的客户端410获取待渲染三维元素和待渲染二维元素,并将待渲染三维元素通过网络300发送到服务器200,服务器200基于待渲染三维元素,确定与待渲染三维元素对应的转换二维元素,并将转换二维元素发送到终端400,终端400渲染转换二维元素和待渲染二维元素,并在图形界面410-1中进行显示。
在另一些实施例中,终端400的客户端410获取待渲染三维元素和待渲染二维元素,并基于待渲染三维元素,确定与待渲染三维元素对应的转换二维元素,终端400渲染转换二维元素和待渲染二维元素,并在图形界面410-1中进行显示。
在一些实施例中,参见图2,图2是本申请实施例提供的终端400的结构示意图,图2所示的终端400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算机设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的虚拟场景的渲染装置可以采用软件方式实现,图2示出了存储在存储器450中的虚拟场景的渲染装置455,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块4551、采样模块4552、第二获取模块4553、变换模块4554、渲染模块4555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
下面,将结合本申请实施例提供的终端的示例性应用和实施,说明本申请实施例提供的虚拟场景的渲染方法。
参见图3A,图3A是本申请实施例提供的虚拟场景的渲染方法的流程示意图,将结合图3A示出的步骤101至步骤105进行说明,下述步骤101至步骤105的执行主体可以是前述的服务器或终端。
在步骤101中,从虚拟场景的待渲染的当前帧数据中,获取至少一个待渲染三维元素和至少一个待渲染二维元素。
作为示例,参见图4A,图4A是本申请实施例提供的虚拟场景的渲染方法的原理示意图。当虚拟场景的待渲染的当前帧为采样帧53时,可以从采样帧53的帧数据中,获取至少一个待渲染三维元素和至少一个待渲染二维元素,具体的,待渲染三维元素可以为三维元素11和三维元素13,待渲染二维元素可以为二维元素12。
在步骤102中,对每个待渲染三维元素的动画进行采样处理,得到每个待渲染三维元素的动画对应的网格序列帧。
其中,待渲染三维元素的动画包括当前帧以及至少一个历史帧,每个历史帧均包括待渲染三维元素。
作为示例,参见图4A,待渲染三维元素的动画包括当前帧53以及历史帧51和历史帧52。对三维元素11的动画进行采样处理,得到三维元素11的动画对应的网格序列帧。
在一些实施例中,参见图3B,图3B是本申请实施例提供的虚拟场景的渲染方法的流程示意图。图3B所示出的步骤102可以通过针对任意一个待渲染三维元素执行步骤1021至步骤1022实现,下面分别进行说明。
在步骤1021中,按照采样间隔,对每个待渲染三维元素的动画进行采样处理,得到每个待渲染三维元素的动画对应的多个采样帧。
其中,采样帧的数量与采样间隔的时长负相关。
在一些实施例中,采样间隔是任意两个相邻的采样点之间的时间间隔,采样间隔的时长越长,所得到的采样帧的数量越少,采样间隔的时长越短,所得到的采样帧的数量越多。
作为示例,参见图4A,采样间隔可以为1ms,按照1ms的采样间隔,对三维元素11的动画进行采样处理,得到三维元素11的动画对应的采样帧51、采样帧52和采样帧53。
在步骤1022中,在多个采样帧中,确定待渲染三维元素的动画对应的网格序列帧。
其中,网格序列帧是多个采样帧中包括待渲染三维元素的采样帧。
作为示例,参见图4A,在采样帧51、采样帧52和采样帧53中均包括三维元素11,那么,采样帧51、采样帧52和采样帧53均是网格序列帧。当多个采样帧中,存在采样帧不包括待渲染三维元素时,则对应的采样帧不是网格序列帧。
在一些实施例中,上述步骤1022可以通过以下方式实现:在待渲染三维元素的动画中,确定待渲染三维元素的起始播放时刻和结束播放时刻;基于起始播放时刻和结束播放时刻,在多个采样帧中确定待渲染三维元素的动画对应的网格序列帧。
作为示例,在待渲染三维元素的动画中,确定待渲染三维元素的起始播放时刻和结束播放时刻,例如,待渲染三维元素的动画的播放总时长为10分钟,从待渲染三维元素的动画开始播放起始,在第2分钟时,在待渲染三维元素的动画中出现待渲染三维元素,那么待渲染三维元素的起始播放时刻为第2分钟,在第9分钟第10秒时,在待渲染三维元素的动画中消失待渲染三维元素,那么,待渲染三维元素的结束播放时刻为第9分钟第10秒。
如此,通过确定待渲染三维元素在动画中显示和消失的时刻,确定待渲染三维元素的起始播放时刻和结束播放时刻,从而便于后续根据起始播放时刻和结束播放时刻准确的确定出网格序列帧。
在一些实施例中,上述基于起始播放时刻和结束播放时刻,在多个采样帧中,确定待渲染三维元素的动画对应的网格序列帧,可以通过以下方式实现:当起始播放时刻与结束播放时刻为相同时刻时,将多个采样帧中处于相同时刻的一个采样帧,确定为待渲染三维元素的动画对应的网格序列帧;当起始播放时刻与结束播放时刻为不同时刻时,将多个采样帧中处于起始播放时刻和结束播放时刻之间的至少两个采样帧,确定为待渲染三维元素的动画对应的网格序列帧。
作为示例,当起始播放时刻和结束播放时刻相同时,在待渲染三维元素的动画中出现待渲染三维元素后,在待渲染三维元素的动画中立刻消失待渲染三维元素,即,待渲染三维元素在待渲染三维元素的动画中闪现,将多个采样帧中处于相同时刻的一个采样帧,确定为待渲染三维元素的动画对应的网格序列帧。
作为示例,当起始播放时刻与结束播放时刻为不同时刻时,例如,待渲染三维元素的起始播放时刻为第2分钟,待渲染三维元素的结束播放时刻为第9分钟第10秒,将多个采样帧中处于第2分钟和第9分钟第10秒之间的至少两个采样帧,确定为待渲染三维元素的动画对应的网格序列帧。
在步骤103中,从网格序列帧中获取每个待渲染三维元素分别对应的网格数据;
其中,不同的待渲染三维元素对应的网格数据的坐标系不同。
在一些实施例中,待渲染三维元素包括蒙皮三维元素、粒子三维元素和静态三维元素,蒙皮三维元素、粒子三维元素和静态三维元素分别对应的网格数据的坐标系不同。
在一些实施例中,参见图3B,图3B是本申请实施例提供的虚拟场景的渲染方法的流程示意图。图3B所示出的步骤103可以通过针对任意一个待渲染三维元素执行步骤1031至步骤1032实现,下面分别进行说明。
在步骤1031中,确定与待渲染三维元素的元素类型对应的渲染器的渲染器类型。
在一些实施例中,当待渲染三维元素的元素类型为蒙皮三维元素时,对应的渲染器的渲染器类型为蒙皮渲染器,其中,蒙皮渲染器用于渲染蒙皮三维元素。当待渲染三维元素的元素类型为粒子三维元素时,对应的渲染器的渲染器类型为粒子渲染器,其中,粒子渲染器包括中央处理器运行的渲染器和图形处理器运行的渲染器,粒子渲染器用于渲染粒子三维元素。当待渲染三维元素的元素类型为静态三维元素时,对应的渲染器的渲染器类型为网格渲染器,其中,网格渲染器用于渲染静态三维元素。
在步骤1032中,从渲染器类型的渲染器对应的网格序列帧中,获取待渲染三维元素对应的网格数据。
在一些实施例中,当待渲染三维元素的元素类型为蒙皮三维元素时,上述步骤1032可以通过针对蒙皮三维元素执行以下处理实现:从蒙皮渲染器对应的网格序列帧中,获取蒙皮三维元素对应的网格数据;其中,蒙皮三维元素对应的网格数据包括平移数据、旋转数据和缩放数据,平移数据和旋转数据的坐标系以蒙皮三维元素所在位置为原点,缩放数据的坐标系以待渲染画布的中心点为原点。
在一些实施例中,平移数据表征蒙皮三维元素的平移特性,例如,平移特性可以是蒙皮三维元素由一个时刻的A位置,平移至另一时刻的B位置。旋转数据表征蒙皮三维元素的旋转特性,例如,旋转特性可以是蒙皮三维元素由一个时刻的A姿态旋转至另一时刻的B姿态。缩放数据表征蒙皮三维元素的缩放特性,例如,缩放特性可以是蒙皮三维元素由一个时刻的A尺寸缩放至另一时刻的B尺寸。
如此,通过从蒙皮渲染器对应的网格序列帧中,获取蒙皮三维元素对应的网格数据,从而有效保证了所获取的蒙皮三维元素对应的网格数据的准确性。
在一些实施例中,当待渲染三维元素的元素类型为静态三维元素时,上述步骤1032可以通过针对静态三维元素执行以下处理实现:从网格渲染器对应的网格序列帧中,获取静态三维元素对应的网格数据;其中,静态三维元素对应的网格数据的坐标系以静态三维元素所在位置为原点。
作为示例,静态三维元素可以是三维元素中除蒙皮三维元素和粒子三维元素以外的元素。由于静态三维元素对应的渲染器的渲染器类型为网格渲染器,因此,从网格渲染器对应的网格序列帧中,可以准确获取到静态三维元素对应的网格数据。
如此,通过从静态渲染器对应的网格序列帧中,获取静态三维元素对应的网格数据,从而有效保证了所获取的静态三维元素对应的网格数据的准确性。
在一些实施例中,当待渲染三维元素的元素类型为粒子三维元素时,上述步骤1032可以通过针对粒子三维元素执行以下处理实现:从中央处理器运行的渲染器对应的网格序列帧中,获取粒子三维元素对应的第一网格数据;从图形处理器运行的渲染器的对应网格序列帧中,获取粒子三维元素对应的第二网格数据;将第一网格数据和第二网格数据确定为粒子三维元素对应的网格数据;其中,粒子三维元素对应的网格数据的坐标系以待渲染画布的中心点为原点。
作为示例,由于粒子三维元素对应的渲染器的渲染器类型为粒子渲染器,而粒子渲染器包括中央处理器运行的渲染器和图形处理器运行的渲染器,那么,粒子三维元素对应的网格数据可以从中央处理器运行的渲染器和图形处理器运行的渲染器中分别获取。
在步骤104中,对每个待渲染三维元素分别对应的网格数据进行变换处理,通过得到的变换网格数据,创建与每个待渲染三维元素对应的转换二维元素。
在一些实施例中,上述变换处理可以是矩阵变换处理,矩阵变换处理用于对网格数据的矩阵形式进行维度变换,从而将三维的网格数据降低为二维的网格数据。
在一些实施例中,得到的变换网格数据包括:基于原始坐标系的第一变换网格数据,基于画布坐标系的第二变换网格数据,其中,画布坐标系以待渲染画布的中心点为原点,原始坐标系以转换二维元素所在位置为原点。
在步骤105中,渲染当前帧中的至少一个待渲染二维元素,并渲染当前帧中的每个待渲染三维元素对应的转换二维元素。
在一些实施例中,由于每个待渲染三维元素分别对应的网格数据的坐标系是不统一的,那么,对每个待渲染三维元素分别对应的网格数据进行变换处理后得到的变换网格数据的坐标系也是不统一的,那么,可以在创建转换二维元素时进行坐标系的统一,也可以在渲染转换二维元素时进行坐标系的统一。
下面,分别对统一坐标系的两种方式进行说明。
在一些实施例中,对在创建转换二维元素时进行坐标系的统一的情形进行说明,具体的,参见图3C,图3C是本申请实施例提供的虚拟场景的渲染方法的流程示意图。图3C所示出的步骤104可以通过针对任意一个待渲染二维元素执行步骤1041至步骤1043实现,下面分别进行说明。
在步骤1041中,从针对待渲染二维元素进行变换处理得到的变换网格数据中,读取第一变换网格数据。
在一些实施例中,由于得到的变换网格数据中包括基于原始坐标系的第一变换网格数据和基于画布坐标系的第二变换网格数据。从而可以从得到的变换网格数据中读取到第一变换网格数据和第二变换网格数据。
在步骤1042中,将第一变换网格数据转换为基于画布坐标系的第三变换网格数据。
在一些实施例中,上述第一变换网格数据包括以下至少之一:变换平移数据、变换旋转数据、静态变换网格数据;上述步骤1042中将第一变换网格数据转换为基于画布坐标系的第三变换网格数据,可以通过以下方式实现:当待渲染三维元素为蒙皮三维元素时,将基于原始坐标系的变换平移数据,转换为基于画布坐标系的变换平移数据,并将基于原始坐标系的变换旋转数据,转换为基于画布坐标系的变换旋转数据;当待渲染三维元素为静态三维元素时,将基于原始坐标系的静态变换网格数据,转换为基于画布坐标系的静态变换网格数据。
作为示例,当待渲染三维元素为粒子三维元素时,由于粒子三维元素对应的网格数据的坐标系是以待渲染画布的中心点为原点的,那么则不需要进行坐标系转换,即可与上述静态三维元素和蒙皮三维元素分别对应的网格数据的转换后坐标系进行统一。
如此,通过将得到的变换网格数据的坐标系进行统一,从而便于在同一坐标系下对转换二维元素进行渲染,从而有效避免了坐标系不统一所导致的渲染效果紊乱,有效提高了渲染效果。
在步骤1043中,基于第三变换网格数据以及第二变换网格数据,创建与待渲染三维元素对应的转换二维元素。
作为示例,由于第三变换网格数据和第二变换网格数据均是基于画布坐标系,从而使得所创建的转换二维元素的坐标系均是基于画布坐标系的,从而实现了坐标系的统一。
在一些实施例中,上述步骤1043中创建转换二维元素的方式可以通过以下方式实现:基于第三变换网格数据和第二变换网格数据,确定每个待渲染三维元素在画布坐标系下的坐标;基于坐标和待渲染三维元素的几何特征,创建与每个待渲染三维元素对应的转换二维元素,其中,几何特征表征待渲染三维元素的几何形状。
作为示例,由于第三变换网格数据和第二变换网格数据均是基于画布坐标系的,从而可以基于第三变换网格数据和第二变换网格数据,确定每个待渲染三维元素在画布坐标系下的坐标,确定了每个待渲染三维元素在画布坐标系下的坐标,即确定了每个待渲染三维元素在画布坐标系下的具体位置。进而基于每个待渲染三维元素在画布坐标系下的具体位置和待渲染三维元素的几何特征,创建与每个待渲染三维元素对应的转换二维元素,其中,转换二维元素可以是待渲染三维元素在画布坐标系上的投影。
对应的,图3C所示出的步骤105可以通过执行步骤1051实现,下面进行说明。
在步骤1051中,渲染所创建的与待渲染三维元素对应的转换二维元素。
作为示例,由于在上述步骤1041至步骤1043创建转换二维元素的过程中已经完成了坐标系的统一,那么在上述步骤1051对转换二维元素进行渲染的过程中,则无需进行坐标系的统一,直接对所创建与待渲染三维元素对应的转换二维元素进行渲染即可。
在另一些实施例中,对在渲染转换二维元素时进行坐标系的统一的情形进行说明,具体的,参见图3D,图3D是本申请实施例提供的虚拟场景的渲染方法的流程示意图。图3D所示出的步骤104可以通过执行步骤1044实现,下面分别进行说明。
在步骤1044中,基于第一变换网格数据以及第二变换网格数据,创建与待渲染三维元素对应的转换二维元素。
作为示例,由于在渲染转换二维元素时会进行坐标系的统一,从而在创建转换二维元素时,无需进行坐标系的统一,直接基于第一变换网格数据以及第二变换网格数据,创建与待渲染三维元素对应的转换二维元素即可,此时,由于第一变换网格数据是基于原始坐标系的,而第二变换网格数据是基于画布坐标系的,因而,从创建的与待渲染三维元素对应的转换二维元素的坐标系并不统一。
对应的,图3D所示出的步骤105可以通过针对任意一个转换二维元素执行步骤1052至步骤1055实现,下面分别进行说明。
在步骤1052中,从得到的变换网格数据中,读取第一变换网格数据。
在一些实施例中,由于得到的变换网格数据中包括基于原始坐标系的第一变换网格数据和基于画布坐标系的第二变换网格数据。从而可以从得到的变换网格数据中读取到第一变换网格数据和第二变换网格数据。
在步骤1053中,将第一变换网格数据,转换为基于画布坐标系的第四变换网格数据。
作为示例,由于第一变换网格数据是基于原始坐标系的,通过将第一变换网格数据的坐标系进行转换,从而得到基于画布坐标系的第四变换网格数据。
在步骤1054中,基于第四变换网格数据以及第二变换网格数据,创建用于直接在待渲染画布渲染的待渲染转换二维元素。
作为示例,由于第四变换网格数据以及第二变换网格数据均是基于画布坐标系的,从而使得所创建的转换二维元素的坐标系均是基于画布坐标系的,从而实现了坐标系的统一。
在步骤1055中,渲染待渲染转换二维元素。
如此,通过将得到的变换网格数据的坐标系进行统一,从而便于在同一坐标系下对待渲染转换二维元素进行渲染,从而有效避免了坐标系不统一所导致的渲染效果紊乱,有效提高了渲染效果。
在一些实施例中,参见图3E,图3E是本申请实施例提供的虚拟场景的渲染方法的流程示意图。在图3E示出的步骤105之前,可以通过执行步骤106至步骤109实现待渲染二维元素和转换二维元素的排序,下面分别进行说明。
在步骤106中,申请第二内存空间。
在一些实施例中,至少一个待渲染二维元素以及每个待渲染三维元素对应的转换二维元素存储于第一内存空间中。
如此,通过在排序之前申请第二内存空间,从而便于后续将排序后待渲染二维元素以及排序后转换二维元素存储至第二内存空间中。
在步骤107中,基于第一内存空间中的至少一个待渲染二维元素以及每个待渲染三维元素对应的转换二维元素,生成与待渲染二维元素以及转换二维元素分别对应的渲染数据。
在一些实施例中,渲染数据表征元素所在的渲染层级,如此,通过生成与待渲染二维元素以及转换二维元素分别对应的渲染数据,从而便于基于渲染数据,对第一内存空间中的待渲染二维元素以及转换二维元素进行排序处理。
在步骤108中,基于渲染数据,对第一内存空间中的待渲染二维元素以及转换二维元素进行排序处理,得到排序后待渲染二维元素以及排序后转换二维元素。
在一些实施例中,由于渲染数据表征元素所在的渲染层级,那么,可以根据第一内存空间中的待渲染二维元素以及转换二维元素分别所在的渲染层级,对第一内存空间中的待渲染二维元素以及转换二维元素进行排序处理,得到排序后待渲染二维元素以及排序后转换二维元素。
在步骤109中,将排序后待渲染二维元素以及排序后转换二维元素,存储至第二内存空间中。
其中,排序处理用于确定元素之间的渲染顺序。
在一些实施例中,还可以针对第一内存空间中的任意一个待渲染二维元素执行以下处理确定渲染顺序:基于待渲染二维元素的渲染数据,确定待渲染二维元素与第一内存空间中的其他元素之间的层级关系,其中,其他元素是第一内存空间中除待渲染二维元素以外的二维元素;基于层级关系,确定待渲染二维元素与第一内存空间中的其他元素之间的渲染顺序,其中,层级关系与渲染顺序正相关。
作为示例,基于待渲染二维元素的渲染数据,确定待渲染二维元素与第一内存空间中的其他元素之间的层级关系,例如,当待渲染二维元素所在层级为最底层的层级时,待渲染二维元素与第一内存空间中的其他元素之间的层级关系为第一内存空间中的其他元素的层级均大于待渲染二维元素的层级;基于层级关系,确定待渲染二维元素与第一内存空间中的其他元素之间的渲染顺序,当待渲染二维元素所在层级为最底层的层级时,则先渲染第一内存空间中的其他元素,最后渲染待渲染二维元素。
在一些实施例中,在上述步骤105之前,将用于渲染待渲染三维元素的三维渲染组件禁用。
如此,通过将用于渲染待渲染三维元素的三维渲染组件禁用,从而避免了三维渲染组件和二维渲染组件的混合使用,所导致的渲染混乱。
在一些实施例中,上述步骤105可以通过以下方式实现:调用二维渲染组件,按照渲染顺序依次渲染排序后待渲染二维元素以及排序后转换二维元素。
如此,通过将用于渲染待渲染三维元素的三维渲染组件禁用,单独调用二维渲染组件,按照渲染顺序依次渲染排序后待渲染二维元素以及排序后转换二维元素,从而有效保证了二维元素和三维元素的混合渲染效果。
下面,将说明本申请实施例在一个实际的游戏画面渲染的应用场景中的示例性应用。
参见图4A,虚拟场景的动画中包括多幅采样帧,如图4A所示出的,采样帧51、采样帧52和采样帧53中的二维元素12、二维元素13和二维元素11动态变化,即,二维元素12、二维元素13和二维元素11在采样帧51、采样帧52和采样帧53中的位置各不相同。具体的,在采样帧52中,二维元素13已经正确渲染在二维元素12的下方,从而实现了是二维元素和二维元素之间的层级穿插。在采样帧53中,通过调用游戏引擎的遮罩组件,可以看到,二维元素13的裁剪效果正确,说明转换后的二维元素功能正常。通过本申请实施例提供的虚拟场景的渲染方法,可以有效提高二维元素和二维元素的混合渲染效果。
参见图4B,图4B是本申请实施例提供的虚拟场景的渲染方法的效果示意图。在一个实际的游戏画面渲染的应用场景中,通过本申请实施例提供的虚拟场景的渲染方法,实现了不同类型(类型A1、类型A2和类型A3)的游戏对象中的二维元素和三维元素的混合渲染,有效提高二维元素和三维元素的混合渲染效果。
在一些实施例中,参见图4C,图4C是本申请实施例提供的虚拟场景的渲染方法的流程示意图。将结合图4C示出的步骤501至步骤507进行说明。
在步骤501中,获取蒙皮三维元素、静态三维元素以及粒子三维元素。
作为示例,从虚拟场景的待渲染的当前帧数据中,获取至少一个待渲染三维元素和至少一个待渲染二维元素,其中,待渲染三维元素包括蒙皮三维元素、静态三维元素以及粒子三维元素。
在步骤502中,更新网格数据。
作为示例,由于三维元素是随着虚拟场景的动画的变化而变化的,随着虚拟场景的动画的更新,更新蒙皮三维元素、静态三维元素以及粒子三维元素对应的网格数据。
在步骤503中,禁用渲染模块。
作为示例,将用于渲染待渲染三维元素的三维渲染组件禁用,只保留逻辑更新部分,以更新网格数据。
在步骤504中,获取网格数据。
作为示例,获取蒙皮三维元素、静态三维元素以及粒子三维元素分别对应的网格数据。
在一些实施例中,参见图4D,图4D是本申请实施例提供的虚拟场景的渲染方法的原理示意图,下面,结合图4D对获取网格数据的过程进行说明。当待渲染三维元素的元素类型为蒙皮三维元素时,从蒙皮渲染器对应的网格序列帧中,获取蒙皮三维元素对应的网格数据;其中,蒙皮三维元素对应的网格数据的坐标系可以为本地坐标系和画布坐标系。蒙皮三维元素对应的网格数据包括旋转数据、平移数据和缩放数据,旋转数据和平移数据的坐标系可以为本地坐标系,缩放数据的坐标系可以为画布坐标系。当待渲染三维元素的元素类型为静态三维元素时,从网格渲染器对应的网格序列帧中,获取静态三维元素对应的网格数据,静态三维元素对应的网格数据的坐标系可以为本地坐标系。当待渲染三维元素的元素类型为粒子三维元素时,可以从粒子渲染器对应的网格序列帧中,获取粒子三维元素对应的网格数据,粒子三维元素对应的网格数据的坐标系可以为画布坐标系。
在步骤505中,对网格数据进行变换。
作为示例,对获取到的蒙皮三维元素、静态三维元素以及粒子三维元素分别对应的网格数据,进行矩阵变换处理,得到变换网格数据。
在步骤506中,创建三维元素对应的转换二维元素。
作为示例,基于得到的变换网格数据,创建与每个待渲染三维元素对应的转换二维元素。
在步骤507中,统一每个转换二维元素的坐标系。
作为示例,参见图4D,将每个待渲染三维元素对应的转换二维元素进行坐标系的统一,以使得所渲染的转换二维元素在相同坐标系下。
下面,对于统一坐标系的具体实现方式进行详细说明。
在一些实施例中,在创建与每个待渲染三维元素对应的转换二维元素的过程中,完成坐标系的统一。从针对待渲染三维元素进行变换处理得到的变换网格数据中,读取第一变换网格数据;将第一变换网格数据转换为基于画布坐标系的第三变换网格数据;基于第三变换网格数据以及第二变换网格数据,创建与待渲染三维元素对应的转换二维元素。
作为示例,蒙皮三维元素对应的网格数据包括旋转数据、平移数据和缩放数据,旋转数据和平移数据的坐标系可以为本地坐标系,即第一变换网格数据为旋转数据和平移数据,第二变换网格数据为缩放数据,将第一变换网格数据转换为基于画布坐标系的第三变换网格数据,然后基于第三变换网格数据以及第二变换网格数据,创建与待渲染三维元素对应的转换二维元素。
在另一些实施例中,在渲染当前帧中的每个待渲染三维元素对应的转换二维元素的过程中,完成坐标系的统一。从得到的变换网格数据中,读取第一变换网格数据;将第一变换网格数据,转换为基于画布坐标系的第四变换网格数据;基于第四变换网格数据以及第二变换网格数据,创建用于直接在待渲染画布渲染的待渲染转换二维元素;渲染待渲染转换二维元素。
作为示例,参见图4E,图4E是本申请实施例提供的虚拟场景的渲染方法的原理示意图,在渲染当前帧中的每个待渲染三维元素对应的转换二维元素的过程中,完成坐标系的统一,将原始坐标系转换为画布坐标系。并对待渲染三维元素对应的网格数据进行矩阵变换处理,并对矩阵变换处理结果进行修正变换。
在一些实施例中,在渲染待渲染二维元素和转换二维元素之前,可以通过以下方式确定渲染顺序:首先,预先申请内存空间(Prepare Output),然后根据指令集和生成对应的渲染信息数据,基于渲染信息数据对渲染待渲染二维元素和转换二维元素进行排序,从而确定渲染待渲染二维元素和转换二维元素之间的渲染顺序。
在一些实施例中,参见图4F和图4G,图4F和图4G是本申请实施例提供的虚拟场景的渲染方法的原理示意图。图4F中所示出的是相关技术的时间开销,图4G所示出的是本申请实施例提供的虚拟场景的渲染方法的时间开销。可以看出,相关技术的时间开销为0.92ms,中央处理器(CPU)的总开销为1.58ms。而在本申请中,时间开销明显减少,从0.92ms变为0.02ms,中央处理器(CPU)的总开销减少为0.83ms,性能明显提升。
如此,通过本申请实施例提供的虚拟场景的渲染方法,实现了三维元素和二维元素之间无障碍的混合使用,在能够有效提高二维元素和三维元素的混合渲染效果的同时,有效减少了时间开销,提升了开发效率,为处理更为复杂的三维元素提供了性能空间。
可以理解的是,在本申请实施例中,涉及到的当前帧数据等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面继续说明本申请实施例提供的虚拟场景的渲染装置455的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器440的虚拟场景的渲染装置455中的软件模块可以包括:第一获取模块4551,用于从虚拟场景的待渲染的当前帧数据中,获取至少一个待渲染三维元素和至少一个待渲染二维元素;采样模块4552,用于对每个待渲染三维元素的动画进行采样处理,得到每个待渲染三维元素的动画对应的网格序列帧,其中,待渲染三维元素的动画包括当前帧以及至少一个历史帧,每个历史帧均包括待渲染三维元素;第二获取模块4553,用于从网格序列帧中获取每个待渲染三维元素分别对应的网格数据,其中,不同的待渲染三维元素对应的网格数据的坐标系不同;变换模块4554,用于对每个待渲染三维元素分别对应的网格数据进行变换处理,通过得到的变换网格数据,创建与每个待渲染三维元素对应的转换二维元素;渲染模块4555,用于渲染当前帧中的至少一个待渲染二维元素,并渲染当前帧中的每个待渲染三维元素对应的转换二维元素。
在一些实施例中,上述第二获取模块4553,还用于针对任意一个待渲染三维元素执行以下处理:确定与待渲染三维元素的元素类型对应的渲染器的渲染器类型;从渲染器类型的渲染器对应的网格序列帧中,获取待渲染三维元素对应的网格数据。
在一些实施例中,上述第二获取模块4553,还用于当待渲染三维元素的元素类型为蒙皮三维元素时,针对蒙皮三维元素执行以下处理:从蒙皮渲染器对应的网格序列帧中,获取蒙皮三维元素对应的网格数据;其中,蒙皮三维元素对应的网格数据包括平移数据、旋转数据和缩放数据,平移数据和旋转数据的坐标系以蒙皮三维元素所在位置为原点,缩放数据的坐标系以待渲染画布的中心点为原点。
在一些实施例中,上述第二获取模块4553,还用于当待渲染三维元素的元素类型为静态三维元素时,针对静态三维元素执行以下处理:从网格渲染器对应的网格序列帧中,获取静态三维元素对应的网格数据;其中,静态三维元素对应的网格数据的坐标系以静态三维元素所在位置为原点。
在一些实施例中,上述第二获取模块4553,还用于当待渲染三维元素的元素类型为粒子三维元素时,针对粒子三维元素执行以下处理:从中央处理器运行的渲染器对应的网格序列帧中,获取粒子三维元素对应的第一网格数据;从图形处理器运行的渲染器的对应网格序列帧中,获取粒子三维元素对应的第二网格数据;将第一网格数据和第二网格数据确定为粒子三维元素对应的网格数据;其中,粒子三维元素对应的网格数据的坐标系以待渲染画布的中心点为原点。
在一些实施例中,得到的变换网格数据包括:基于原始坐标系的第一变换网格数据,基于画布坐标系的第二变换网格数据,其中,画布坐标系以待渲染画布的中心点为原点,原始坐标系以转换二维元素所在位置为原点;上述变换模块4554,还用于针对任意一个待渲染三维元素执行以下处理:从针对待渲染三维元素进行变换处理得到的变换网格数据中,读取第一变换网格数据;将第一变换网格数据转换为基于画布坐标系的第三变换网格数据;基于第三变换网格数据以及第二变换网格数据,创建与待渲染三维元素对应的转换二维元素。
在一些实施例中,上述渲染模块4555,还用于渲染所创建的与待渲染三维元素对应的转换二维元素。
在一些实施例中,上述变换模块4554,还用于基于第三变换网格数据和第二变换网格数据,确定每个待渲染三维元素在画布坐标系下的坐标;基于坐标和待渲染三维元素的几何特征,创建与每个待渲染三维元素对应的转换二维元素,其中,几何特征表征待渲染三维元素的几何形状。
在一些实施例中,第一变换网格数据包括以下至少之一:变换平移数据、变换旋转数据、静态变换网格数据;上述变换模块4554,还用于当待渲染三维元素为蒙皮三维元素时,将基于原始坐标系的变换平移数据,转换为基于画布坐标系的变换平移数据,并将基于原始坐标系的变换旋转数据,转换为基于画布坐标系的变换旋转数据;当待渲染三维元素为静态三维元素时,将基于原始坐标系的静态变换网格数据,转换为基于画布坐标系的静态变换网格数据。
在一些实施例中,得到的变换网格数据包括:基于原始坐标系的第一变换网格数据,基于画布坐标系的第二变换网格数据,其中,画布坐标系以待渲染画布的中心点为原点,原始坐标系以转换二维元素所在位置为原点;上述变换模块4554,还用于基于第一变换网格数据以及第二变换网格数据,创建与待渲染三维元素对应的转换二维元素。
在一些实施例中,上述渲染模块4555,还用于针对任意一个转换二维元素执行以下处理:从得到的变换网格数据中,读取第一变换网格数据;将第一变换网格数据,转换为基于画布坐标系的第四变换网格数据;基于第四变换网格数据以及第二变换网格数据,创建用于直接在待渲染画布渲染的待渲染转换二维元素;渲染待渲染转换二维元素。
在一些实施例中,上述虚拟场景的渲染装置455还包括:排序模块,用于申请第二内存空间;基于第一内存空间中的至少一个待渲染二维元素以及每个待渲染三维元素对应的转换二维元素,生成与待渲染二维元素以及转换二维元素分别对应的渲染数据;基于渲染数据,对第一内存空间中的待渲染二维元素以及转换二维元素进行排序处理,得到排序后待渲染二维元素以及排序后转换二维元素;将排序后待渲染二维元素以及排序后转换二维元素,存储至第二内存空间中,其中,排序处理用于确定元素之间的渲染顺序。
在一些实施例中,上述虚拟场景的渲染装置455还包括:顺序确定模块,用于针对第一内存空间中的任意一个待渲染二维元素执行以下处理:基于待渲染二维元素的渲染数据,确定待渲染二维元素与第一内存空间中的其他元素之间的层级关系,其中,其他元素是第一内存空间中除待渲染二维元素以外的二维元素;基于层级关系,确定待渲染二维元素与第一内存空间中的其他元素之间的渲染顺序,其中,层级关系与渲染顺序正相关。
在一些实施例中,上述虚拟场景的渲染装置455还包括:禁用模块,用于将用于渲染待渲染三维元素的三维渲染组件禁用。上述渲染模块4555,还用于调用二维渲染组件,按照渲染顺序依次渲染排序后待渲染二维元素以及排序后转换二维元素。
在一些实施例中,上述采样模块4552,还用于针对任意一个待渲染三维元素执行以下处理:按照采样间隔,对每个待渲染三维元素的动画进行采样处理,得到每个待渲染三维元素的动画对应的多个采样帧,其中,采样帧的数量与采样间隔的时长负相关;在多个采样帧中,确定待渲染三维元素的动画对应的网格序列帧,其中,网格序列帧是多个采样帧中包括待渲染三维元素的采样帧。
在一些实施例中,上述采样模块4552,还用于在待渲染三维元素的动画中,确定待渲染三维元素的起始播放时刻和结束播放时刻;基于起始播放时刻和结束播放时刻,在多个采样帧中确定待渲染三维元素的动画对应的网格序列帧。
在一些实施例中,上述采样模块4552,还用于当起始播放时刻与结束播放时刻为相同时刻时,将多个采样帧中处于相同时刻的一个采样帧,确定为待渲染三维元素的动画对应的网格序列帧;当起始播放时刻与结束播放时刻为不同时刻时,将多个采样帧中处于起始播放时刻和结束播放时刻之间的至少两个采样帧,确定为待渲染三维元素的动画对应的网格序列帧。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的虚拟场景的渲染方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的虚拟场景的渲染方法,例如,如图3A示出的虚拟场景的渲染方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上,本申请实施例具有以下有益效果:
(1)通过将用于渲染待渲染三维元素的三维渲染组件禁用,单独调用二维渲染组件,按照渲染顺序依次渲染排序后待渲染二维元素以及排序后转换二维元素,从而有效保证了二维元素和三维元素的混合渲染效果。
(2)通过将用于渲染待渲染三维元素的三维渲染组件禁用,从而避免了三维渲染组件和二维渲染组件的混合使用,所导致的渲染混乱。
(3)通过在排序之前申请第二内存空间,从而便于后续将排序后待渲染二维元素以及排序后转换二维元素存储至第二内存空间中。
(4)通过将得到的变换网格数据的坐标系进行统一,从而便于在同一坐标系下对待渲染转换二维元素进行渲染,从而有效避免了坐标系不统一所导致的渲染效果紊乱,有效提高了渲染效果。
(5)通过将得到的变换网格数据的坐标系进行统一,从而便于在同一坐标系下对转换二维元素进行渲染,从而有效避免了坐标系不统一所导致的渲染效果紊乱,有效提高了渲染效果。
(6)通过从静态渲染器对应的网格序列帧中,获取静态三维元素对应的网格数据,从而有效保证了所获取的静态三维元素对应的网格数据的准确性。
(7)通过从蒙皮渲染器对应的网格序列帧中,获取蒙皮三维元素对应的网格数据,从而有效保证了所获取的蒙皮三维元素对应的网格数据的准确性。
(8)通过确定待渲染三维元素在动画中显示和消失的时刻,确定待渲染三维元素的起始播放时刻和结束播放时刻,从而便于后续根据起始播放时刻和结束播放时刻准确的确定出网格序列帧。
(9)通过对待渲染三维元素对应的网格数据进行变换处理,进而根据得到的变换网格数据,创建与待渲染三维元素对应的转换二维元素,从而实现了待渲染三维元素的转换,进而渲染待渲染二维元素和转换二维元素。如此,对待渲染三维元素进行转换得到转换二维元素,并渲染转换二维元素和待渲染二维元素实现了待渲染二维元素和待渲染三维元素的有效适配,实现待渲染三维元素和待渲染二维元素渲染模式的统一,使待渲染三维元素的渲染效果得以保留,从而有效提高二维元素和三维元素的混合渲染效果。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (20)
1.一种虚拟场景的渲染方法,其特征在于,所述方法包括:
从所述虚拟场景的待渲染的当前帧数据中,获取至少一个待渲染三维元素和至少一个待渲染二维元素;
对每个所述待渲染三维元素的动画进行采样处理,得到每个所述待渲染三维元素的动画对应的网格序列帧,其中,所述待渲染三维元素的动画包括所述当前帧以及至少一个历史帧,每个所述历史帧均包括所述待渲染三维元素;
从所述网格序列帧中获取每个所述待渲染三维元素分别对应的网格数据,其中,不同的所述待渲染三维元素对应的所述网格数据的坐标系不同;
对每个所述待渲染三维元素分别对应的网格数据进行变换处理,通过得到的变换网格数据,创建与每个所述待渲染三维元素对应的转换二维元素;
渲染所述当前帧中的所述至少一个待渲染二维元素,并渲染所述当前帧中的每个所述待渲染三维元素对应的所述转换二维元素。
2.根据权利要求1所述的方法,其特征在于,所述从所述网格序列帧中获取每个所述待渲染三维元素分别对应的网格数据,包括:
针对任意一个所述待渲染三维元素执行以下处理:
确定与所述待渲染三维元素的元素类型对应的渲染器的渲染器类型;
从所述渲染器类型的渲染器对应的网格序列帧中,获取所述待渲染三维元素对应的网格数据。
3.根据权利要求2所述的方法,其特征在于,所述从所述渲染器类型的渲染器对应的网格序列帧中,获取所述待渲染三维元素对应的网格数据,包括:
当所述待渲染三维元素的元素类型为蒙皮三维元素时,针对所述蒙皮三维元素执行以下处理:
从蒙皮渲染器对应的网格序列帧中,获取所述蒙皮三维元素对应的网格数据;
其中,所述蒙皮三维元素对应的网格数据包括平移数据、旋转数据和缩放数据,所述平移数据和所述旋转数据的坐标系以所述蒙皮三维元素所在位置为原点,所述缩放数据的坐标系以待渲染画布的中心点为原点。
4.根据权利要求2所述的方法,其特征在于,所述从所述渲染器类型的渲染器对应的网格序列帧中,获取所述待渲染三维元素对应的网格数据,包括:
当所述待渲染三维元素的元素类型为静态三维元素时,针对所述静态三维元素执行以下处理:
从网格渲染器对应的网格序列帧中,获取所述静态三维元素对应的网格数据;
其中,所述静态三维元素对应的网格数据的坐标系以所述静态三维元素所在位置为原点。
5.根据权利要求2所述的方法,其特征在于,所述从所述渲染器类型的渲染器对应的网格序列帧中,获取所述待渲染三维元素对应的网格数据,包括:
当所述待渲染三维元素的元素类型为粒子三维元素时,针对所述粒子三维元素执行以下处理:
从中央处理器运行的渲染器对应的网格序列帧中,获取所述粒子三维元素对应的第一网格数据;
从图形处理器运行的渲染器的对应网格序列帧中,获取所述粒子三维元素对应的第二网格数据;
将所述第一网格数据和所述第二网格数据确定为所述粒子三维元素对应的网格数据;
其中,所述粒子三维元素对应的网格数据的坐标系以待渲染画布的中心点为原点。
6.根据权利要求1所述的方法,其特征在于,
所述得到的变换网格数据包括:基于原始坐标系的第一变换网格数据,基于画布坐标系的第二变换网格数据,其中,所述画布坐标系以待渲染画布的中心点为原点,所述原始坐标系以所述转换二维元素所在位置为原点;
所述通过得到的变换网格数据,创建与每个所述待渲染三维元素对应的转换二维元素,包括:
针对任意一个所述待渲染三维元素执行以下处理:
从针对所述待渲染三维元素进行所述变换处理得到的所述变换网格数据中,读取所述第一变换网格数据;
将所述第一变换网格数据转换为基于所述画布坐标系的第三变换网格数据;
基于所述第三变换网格数据以及所述第二变换网格数据,创建与所述待渲染三维元素对应的转换二维元素。
7.根据权利要求6所述的方法,其特征在于,所述渲染所述当前帧中的每个所述待渲染三维元素对应的所述转换二维元素,包括:
渲染所创建的与所述待渲染三维元素对应的转换二维元素。
8.根据权利要求6所述的方法,其特征在于,所述基于所述第三变换网格数据以及所述第二变换网格数据,创建与所述待渲染三维元素对应的转换二维元素,包括:
基于所述第三变换网格数据和所述第二变换网格数据,确定每个所述待渲染三维元素在所述画布坐标系下的坐标;
基于所述坐标和所述待渲染三维元素的几何特征,创建与每个所述待渲染三维元素对应的转换二维元素,其中,所述几何特征表征所述待渲染三维元素的几何形状。
9.根据权利要求6所述的方法,其特征在于,所述第一变换网格数据包括以下至少之一:变换平移数据、变换旋转数据、静态变换网格数据;
所述将所述第一变换网格数据转换为基于所述画布坐标系的第三变换网格数据,包括:
当所述待渲染三维元素为蒙皮三维元素时,将基于所述原始坐标系的变换平移数据,转换为基于所述画布坐标系的变换平移数据,并将基于所述原始坐标系的变换旋转数据,转换为基于所述画布坐标系的变换旋转数据;
当所述待渲染三维元素为静态三维元素时,将基于所述原始坐标系的静态变换网格数据,转换为基于所述画布坐标系的静态变换网格数据。
10.根据权利要求1所述的方法,其特征在于,
所述得到的变换网格数据包括:基于原始坐标系的第一变换网格数据,基于画布坐标系的第二变换网格数据,其中,所述画布坐标系以待渲染画布的中心点为原点,所述原始坐标系以所述转换二维元素所在位置为原点;
所述通过得到的变换网格数据,创建与每个所述待渲染三维元素对应的转换二维元素,包括:
基于所述第一变换网格数据以及所述第二变换网格数据,创建与所述待渲染三维元素对应的转换二维元素。
11.根据权利要求10所述的方法,其特征在于,
所述渲染所述当前帧中的每个所述待渲染三维元素对应的转换二维元素,包括:
针对任意一个所述转换二维元素执行以下处理:
从所述得到的变换网格数据中,读取所述第一变换网格数据;
将所述第一变换网格数据,转换为基于所述画布坐标系的第四变换网格数据;
基于所述第四变换网格数据以及所述第二变换网格数据,创建用于直接在所述待渲染画布渲染的待渲染转换二维元素;
渲染所述待渲染转换二维元素。
12.根据权利要求1所述的方法,其特征在于,
所述至少一个待渲染二维元素以及每个所述待渲染三维元素对应的转换二维元素存储于第一内存空间中;
所述渲染所述当前帧中的至少一个待渲染二维元素,并渲染所述当前帧中的每个所述待渲染三维元素对应的转换二维元素之前,所述方法还包括:
申请第二内存空间;
基于所述第一内存空间中的所述至少一个待渲染二维元素以及每个所述待渲染三维元素对应的转换二维元素,生成与所述待渲染二维元素以及所述转换二维元素分别对应的渲染数据;
基于所述渲染数据,对所述第一内存空间中的所述待渲染二维元素以及所述转换二维元素进行排序处理,得到排序后待渲染二维元素以及排序后转换二维元素;
将所述排序后待渲染二维元素以及所述排序后转换二维元素,存储至所述第二内存空间中,其中,所述排序处理用于确定元素之间的渲染顺序。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
针对所述第一内存空间中的任意一个所述待渲染二维元素执行以下处理:
基于所述待渲染二维元素的渲染数据,确定所述待渲染二维元素与所述第一内存空间中的其他元素之间的层级关系,其中,所述其他元素是所述第一内存空间中除所述待渲染二维元素以外的二维元素;
基于所述层级关系,确定所述待渲染二维元素与所述第一内存空间中的其他元素之间的渲染顺序,其中,所述层级关系与所述渲染顺序正相关。
14.根据权利要求12所述的方法,其特征在于,
所述渲染所述当前帧中的每个所述待渲染三维元素对应的转换二维元素之前,所述方法还包括:
将用于渲染所述待渲染三维元素的三维渲染组件禁用;
所述渲染所述当前帧中的至少一个待渲染二维元素,并渲染所述当前帧中的每个所述待渲染三维元素对应的转换二维元素,包括:
调用二维渲染组件,按照所述渲染顺序依次渲染所述排序后待渲染二维元素以及排序后转换二维元素。
15.根据权利要求1所述的方法,其特征在于,所述对每个所述待渲染三维元素的动画进行采样处理,得到每个所述待渲染三维元素的动画对应的网格序列帧,包括:
针对任意一个所述待渲染三维元素执行以下处理:
按照采样间隔,对每个所述待渲染三维元素的动画进行采样处理,得到每个所述待渲染三维元素的动画对应的多个采样帧,其中,所述采样帧的数量与所述采样间隔的时长负相关;
在所述多个采样帧中,确定所述待渲染三维元素的动画对应的网格序列帧,其中,所述网格序列帧是所述多个采样帧中包括所述待渲染三维元素的采样帧。
16.根据权利要求15所述的方法,其特征在于,所述在所述多个采样帧中,确定所述待渲染三维元素的动画对应的网格序列帧,包括:
在所述待渲染三维元素的动画中,确定所述待渲染三维元素的起始播放时刻和结束播放时刻;
基于所述起始播放时刻和所述结束播放时刻,在所述多个采样帧中确定所述待渲染三维元素的动画对应的网格序列帧。
17.根据权利要求16所述的方法,其特征在于,所述基于所述起始播放时刻和所述结束播放时刻,在所述多个采样帧中,确定所述待渲染三维元素的动画对应的网格序列帧,包括:
当所述起始播放时刻与所述结束播放时刻为相同时刻时,将所述多个采样帧中处于所述相同时刻的一个采样帧,确定为所述待渲染三维元素的动画对应的网格序列帧;
当所述起始播放时刻与所述结束播放时刻为不同时刻时,将所述多个采样帧中处于所述起始播放时刻和所述结束播放时刻之间的至少两个采样帧,确定为所述待渲染三维元素的动画对应的网格序列帧。
18.一种虚拟场景的渲染装置,其特征在于,所述装置包括:
第一获取模块,用于从所述虚拟场景的待渲染的当前帧数据中,获取至少一个待渲染三维元素和至少一个待渲染二维元素;
采样模块,用于对每个所述待渲染三维元素的动画进行采样处理,得到每个所述待渲染三维元素的动画对应的网格序列帧,其中,所述待渲染三维元素的动画包括所述当前帧以及至少一个历史帧,每个所述历史帧均包括所述待渲染三维元素;
第二获取模块,用于从所述网格序列帧中获取每个所述待渲染三维元素分别对应的网格数据,其中,不同的所述待渲染三维元素对应的所述网格数据的坐标系不同;
变换模块,用于对每个所述待渲染三维元素分别对应的网格数据进行变换处理,通过得到的变换网格数据,创建与每个所述待渲染三维元素对应的转换二维元素;
渲染模块,用于渲染所述当前帧中的所述至少一个待渲染二维元素,并渲染所述当前帧中的每个所述待渲染三维元素对应的所述转换二维元素。
19.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令或者计算机程序时,实现权利要求1至17任一项所述的虚拟场景的渲染方法。
20.一种计算机可读存储介质,存储有可执行指令或者计算机程序,其特征在于,所述可执行指令被处理器执行时实现权利要求1至17任一项所述的虚拟场景的渲染方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210239108.0A CN116764203A (zh) | 2022-03-11 | 2022-03-11 | 一种虚拟场景的渲染方法、装置、设备及存储介质 |
PCT/CN2022/135314 WO2023168999A1 (zh) | 2022-03-11 | 2022-11-30 | 一种虚拟场景的渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品 |
US18/378,066 US20240033625A1 (en) | 2022-03-11 | 2023-10-09 | Rendering method and apparatus for virtual scene, electronic device, computer-readable storage medium, and computer program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210239108.0A CN116764203A (zh) | 2022-03-11 | 2022-03-11 | 一种虚拟场景的渲染方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116764203A true CN116764203A (zh) | 2023-09-19 |
Family
ID=87937129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210239108.0A Pending CN116764203A (zh) | 2022-03-11 | 2022-03-11 | 一种虚拟场景的渲染方法、装置、设备及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240033625A1 (zh) |
CN (1) | CN116764203A (zh) |
WO (1) | WO2023168999A1 (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706830B (zh) * | 2009-11-12 | 2012-05-23 | 中国人民解放军国防科学技术大学 | 对刚性材质物体表面网格模型进行钻孔后模型重建的方法 |
US10134170B2 (en) * | 2013-09-26 | 2018-11-20 | Intel Corporation | Stereoscopic rendering using vertix shader instancing |
CN103559730B (zh) * | 2013-11-20 | 2016-08-31 | 广州博冠信息科技有限公司 | 一种渲染方法及装置 |
KR102527566B1 (ko) * | 2015-11-11 | 2023-05-03 | 소니그룹주식회사 | 화상 처리 장치 및 화상 처리 방법 |
CN106204704A (zh) * | 2016-06-29 | 2016-12-07 | 乐视控股(北京)有限公司 | 虚拟现实中三维场景的渲染方法和装置 |
CN108479067B (zh) * | 2018-04-12 | 2019-09-20 | 网易(杭州)网络有限公司 | 游戏画面的渲染方法和装置 |
CN109345616A (zh) * | 2018-08-30 | 2019-02-15 | 腾讯科技(深圳)有限公司 | 三维虚拟宠物的二维渲染图的生成方法、设备及存储介质 |
JP7400259B2 (ja) * | 2019-08-14 | 2023-12-19 | 富士フイルムビジネスイノベーション株式会社 | 三次元形状データの生成装置、三次元造形装置、及び三次元形状データの生成プログラム |
-
2022
- 2022-03-11 CN CN202210239108.0A patent/CN116764203A/zh active Pending
- 2022-11-30 WO PCT/CN2022/135314 patent/WO2023168999A1/zh unknown
-
2023
- 2023-10-09 US US18/378,066 patent/US20240033625A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023168999A1 (zh) | 2023-09-14 |
US20240033625A1 (en) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1594091B1 (en) | System and method for providing an enhanced graphics pipeline | |
CN102089786B (zh) | 在性能分析期间将图形指令映射到相关联的图形数据的方法和设备 | |
CN109710357B (zh) | 一种基于Unity3D引擎实现服务器操作的方法及系统 | |
Nadalutti et al. | Rendering of X3D content on mobile devices with OpenGL ES | |
CN103970518A (zh) | 一种逻辑窗口的3d渲染方法和装置 | |
CN111429561A (zh) | 一种虚拟仿真渲染引擎 | |
CN111583378B (zh) | 一种虚拟资产处理的方法及装置、电子设备、存储介质 | |
CN114494024B (zh) | 图像渲染方法、装置、设备及存储介质 | |
CN111275826B (zh) | 一种适用于ar情景的三维模型自动转换方法 | |
CN116610881A (zh) | 一种基于低代码软件的WebGL浏览交互方法 | |
CN112807695B (zh) | 游戏场景生成方法和装置、可读存储介质、电子设备 | |
CN117372602B (zh) | 一种异构三维多对象融合渲染方法、设备及系统 | |
CN112783660A (zh) | 虚拟场景中的资源处理方法、装置及电子设备 | |
CN117101127A (zh) | 虚拟场景中的图像渲染方法、装置、电子设备及存储介质 | |
CN116764203A (zh) | 一种虚拟场景的渲染方法、装置、设备及存储介质 | |
CN111402369A (zh) | 互动广告的处理方法、装置、终端设备及存储介质 | |
CN113192173B (zh) | 三维场景的图像处理方法、装置及电子设备 | |
CN114943795A (zh) | 模型的渲染方法、装置、电子设备及存储介质 | |
Lehn et al. | Introduction to Computer Graphics: Using OpenGL and Java | |
CN113181642B (zh) | 一种具有混合材质的墙体模型的生成方法及装置 | |
CN111857665B (zh) | 一种3d引擎设计方法和装置 | |
CN115457189B (zh) | 一种基于团着色的pbd骨骼驱动软体仿真系统及方法 | |
US20240111496A1 (en) | Method for running instance, computer device, and storage medium | |
CN117437346A (zh) | 图像处理方法、装置、电子设备、存储介质及程序产品 | |
CN117036562A (zh) | 一种三维显示方法和相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40095365 Country of ref document: HK |