CN113936098A - 体积云交互时的渲染方法、设备及存储介质 - Google Patents
体积云交互时的渲染方法、设备及存储介质 Download PDFInfo
- Publication number
- CN113936098A CN113936098A CN202111165925.8A CN202111165925A CN113936098A CN 113936098 A CN113936098 A CN 113936098A CN 202111165925 A CN202111165925 A CN 202111165925A CN 113936098 A CN113936098 A CN 113936098A
- Authority
- CN
- China
- Prior art keywords
- volume cloud
- cloud
- target scene
- point
- distance field
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- 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/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例提供一种体积云交互时的渲染方法、设备及存储介质。其中,在渲染体积云时,基于目标场景中的点与体积云的距离场进行光线步进。在目标场景中的虚拟对象与体积云的进行交互时,根据虚拟对象在体积云上的运动轨迹,对体积云的表面附近与运动轨迹对应的目标点到体积云表面的最小距离进行更新,得到更新后的距离场信息。从而,在进行光线步进时,可利用目标场景的更新后的距离场信息确定合适的步进长度。在这种实施方式中,一方面,可基于距离场信息对光线步进操作进行加速,另一方面,可灵活地根据体积云的交互动作动态更新距离场信息,有利于在降低性能消耗的同时渲染出更加灵动、真实的体积云。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种体积云交互时的渲染方法、设备及存储介质。
背景技术
体积云(Volumetric Cloud)又可称为容积云或者体积雾,在渲染虚拟场景(例如游戏场景)时,通常使用图像引擎来模拟真实云雾半透明、无规则的表现效果。
但是现有的渲染体积云的方式,通常无法灵活地渲染出的体积云与场景中的其他虚拟物体的交互效果。因此,有待提出一种解决方案。
发明内容
本申请的多个方面提供一种体积云交互时的渲染方法、设备及存储介质,用以灵活地渲染出的体积云与场景中的其他虚拟物体的交互效果。
本申请实施例提供一种体积云交互时的渲染方法,包括:获取待渲染的目标场景的距离场信息;所述距离场信息包括所述目标场景中的点到体积云的表面的最小距离;响应所述目标场景中的虚拟对象与所述体积云的交互操作,获取所述虚拟对象在所述体积云上的运动轨迹;根据所述运动轨迹中的点的坐标,对所述体积云的表面附近与所述运动轨迹对应的目标点到所述体积云表面的最小距离进行更新,得到更新后的距离场信息;从所述目标场景中的虚拟摄像机所在的位置向屏幕上的多个像素点分别发射一条射线;根据所述更新后的距离场信息,控制所述多个像素点对应的多条射线分别沿视线方向进行步进,直至所述多条射线分别到达所述体积云的表面;根据所述多条射线的长度,确定所述体积云在所述目标场景所在的三维空间中的形状;根据所述体积云在所述三维空间中的形状,对所述体积云进行渲染。
进一步可选地,获取待渲染的目标场景的距离场信息,包括:获取所述目标场景的3D距离场贴图;所述3D距离场贴图中的任一贴图单元保存有所述贴图单元对应的点到所述体积云的表面的最小距离;从所述3D距离场贴图中,读取所述目标场景中的点到所述体积云的表面的最小距离,得到所述目标场景中的点的距离场信息。
进一步可选地,获取所述虚拟对象在所述体积云上的运动轨迹,包括:根据所述虚拟对象在所述体积云上的运动轨迹,生成实时轨迹贴图;其中,所述实时轨迹贴图中,与非轨迹点对应的贴图单元中的值为零,与轨迹点对应的贴图单元中的值在设定时长范围内持续不为零。
进一步可选地,根据所述运动轨迹中的点的坐标,对所述体积云的表面附近与所述运动轨迹对应的目标点到所述体积云表面的最小距离进行更新,得到更新后的距离场信息,包括:根据设定叠加系数以及所述实时轨迹贴图中的点在所述目标空间中的坐标,将所述目标场景的3D距离场贴图与所述实时轨迹贴图进行叠加,得到更新的3D距离场贴图;其中,所述设定叠加系数与体积云交互时的形变程度关联。
进一步可选地,获取待渲染的目标场景的距离场信息之前,还包括:获取所述体积云的形状模型以及所述体积云在所述目标场景中的位置;根据所述体积云的形状模型以及所述体积云在所述目标场景中的位置,计算目标场景中的任意一点到所述体积云的表面的最小距离,得到所述目标场景的距离场信息。
进一步可选地,根据所述更新后的距离场信息,控制所述多个像素点对应的多条射线分别沿视线方向进行步进,直至所述多条射线分别到达所述体积云的表面,包括:针对所述多条射线中的任意一条射线,根据所述虚拟摄像机所在的点到所述体积云的表面的最小距离,沿所述射线对应的视线方向进行光线步进,到达步进点;根据所述步进点到所述体积云表面的最小距离,判断所述步进点是否位于所述体积云的表面上;若所述步进点位于所述体积云的表面上,则停止所述射线的步进操作,并根据所述虚拟摄像机到所述步进点的距离,确定所述虚拟摄像机在所述射线对应的视线方向上与所述体积云的表面的距离。
进一步可选地,还包括:若所述步进点未在所述体积云的表面上,则根据所述步进点到所述体积云的表面的最小距离,沿所述射线对应的视线方向继续进行光线步进,直至所述射线到达的新的步进点位于所述体积云的表面上。
进一步可选地,根据所述更新后的距离场信息,控制所述多个像素点对应的多条射线分别沿视线方向进行步进,直至所述多条射线分别到达所述体积云的表面,包括:获取所述目标场景的3D噪声贴图;对所述目标场景的距离场信息以及所述目标场景的3D噪声贴图进行叠加,得到所述目标场景的侵蚀后的距离场信息;根据所述侵蚀后的距离场信息,控制所述多个像素点对应的多条射线分别沿视线方向进行步进,直至所述多条射线分别到达所述体积云的表面。
进一步可选地,根据所述多条射线的长度,确定所述体积云在所述目标场景所在的三维空间中的形状,包括:根据所述多条射线的长度以及所述多条射线各自的视线方向对应的夹角,计算所述屏幕上的多个像素点到所述体积云的表面的深度值;根据所述屏幕上的多个像素点到所述体积云的表面的深度值,确定所述体积云在所述三维空间中的形状。
本申请实施例还提供一种电子设备,包括:存储器以及处理器;所述存储器用于存储一条或多条计算机指令;所述处理器用于执行所述一条或多条计算机指令以用于:执行本申请实施例提供的体积云交互时的渲染方法中的步骤。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现本申请实施例提供的方法中的步骤。
本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,当计算机程序被处理器执行时,致使处理器实现本申请实施例提供的方法中的步骤。
本申请实施例提供的体积云交互时的渲染方法中,基于目标场景中的点与体积云的距离场进行光线步进。在目标场景中的虚拟对象与体积云的进行交互时,根据虚拟对象在体积云上的运动轨迹,对体积云的表面附近与运动轨迹对应的目标点到体积云表面的最小距离进行更新,得到更新后的距离场信息。从而,在进行光线步进时,可利用目标场景的更新后的距离场信息确定合适的步进长度。在这种实施方式中,一方面,可基于距离场信息对光线步进操作进行加速,另一方面,可灵活地根据体积云的交互动作动态更新距离场信息,有利于在降低性能消耗的同时渲染出更加灵动、真实的体积云。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的体积云交互时的渲染方法的流程示意图;
图2为本申请一示例性实施例提供的3D距离场贴图与实时轨迹贴图的叠加效果示意图;
图3a为本申请一示例性实施例提供的虚拟摄像机向屏幕上的多个像素点发射射线的示意图;
图3b为本申请一示例性实施例提供的基于距离场的光线步进的示意图;
图4为本申请一示例性实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
体积云(Volumetric Cloud)又可称为容积云或者体积雾,在渲染虚拟场景(例如游戏场景)时,通常使用图像引擎来模拟真实云雾半透明、无规则的表现效果。
现有的渲染体积云的方式,通常无法灵活地渲染出的体积云与场景中的其他虚拟物体的交互效果。针对上述技术问题,在本申请一些实施例中,提供了一种解决方案,以下将结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一示例性实施例提供的体积云交互时的渲染方法的流程示意图,如图1所示,该方法包括:
步骤101、获取待渲染的目标场景的距离场信息;所述距离场信息包括所述目标场景中的点到体积云的表面的最小距离。
步骤102、响应所述目标场景中的虚拟对象与所述体积云的交互操作,获取所述虚拟对象在所述体积云上的运动轨迹。
步骤103、根据所述运动轨迹中的点的坐标,对所述体积云的表面附近与所述运动轨迹对应的目标点到所述体积云表面的最小距离进行更新,得到更新后的距离场信息。
步骤104、从所述目标场景中的虚拟摄像机所在的位置向屏幕上的多个像素点分别发射一条射线。
步骤105、根据所述更新后的距离场信息,控制所述多个像素点对应的多条射线分别沿视线方向进行步进,直至所述多条射线分别到达所述体积云的表面。
步骤106、根据所述多条射线的长度,确定所述体积云在所述目标场景所在的三维空间中的形状。
步骤107、根据所述体积云在所述三维空间中的形状,对所述体积云进行渲染。
本实施例可由电子设备实现,该电子设备可以是智能手机、平板电脑、计算机等终端设备,也可以是服务器设备,本实施例不做限制。其中,电子设备上可运行有可执行虚拟场景的渲染操作的渲染引擎。
其中,目标场景,可包括场景建模得到的任意的虚拟3D(3-dimensional,3维)场景,可以是游戏场景(例如大地图场景),或者可以动画场景等等,本实施例不做限制。目标场景中,包含体积云。
其中,距离场(Signed Distance Field),是一种计算距离的函数,输入一点的位置,基于距离场函数可输出该点到场景中的任意物体表面的最小距离。当该点位于物体内部时,距离场输出的值为负数;当该点位于物体外部时,距离场输出的值为正数;当该点位于物体表面时,该距离场输出的值为0。
在本实施例中,目标场景中的点的距离场信息,根据目标场景中的点与体积云的相对位置关系计算得到的。该距离场信息,包含了目标场景中的任意一点到目标场景中的体积云的表面的最小距离。即,目标场景的距离场信息,包括目标场景中的多个点各自的距离场信息。目标场景中的点,指的是对目标场景对应的三维空间进行采样得到的采样点。
在对目标场景进行逐帧渲染时,可在渲染每一帧时,检测目标场景中是否有虚拟对象与体积云进行交互。该虚拟对象可以是目标场景中的虚拟角色、虚拟道具或者其他虚拟物体。
真实场景中的体积云具有一定形状且具有柔软的特性,且可在外力的作用下发生一定形变。为渲染出真实性更高的体积云,可在体积云与虚拟对象进行交互时,渲染出体积云在虚拟对象的交互操作(例如碰撞、踩踏)下产生形变的效果。其中,体积云上发生形变的位置,与虚拟对象在体积云上的运动轨迹对应。
在本实施例中,渲染每一帧时,响应目标场景中的虚拟对象与体积云的交互操作,可获取虚拟对象在体积云上的运动轨迹。其中,虚拟对象在体积云上的运动轨迹,可采用虚拟对象运动过程中到达的轨迹点(即虚拟对象在不同时刻的位置信息)在目标场景中的坐标来表示。
其中,在每一时刻,可获取虚拟对象当前的位置信息,并通过记录当前位置并混合历史位置信息,可得到虚拟对象运动轨迹。其中,被记录轨迹的长度范围,可根据参数设定调整。针对不同类型的虚拟对象,可记录不同的运动轨迹。当虚拟对象的运动速度不同时,也可记录不同的运动轨迹,不再赘述。
当体积云发生形变时,可认为体积云的局部表面(即与运动轨迹对应的局部表面)的位置发生了变化。按照距离场的定义可知,当体积云的局部表面的位置发生变化时,目标场景中的部分点到体积云表面的最小距离将发生变化。这部分点通常是体积云的表面附近与该运动轨迹对应的目标点。其中,体积云表面附近的点指的是体积云的表面设定范围坐标围内的点。
基于此,在本实施例中,可根据该运动轨迹中的点的坐标,对体积云的表面附近与该运动轨迹对应的目标点到体积云表面的最小距离进行更新,得到更新后的距离场信息。
通常,对柔性的体积云而言,当受到外力作用时,体积云会向内形变,即产生被挤压、塌陷的效果。从而,目标场景中的部分点与体积云的表面的最小距离将增大。因此,在本实施例中,对体积云的表面附近与该运动轨迹对应的目标点到体积云表面的最小距离进行更新时,可对目标点到体积云表面的最小距离进行增加。可选地,该增加的幅度可根据虚拟对象的类型确定。若虚拟对象的重力较大,则可设置较大的增加幅度,反之,可设置较小的增加幅度,本实施例不做限制。
在每一帧的渲染过程中,若目标场景的距离场信息因虚拟对象的交互产生了更新,则可根据该更新后的距离场信息,对该帧进行渲染。
在体积云的渲染过程中,可采用(Sphere marching,球体步进)算法,以距离场信息为步长进行光线步进。首先,可从目标场景中的虚拟摄像机所在的位置向屏幕上的多个像素点分别发射一条射线,该射线用于模拟像素点对应的光线(视线)。其中,不同像素点对应的射线的角度不同,即不同像素点的视线方向不同,如图3a所示的射线L1、L2以及L3。
在执行Sphere marching算法时,可根据目标场景中的点的距离场信息,控制该多个像素点对应的多条射线分别沿视线方向进行步进,直至该多条射线分别到达体积云的表面。其中,每次步进的距离,可视为球体的半径,步进的过程可视为基于半径沿视线方向绘制球体的过程。
虚拟摄像机位于目标场景中,虚拟摄像机所在的位置(即视点)到体积云的表面的最小距离,可从目标场景中的点的距离场信息中获取。在首次进行相机射线步进时,根据虚拟相机所在的点到体积云的表面的最小距离进行第一次步进。其中,每一次步进操作在目标空间中到达的点,可称为一个步进点。每到达一个步进点,可从目标场景的距离场信息中读取该步进点到体积云的表面的最小距离,并根据该距离判断射线是否步进到体积云的表面。若射线步进到体积云的表面,则停止步进。若射线未步进到体积云的表面,则根据步进点到体积云的表面的最小距离继续步进,直至射线步进到体积云的表面。
由于距离场信息表达的是目标场景中的点到体积云的表面的最小距离,因此,在根据距离场信息进行光线步进时,即使体积云的为不规则的物体,也可确保光线不会进入体积云的内部,并会最终到达体积云的表面。同时,根据距离场信息进行光线步进,无需通过大量计算即可快速确定合适的步进长度,从而加速光线步进至体积云的表面的速度。
在多个像素点对应的多条射线分别步进到体积云的表面时,可根据多条射线各自的长度,确定体积云在目标场景所在的三维空间中的形状。基于该体积云在三维空间中的形状,可对该体积云进行渲染。
在本实施例中,在渲染体积云时,基于目标场景中的点与体积云的距离场进行光线步进。在目标场景中的虚拟对象与体积云的进行交互时,根据虚拟对象在体积云上的运动轨迹,对体积云的表面附近与运动轨迹对应的目标点到体积云表面的最小距离进行更新,得到更新后的距离场信息。从而,在进行光线步进时,可利用目标场景的更新后的距离场信息确定合适的步进长度。在这种实施方式中,一方面,可基于距离场信息对光线步进操作进行加速,另一方面,可灵活地根据体积云的交互动作动态更新距离场信息,有利于在降低性能消耗的同时渲染出更加灵动、真实的体积云。
在一些可选的实施例中,获取待渲染的目标场景的距离场信息之前,可预先计算目标场景的距离场信息。可选地,可获取体积云的形状模型以及体积云在目标场景中的位置,并根据体积云的形状模型以及体积云在目标场景中的位置,计算目标场景中的任意一点到体积云的表面的最小距离,得到目标场景的距离场信息。其中,计算任意一点到体积云的表面的最小距离时,可基于距离场函数进行计算。计算得到的距离场信息,可存储到目标场景的资源文件中。其中,距离场信息可采用数组结构进行存储,或者采用键值存储方式进行存储,本实施例不做限制。
在一些可选的实施例中,目标场景的距离场信息,可通过目标场景的3D距离场贴图进行存储。其中,3D距离场贴图中的任一贴图单元保存有该贴图单元对应的点到体积云的表面的最小距离。3D距离场贴图中,贴图单元的坐标与目标场景中的点的坐标一一对应,每一贴图单元,对应于目标场景中的一个点。基于此,获取待渲染的目标场景的距离场信息时,渲染引擎可获取目标场景的3D距离场贴图,从该3D距离场贴图中,读取目标场景中的点到体积云的表面的最小距离,得到目标场景中的点的距离场信息。
例如,确定虚拟摄像机的视点后,可根据该视点在目标场景中的位置,从3D距离场贴图中,确定该视点对应的贴图单元,并从该贴图单元存储的信息中,读取该视点到体积云的表面的最小距离。又例如,光线步进到某一步进点时,可根据该步进点在目标场景中的位置,从3D距离场贴图中,确定该步进点对应的贴图单元,并从该贴图单元存储的信息中,读取该步进点到体积云的表面的最小距离。
在一些可选的实施例中,在目标场景中的虚拟对象与体积云进行交互时,获取虚拟对象在体积云上的运动轨迹的方式可包括:实时记录虚拟对象移动到达的轨迹点在目标场景中的坐标。基于这种实施方式,在对体积云的表面附近与运动轨迹对应的目标点到体积云表面的最小距离进行更新时,可按照轨迹点的坐标,在目标场景中确定坐标相同或者在相同坐标范围内的目标点,并对目标点到体积云表面的最小距离进行更新。
在一些可选的实施例中,在目标场景中的虚拟对象与体积云进行交互时,获取虚拟对象在体积云上的运动轨迹的方式可包括:根据虚拟对象在体积云上的运动轨迹,生成实时轨迹贴图。该实时轨迹贴图可实现为渲染纹理(RenderTexture,RT),即一种在运行时创建和更新的特殊类型纹理。
当目标场景的距离场信息采用3D距离场贴图进行存储时,根据运动轨迹中的点的坐标,对体积云的表面附近与运动轨迹对应的目标点到体积云表面的最小距离进行更新时:可根据设定叠加系数以及实时轨迹贴图中的点在目标空间中的坐标,将目标场景的3D距离场贴图与实时轨迹贴图进行叠加,得到更新的3D距离场贴图,如图2所示。
其中,该设定叠加系数与体积云交互时的形变程度关联,用于表达交互操作对体积云的表面产生的压力大小。该设定叠加系数越大,则目标点到体积云表面的最小距离的增幅也越大。其中,虚拟对象的实现形态不同时,可设置不同的叠加系数,本实施例不做限制。
如图2所示,实时轨迹贴图中,与非轨迹点对应的贴图单元中的值为零(黑色),与轨迹点对应的贴图单元中的值在设定时长范围内持续不为零(白色)。
在目标场景的3D距离场贴图与实时轨迹贴图进行叠加时,非轨迹点对应的贴图单元中的值为零,可避免对目标场景中与非轨迹点对应的目标点的距离场信息产生影响。
目标场景的3D距离场贴图与实时轨迹贴图进行叠加时,与轨迹点对应的贴图单元中的值不为零,可对目标场景中与轨迹点对应的目标点的距离场信息进行更新。
其中,与轨迹点对应的贴图单元中的值在设定时长范围内不为零,可在设定时长范围内保持对目标场景中的目标点的距离场信息进行更新的状态。进而,在光线步进时,距离场信息保持更新状态的目标点的射线的长度会在设定时长内保持增加,从而可渲染出体积云上与运动轨迹对应的局部表面可在设定时长内保持形变的效果。当设定时长结束后,目标点的距离场信息将恢复到更新之前,体积云上发生形变的局部表面将恢复到形变之前的状态,从而形成体积云在遭遇交互后发生形变并在设定时长后“回弹”至初始形态的效果。
在一些可选的实施例中,还可对3D距离场贴图进行扰动计算,以实现体积云的上下浮动效果。该扰动计算可以采用正弦函数(sin)或者余弦函数(cos)对距离场信息进行更新,从而影响光线步进距离,最终实现体积云在目标场景中的浮动效果。
可选地,当体积云受到目标场景中的风场的扰动时,可确定风场的扰动贴图。该扰动贴图中的贴图单元中的值,用于表示在风场的影响下对目标场景中对应位置的点的距离场进行增加或者减小的幅度值。该风场的扰动贴图中的值,可通过对正弦曲面或者余弦曲面采样得到。按照设定的叠加系数将目标场景的3D距离场贴图与风场的扰动贴图进行叠加,即可得到受风场扰动后的3D距离场贴图。基于该3D距离场贴图进行光线步进,可渲染得到体积云受风场扰动后在目标空间中产生浮动的效果。
其中,针对一次风场的扰动,可生成多张风场的扰动贴图,多张扰动贴图中的值可以不同。相邻帧的渲染过程中,可在3D距离场贴图上叠加不同的扰动贴图,即不同帧中的体积云具有不同的浮动方向,进而,通过连续帧可展示出体积云的动态扰动效果。
其中,按照设定的叠加系数将3D距离场贴图与风场的扰动贴图进行叠加时,可根据风场的扰动速度,设置叠加系数的值。若风场的扰动速度越大,可设置越大的叠加系数。
可选地,当体积云受到目标场景中的其他物体(例如飞机、飞鸟)的飞行产生的气流的扰动时,可确定气流的扰动贴图。该扰动贴图中的贴图单元中的值,用于表示在气流的影响下对目标场景中对应位置的点的距离场进行增加或者减小的幅度值。该气流的扰动贴图中的值,可通过对正弦曲面或者余弦曲面进行采样得到。按照设定的叠加系数将目标场景的3D距离场贴图与气流的扰动贴图进行叠加,即可得到气流扰动后的3D距离场贴图。基于该3D距离场贴图进行光线步进,可渲染得到体积云受气流扰动后在目标空间中产生浮动的效果。其中,针对一次气流的扰动,可生成多张气流的扰动贴图,多张扰动贴图中的值可以不同。相邻帧的渲染过程中,可在3D距离场贴图上叠加不同的扰动贴图,即不同帧中的体积云具有不同的浮动方向,进而,通过连续帧可展示出体积云的动态扰动效果。
其中,按照设定的叠加系数将3D距离场贴图与气流的扰动贴图进行叠加时,可根据气流的扰动速度,设置叠加系数的值。若气流的扰动速度越大,可设置越大的叠加系数。
在上述各实施例中,对3D距离场贴图进行扰动时,还可根据扰动力度设置扰动时长。例如,当气流对体积云进行冲击后,可在设定时长内的连续多帧渲染过程中,在3D距离场贴图上持续叠加气流的扰动贴图,以呈现体积云受到气流冲击后浮动一段时间的效果。
以下将以任意一个像素点对应的射线为例,示例性地介绍根据距离场信息进行光线步进的实施方式。
可选地,针对多条射线中的任意一条射线,首先可根据虚拟摄像机所在的点(即视点)在目标场景中的位置,从目标场景的距离场信息中,确定虚拟摄像机到体积云的表面的最小距离。接下来,根据虚拟摄像机所在的点到体积云的表面的最小距离,沿该射线对应的视线方向进行光线步进,到达步进点。其中,该射线对应的视线方向,可视为虚拟摄像机与该射线对应的像素点的连线方向,如图3a所示。
到达步进点后,可根据步进点在目标场景中的位置,从目标场景的距离场信息中,确定步进点到体积云的表面的最小距离。基于步进点到体积云表面的最小距离,可判断该步进点是否位于体积云的表面上。基于距离场的定义可知,若步进点到体积云表面的最小距离大于0,则步进点位于体积云之外,并未到达体积云的表面上。若步进点到体积云的表面的最小距离等于0,则步进点位于体积云的表面上。若步进点到体积云的表面的最小距离小于0,则步进点位于体积云的内部(本方案并不会出现如此情形)。
因此,基于步进点到体积云表面的最小距离,可判断该步进点是否位于体积云的表面上时,可判断该最小距离是否大于0,若大于0,则确定还未步进到体积云的表面上,若等于0,则确定已步进到体积云的表面上。
若步进点位于所述体积云的表面上,则可停止该射线的步进操作,并根据虚拟摄像机到步进点的距离,确定虚拟摄像机在该射线对应的视线方向上与所述体积云的表面的距离。
可选地,若该步进点未在体积云的表面上,则可根据该步进点到体积云的表面的最小距离,沿射线对应的视线方向继续进行光线步进,直至射线到达的新的步进点位于体积云的表面上。其中,在射线每到达一个步进点时,可根据该步进点对应的距离场信息,判断到达体积云的表面,从而判断是否需要继续步进。
例如,在一些实施例中,如图3b所示,第一次步进时,可根据摄像机与体积云的表面的最小距离进行步进,射线到达第一步进点A;第一步进点A与体积云的表面的距离大于0,此时,可根据第一步进点A与体积云的表面的最小距离进行第二次步进,射线到达第二步进点B;第二步进点B与体积云的表面的距离大于0,此时,可根据第二步进点B与体积云的表面的最小距离进行第三次步进,射线到达第三步进点C;第三步进点C与体积云的表面的距离大于0,此时,可根据第三步进点C与体积云的表面的最小距离进行第四次步进,射线到达第四步进点D;第四步进点D与体积云的表面的距离大于0,此时,可根据第四步进点D与体积云的表面的最小距离进行第五次步进,射线到达第五步进点E;第四步进点E与体积云的表面的距离等于0,此时,可确定光线步进至体积云的表面上。
如图3b所示,在每次步进时,以视点的距离场或者步进点的距离场作为步进距离,相当于以视点或者步进点为球心,绘制以距离场为半径的圆球。该绘制得到的圆球与体积云相切,并与射线产生新的交点。若该新的交点位于体积云的表面上,则不再继续步进。若该新的交点位于体积云外,则继续以该新的交点为球心,绘制以该新的交点的距离场为半径的圆球,直至下一个交点位于体积云的表面上。
在这种实施方式中,光线每次步进时采用的步进长度,可使得绘制出的圆与体积云相切,可确保光线不会进入体积云的内部,且每次步进均可获取一个合适的步进长度,从而可加速步进的计算过程。
在一些可选的实施例中,为进一步丰富体积云表面的细节,可使用噪声对距离场表示的体积云的表面进行侵蚀,并采用侵蚀结果作为Sphere Marching时的距离场采样采样结果。以下将进行示例性说明。
可选地,根据目标场景的距离场信息,控制多个像素点对应的多条射线分别沿视线方向进行步进时,可获取目标场景的3D噪声贴图,并对目标场景的距离场信息以及目标场景的3D噪声贴图进行叠加,得到目标场景的侵蚀后的距离场信息。接下来,可根据侵蚀后的距离场信息,控制多个像素点对应的多条射线分别沿视线方向进行步进,直至多条射线分别到达体积云的表面。
也就是说,每条射线的步进长度,是从目标场景的侵蚀后的距离场信息中获取的。当距离场信息采用3D距离场贴图进行表示时,侵蚀后的距离场贴图=距离场贴图+设定系数*3D噪声贴图。其中,设定系数可以根据需求进行设置,本实施例不做限制。基于这种实施方式,可通过设置3D噪声贴图,设计体积云的细节信息,从而渲染得到真实性更高的体积云。
通过上述实施例提供的基于距离场以及光线步进的方法,可计算得到虚拟摄像机在每条射线对应的视线方向上与体积云的表面的距离。接下来,可对上述多条射线进行空间转换,得到体积云在目标场景所在的三维空间(即世界空间)中的形状。
可选地,可根据该多条射线的长度以及该多条射线各自的视线方向对应的夹角,计算屏幕上的多个像素点到体积云的表面的深度值;根据该屏幕上的多个像素点到体积云的表面的深度值,确定体积云在该三维空间中的形状。
以图3b中的一条射线L0为例。L0对应的射线步进到点E时,到达体积云的表面,L0的长度D(L0)=OE。其中O表示虚拟摄像机的视点,射线L0对应的视线方向相对于垂直方向的夹角为α,像素点P到体积云表面的深度D(PE)=D(L0)*sinα。
基于上述方法,可逐像素计算体积云表面的三维空间位置和深度信息,从而确定体积云在三维空间中的形状,并根据体积云在三维空间中的形状进行渲染展示。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101至步骤103的执行主体可以为设备A;又比如,步骤101和102的执行主体可以为设备A,步骤103的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图4是本申请一示例性实施例提供的电子设备的结构示意图,该电子设备可用于执行前述各实施例记载的体积云交互时的渲染方法。如图4所示,该电子设备包括:存储器401以及处理器402。
存储器401,用于存储计算机程序,并可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,第一资源等。
其中,存储器401可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器402,与存储器401耦合,用于执行存储器401中的计算机程序,以用于:获取待渲染的目标场景的距离场信息;所述距离场信息包括所述目标场景中的点到体积云的表面的最小距离;响应所述目标场景中的虚拟对象与所述体积云的交互操作,获取所述虚拟对象在所述体积云上的运动轨迹;根据所述运动轨迹中的点的坐标,对所述体积云的表面附近与所述运动轨迹对应的目标点到所述体积云表面的最小距离进行更新,得到更新后的距离场信息;从所述目标场景中的虚拟摄像机所在的位置向屏幕上的多个像素点分别发射一条射线;根据所述更新后的距离场信息,控制所述多个像素点对应的多条射线分别沿视线方向进行步进,直至所述多条射线分别到达所述体积云的表面;根据所述多条射线的长度,确定所述体积云在所述目标场景所在的三维空间中的形状;根据所述体积云在所述三维空间中的形状,对所述体积云进行渲染。
进一步可选地,处理器402在获取待渲染的目标场景的距离场信息时,具体用于:获取所述目标场景的3D距离场贴图;所述3D距离场贴图中的任一贴图单元保存有所述贴图单元对应的点到所述体积云的表面的最小距离;从所述3D距离场贴图中,读取所述目标场景中的点到所述体积云的表面的最小距离,得到所述目标场景中的点的距离场信息。
进一步可选地,处理器402在获取所述虚拟对象在所述体积云上的运动轨迹时,具体用于:根据所述虚拟对象在所述体积云上的运动轨迹,生成实时轨迹贴图;其中,所述实时轨迹贴图中,与非轨迹点对应的贴图单元中的值为零,与轨迹点对应的贴图单元中的值在设定时长范围内持续不为零。
进一步可选地,处理器402在根据所述运动轨迹中的点的坐标,对所述体积云的表面附近与所述运动轨迹对应的目标点到所述体积云表面的最小距离进行更新,得到更新后的距离场信息时,具体用于:根据设定叠加系数以及所述实时轨迹贴图中的点在所述目标空间中的坐标,将所述目标场景的3D距离场贴图与所述实时轨迹贴图进行叠加,得到更新的3D距离场贴图;其中,所述设定叠加系数与体积云交互时的形变程度关联。
进一步可选地,处理器402在获取待渲染的目标场景的距离场信息之前,还用于:获取所述体积云的形状模型以及所述体积云在所述目标场景中的位置;根据所述体积云的形状模型以及所述体积云在所述目标场景中的位置,计算目标场景中的任意一点到所述体积云的表面的最小距离,得到所述目标场景的距离场信息。
进一步可选地,处理器402在根据所述更新后的距离场信息,控制所述多个像素点对应的多条射线分别沿视线方向进行步进,直至所述多条射线分别到达所述体积云的表面时,具体用于:针对所述多条射线中的任意一条射线,根据所述虚拟摄像机所在的点到所述体积云的表面的最小距离,沿所述射线对应的视线方向进行光线步进,到达步进点;根据所述步进点到所述体积云表面的最小距离,判断所述步进点是否位于所述体积云的表面上;若所述步进点位于所述体积云的表面上,则停止所述射线的步进操作,并根据所述虚拟摄像机到所述步进点的距离,确定所述虚拟摄像机在所述射线对应的视线方向上与所述体积云的表面的距离。
进一步可选地,处理器402还用于:若所述步进点未在所述体积云的表面上,则根据所述步进点到所述体积云的表面的最小距离,沿所述射线对应的视线方向继续进行光线步进,直至所述射线到达的新的步进点位于所述体积云的表面上。
进一步可选地,处理器402在根据所述更新后的距离场信息,控制所述多个像素点对应的多条射线分别沿视线方向进行步进,直至所述多条射线分别到达所述体积云的表面时,具体用于:获取所述目标场景的3D噪声贴图;对所述目标场景的距离场信息以及所述目标场景的3D噪声贴图进行叠加,得到所述目标场景的侵蚀后的距离场信息;根据所述侵蚀后的距离场信息,控制所述多个像素点对应的多条射线分别沿视线方向进行步进,直至所述多条射线分别到达所述体积云的表面。
进一步可选地,处理器402在根据所述多条射线的长度,确定所述体积云在所述目标场景所在的三维空间中的形状时,具体用于:根据所述多条射线的长度以及所述多条射线各自的视线方向对应的夹角,计算所述屏幕上的多个像素点到所述体积云的表面的深度值;根据所述屏幕上的多个像素点到所述体积云的表面的深度值,确定所述体积云在所述三维空间中的形状。
进一步,如图4所示,该电子设备还包括:显示组件403、通信组件404、电源组件405、音频组件406等其它组件。图4中仅示意性给出部分组件,并不意味着电子设备只包括图4所示组件。
其中,显示组件403包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
其中,通信组件404被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G或5G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术和其他技术来实现。
其中,电源组件405,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
其中,音频组件406,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本实施例中,在目标场景中的虚拟对象与体积云的进行交互时,根据虚拟对象在体积云上的运动轨迹,对体积云的表面附近与运动轨迹对应的目标点到体积云表面的最小距离进行更新,得到更新后的距离场信息。从而,在进行光线步进时,可利用目标场景的更新后的距离场信息确定合适的步进长度。在这种实施方式中,一方面,可基于距离场信息对光线步进操作进行加速,另一方面,可灵活地根据体积云的交互动作动态更新距离场信息,有利于在降低性能消耗的同时渲染出更加灵动、真实的体积云。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。
相应地,本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,当计算机程序被处理器执行时,致使处理器实现上述方法实施例中可由电子设备执行的各步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种体积云交互时的渲染方法,其特征在于,包括:
获取待渲染的目标场景的距离场信息;所述距离场信息包括所述目标场景中的点到体积云的表面的最小距离;
响应所述目标场景中的虚拟对象与所述体积云的交互操作,获取所述虚拟对象在所述体积云上的运动轨迹;
根据所述运动轨迹中的点的坐标,对所述体积云的表面附近与所述运动轨迹对应的目标点到所述体积云表面的最小距离进行更新,得到更新后的距离场信息;
从所述目标场景中的虚拟摄像机所在的位置向屏幕上的多个像素点分别发射一条射线;
根据所述更新后的距离场信息,控制所述多个像素点对应的多条射线分别沿视线方向进行步进,直至所述多条射线分别到达所述体积云的表面;
根据所述多条射线的长度,确定所述体积云在所述目标场景所在的三维空间中的形状;
根据所述体积云在所述三维空间中的形状,对所述体积云进行渲染。
2.根据权利要求1所述的方法,其特征在于,获取待渲染的目标场景的距离场信息,包括:
获取所述目标场景的3D距离场贴图;所述3D距离场贴图中的任一贴图单元保存有所述贴图单元对应的点到所述体积云的表面的最小距离;
从所述3D距离场贴图中,读取所述目标场景中的点到所述体积云的表面的最小距离,得到所述目标场景中的点的距离场信息。
3.根据权利要求2所述的方法,其特征在于,获取所述虚拟对象在所述体积云上的运动轨迹,包括:
根据所述虚拟对象在所述体积云上的运动轨迹,生成实时轨迹贴图;
其中,所述实时轨迹贴图中,与非轨迹点对应的贴图单元中的值为零,与轨迹点对应的贴图单元中的值在设定时长范围内持续不为零。
4.根据权利要求3所述的方法,其特征在于,根据所述运动轨迹中的点的坐标,对所述体积云的表面附近与所述运动轨迹对应的目标点到所述体积云表面的最小距离进行更新,得到更新后的距离场信息,包括:
根据设定叠加系数以及所述实时轨迹贴图中的点在所述目标空间中的坐标,将所述目标场景的3D距离场贴图与所述实时轨迹贴图进行叠加,得到更新的3D距离场贴图;
其中,所述设定叠加系数与体积云交互时的形变程度关联。
5.根据权利要求1所述的方法,其特征在于,获取待渲染的目标场景的距离场信息之前,还包括:
获取所述体积云的形状模型以及所述体积云在所述目标场景中的位置;
根据所述体积云的形状模型以及所述体积云在所述目标场景中的位置,计算目标场景中的任意一点到所述体积云的表面的最小距离,得到所述目标场景的距离场信息。
6.根据权利要求1所述的方法,其特征在于,根据所述更新后的距离场信息,控制所述多个像素点对应的多条射线分别沿视线方向进行步进,直至所述多条射线分别到达所述体积云的表面,包括:
针对所述多条射线中的任意一条射线,根据所述虚拟摄像机所在的点到所述体积云的表面的最小距离,沿所述射线对应的视线方向进行光线步进,到达步进点;
根据所述步进点到所述体积云表面的最小距离,判断所述步进点是否位于所述体积云的表面上;
若所述步进点位于所述体积云的表面上,则停止所述射线的步进操作,并根据所述虚拟摄像机到所述步进点的距离,确定所述虚拟摄像机在所述射线对应的视线方向上与所述体积云的表面的距离。
7.根据权利要求6所述的方法,其特征在于,还包括:
若所述步进点未在所述体积云的表面上,则根据所述步进点到所述体积云的表面的最小距离,沿所述射线对应的视线方向继续进行光线步进,直至所述射线到达的新的步进点位于所述体积云的表面上。
8.根据权利要求1所述的方法,其特征在于,根据所述更新后的距离场信息,控制所述多个像素点对应的多条射线分别沿视线方向进行步进,直至所述多条射线分别到达所述体积云的表面,包括:
获取所述目标场景的3D噪声贴图;
对所述目标场景的距离场信息以及所述目标场景的3D噪声贴图进行叠加,得到所述目标场景的侵蚀后的距离场信息;
根据所述侵蚀后的距离场信息,控制所述多个像素点对应的多条射线分别沿视线方向进行步进,直至所述多条射线分别到达所述体积云的表面。
9.根据权利要求1-8任一项所述的方法,其特征在于,根据所述多条射线的长度,确定所述体积云在所述目标场景所在的三维空间中的形状,包括:
根据所述多条射线的长度以及所述多条射线各自的视线方向对应的夹角,计算所述屏幕上的多个像素点到所述体积云的表面的深度值;
根据所述屏幕上的多个像素点到所述体积云的表面的深度值,确定所述体积云在所述三维空间中的形状。
10.一种电子设备,其特征在于,包括:存储器、中央处理器以及图形处理器;
所述存储器用于存储一条或多条计算机指令;
所述中央处理器用于执行所述一条或多条计算机指令以用于:调用所述图形处理器执行权利要求1-9任一项所述的方法中的步骤。
11.一种存储有计算机程序的计算机可读存储介质,其特征在于,计算机程序被执行时能够实现权利要求1-9任一项所述的方法中的步骤。
12.一种计算机程序产品,包括计算机程序/指令,其特征在于,当计算机程序被处理器执行时,致使处理器实现权利要求1-9任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111165925.8A CN113936098B (zh) | 2021-09-30 | 2021-09-30 | 体积云交互时的渲染方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111165925.8A CN113936098B (zh) | 2021-09-30 | 2021-09-30 | 体积云交互时的渲染方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113936098A true CN113936098A (zh) | 2022-01-14 |
CN113936098B CN113936098B (zh) | 2022-08-26 |
Family
ID=79277904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111165925.8A Active CN113936098B (zh) | 2021-09-30 | 2021-09-30 | 体积云交互时的渲染方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113936098B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116385622A (zh) * | 2023-05-26 | 2023-07-04 | 腾讯科技(深圳)有限公司 | 云图处理方法、装置、计算机及可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090040220A1 (en) * | 2007-02-05 | 2009-02-12 | Jonathan Gibbs | Hybrid volume rendering in computer implemented animation |
-
2021
- 2021-09-30 CN CN202111165925.8A patent/CN113936098B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090040220A1 (en) * | 2007-02-05 | 2009-02-12 | Jonathan Gibbs | Hybrid volume rendering in computer implemented animation |
Non-Patent Citations (5)
Title |
---|
FELIX: "Rendering volumetric clouds-using signed distance fields", 《BLOG.UHAWKVR.COM/RENDERING/RENDERING-VOLUMETRIC-CLOUDS-USING-SIGNED-DISTANCE-FIELDS/》 * |
LUKASZ NOWAK等: "Modeling and Rendering of Volumetric Clouds in Real-Time with Unreal Engine 4", 《INTERNATIONAL CONFERENCE ON COMPUTER VISION AND GRAPHICS 2018》 * |
刘智轩: "多噪声体积云实时模拟研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
网易游戏雷火事业群: "移动端基于SDF的体积云:被云淹没,不知所措", 《ZHUANLAN.ZHIHU.COM/P/350058989》 * |
邹坤宇等: "基于三维体积纹理的云渲染研究", 《信息与电脑(理论版)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116385622A (zh) * | 2023-05-26 | 2023-07-04 | 腾讯科技(深圳)有限公司 | 云图处理方法、装置、计算机及可读存储介质 |
CN116385622B (zh) * | 2023-05-26 | 2023-09-12 | 腾讯科技(深圳)有限公司 | 云图处理方法、装置、计算机及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113936098B (zh) | 2022-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3822918B1 (en) | Water wave effect rendering | |
US9778815B2 (en) | Three dimensional user interface effects on a display | |
EP4070865A1 (en) | Method and apparatus for displaying virtual scene, and device and storage medium | |
JP5877219B2 (ja) | 動き特性を使用することによるディスプレイへの三次元ユーザインターフェイス効果 | |
KR20220030263A (ko) | 텍스처 메시 빌딩 | |
CN102521852B (zh) | 一种独立于三维场景空间的目标标签表现方法 | |
WO2021223611A1 (zh) | 一种机器人的控制方法、装置、机器人以及存储介质 | |
CN109615686B (zh) | 潜在可视集合的确定方法、装置、设备及存储介质 | |
CN103760973A (zh) | 增强现实的信息细节 | |
US20220215607A1 (en) | Method and apparatus for driving interactive object and devices and storage medium | |
CN103700134A (zh) | 基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法 | |
CN113936098B (zh) | 体积云交互时的渲染方法、设备及存储介质 | |
CN106780659A (zh) | 一种二维态势图的生成方法及电子设备 | |
Sudarshan | Augmented reality in mobile devices | |
CN109146775B (zh) | 二维图片转换方法、装置、设备及存储介质 | |
CN113936097A (zh) | 体积云渲染方法、设备及存储介质 | |
CN113936096A (zh) | 体积云的定制化渲染方法、设备及存储介质 | |
US10921950B1 (en) | Pointing and interaction control devices for large scale tabletop models | |
CN114663615A (zh) | 电子地图显示方法及装置、电子设备 | |
CN114332347A (zh) | 体积云的数据存储方法、设备及存储介质 | |
CN116777731A (zh) | 软光栅化的方法、装置、设备、介质及程序产品 | |
CN106384374A (zh) | 一种实现动画效果的方法及装置 | |
CN111476873A (zh) | 一种基于增强现实的手机虚拟涂鸦方法 | |
CN112755533B (zh) | 虚拟载具涂装方法、装置、设备及存储介质 | |
CN114706512B (zh) | 三维实景信息展示方法、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |