CN111508052B - 三维网格体的渲染方法和装置 - Google Patents
三维网格体的渲染方法和装置 Download PDFInfo
- Publication number
- CN111508052B CN111508052B CN202010328238.2A CN202010328238A CN111508052B CN 111508052 B CN111508052 B CN 111508052B CN 202010328238 A CN202010328238 A CN 202010328238A CN 111508052 B CN111508052 B CN 111508052B
- Authority
- CN
- China
- Prior art keywords
- rendering
- texture
- dimensional grid
- grid body
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 214
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000012545 processing Methods 0.000 claims abstract description 101
- 239000012634 fragment Substances 0.000 claims description 61
- 238000005286 illumination Methods 0.000 claims description 22
- 238000003860 storage Methods 0.000 claims description 21
- 238000013507 mapping Methods 0.000 claims description 11
- 238000002156 mixing Methods 0.000 claims description 11
- 230000009466 transformation Effects 0.000 claims description 7
- 238000006073 displacement reaction Methods 0.000 claims description 6
- 238000007667 floating Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 11
- 230000008569 process Effects 0.000 description 22
- 239000000872 buffer Substances 0.000 description 17
- 230000000694 effects Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 6
- 239000003086 colorant Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000011159 matrix material Substances 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
- 230000001151 other effect Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
- 239000000126 substance Substances 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种三维网格体的渲染方法和装置。其中,该方法包括:获取三维网格体的像素深度值、像素颜色值和像素透明值;将三维网格体的像素深度值存储于第一渲染纹理;将三维网格体的像素颜色值和像素透明值存储于第二渲染纹理;对第一渲染纹理进行模糊处理;利用预设的置换纹理对第二渲染纹理进行扭曲处理,并通过模糊处理得到的第一渲染纹理对扭曲处理得到的第二渲染纹理进行模糊处理,得到目标渲染纹理;通过目标渲染纹理对三维网格体进行渲染。本发明解决了现有技术中渲染三维网格体时存在计算开销大的技术问题。
Description
技术领域
本发明涉及计算机图形领域,具体而言,涉及一种三维网格体的渲染方法和装置。
背景技术
在一些电子作品中往往需要对三维网格体进行渲染,例如,对游戏中的云模型进行渲染使其具有蓬松的外观以及复杂多变的造型。
在现有技术中,通常采用以光线步进技术为基础的渲染方法来实现对三维网格体的体积渲染。其中,光线步进技术是一种光线跟踪技术,其主要集中在“光线与物体求交”,每次让光线前进一定的步长,并检测当前光线是否位于目标位置,据此调整光线的前进幅度,直到抵达目标位置,最后按照光线跟踪的方法计算颜色值。而体积渲染是通过估算一定容积范围内的光量,当光与容积内物质相交时收集每个交点的像素透明度、像素颜色信息,甚至当物体可用解析函数表达时可以直接计算出结果。在多数情况下三维网格体的图像存储在一张纹理图中,在该场景中,需要沿光路穿透容积范围并进行多次检索纹理求值。
上述方法虽然能实现三维网格体的渲染,然而现有的渲染三维网格体的方法存在计算开销大,对实时渲染硬件设备要求高,以及体积纹理建模流程繁复晦涩的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种三维网格体的渲染方法和装置,以至少解决现有技术中渲染三维网格体时存在计算开销大的技术问题。
根据本发明实施例的一个方面,提供了一种三维网格体的渲染方法,包括:获取三维网格体的像素深度值、像素颜色值和像素透明值;将三维网格体的像素深度值存储于第一渲染纹理;将三维网格体的像素颜色值和像素透明值存储于第二渲染纹理;对第一渲染纹理进行模糊处理;利用预设的置换纹理对第二渲染纹理进行扭曲处理,并通过模糊处理得到的第一渲染纹理对扭曲处理得到的第二渲染纹理进行模糊处理,得到目标渲染纹理;通过目标渲染纹理对三维网格体进行渲染。
进一步地,三维网格体的渲染方法还包括:获取三维网格体的顶点信息;根据顶点信息对三维网格体的顶点进行位移变换操作,获得三维网格体的动画信息;根据动画信息和顶点信息获取三维网格体的像素深度值和像素透明值。
进一步地,三维网格体的渲染方法还包括:根据顶点信息对三维网格体的顶点进行插值处理,得到三维网格体的片段信息;根据动画信息和片段信息获得三维网格体的像素深度值和像素透明值。
进一步地,三维网格体的渲染方法还包括:获取三维网格体的顶点信息和光照信息;根据顶点信息对三维网格体的顶点进行插值处理,得到三维网格体的片段信息;根据光照信息和片段信息获取三维网格体的像素颜色值。
进一步地,三维网格体的渲染方法还包括:将目标渲染纹理和预存的大气背景图像进行混合处理,得到混合片段;通过混合片段对三维网格体进行渲染。
进一步地,第一渲染纹理为单通道浮点图像;第二渲染纹理为四通道图像。
进一步地,三维网格体的渲染方法还包括:对预设的置换纹理进行映射处理;基于像素深度值对映射处理后的置换纹理进行插值处理,得到预设的置换纹理的噪波特征;基于预设的置换纹理的噪波特征对第二渲染纹理进行扭曲处理,得到扭曲处理后的第二渲染纹理。
根据本发明实施例的另一方面,还提供了一种三维网格体的渲染装置,包括:获取模块,用于获取三维网格体的像素深度值、像素颜色值和像素透明值;第一存储模块,用于将三维网格体的像素深度值存储于第一渲染纹理;第二存储模块,用于将三维网格体的像素颜色值和像素透明值存储于第二渲染纹理;第一处理模块,用于对第一渲染纹理进行模糊处理;第二处理模块,用于利用预设的置换纹理对第二渲染纹理进行扭曲处理,并通过模糊处理得到的第一渲染纹理对扭曲处理得到的第二渲染纹理进行模糊处理,得到目标渲染纹理;渲染模块,用于通过目标渲染纹理对三维网格体进行渲染。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述的三维网格体的渲染方法。
根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行上述的三维网格体的渲染方法。
在本发明实施例中,采用对三维网格体的特征信息分别进行处理的方式,在获取三维网格体的像素深度值、像素颜色值以及像素透明值之后,将三维网格体的像素深度值存储于第一渲染纹理中,将三维网格体的像素颜色值和像素透明值存储于第二渲染纹理中,然后对第一渲染纹理进行模糊处理,利用预设的置换纹理对第二渲染纹理进行扭曲处理,并通过模糊处理得到的第一渲染纹理对扭曲处理得到的第二渲染纹理进行模糊处理,得到目标渲染纹理,最后通过目标渲染纹理对三维网格体进行渲染。
在上述过程中,本申请采用的并不是光线步进法来对三维网格体进行渲染,而是基于第一渲染纹理和第二渲染纹理对三维网格体的特征信息进行处理,得到目标渲染纹理,以对三维网格体进行渲染,该方法与光线步进法相比,减少了采样数量,提高渲染效率,进而降低了对硬件设备的要求,能够高效的渲染出三维网格体的体积效果。
由此可见,本申请所提供的方案达到了提高渲染效率的目的,从而实现了降低三维网格体渲染时的计算开销的技术效果,进而解决了现有技术中渲染三维网格体时存在计算开销大的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种三维网格体的渲染方法流程图;
图2是根据本发明实施例的一种可选的图形管线示意图;
图3是根据本发明实施例的一种可选的逐片段操作的流程图;
图4是根据本发明实施例的一种可选的云模型的示意图;
图5是根据本发明实施例的一种可选的置换纹理的示意图;
图6是根据本发明实施例的一种可选的中间结果示意图;
图7是根据本发明实施例的一种可选的渲染后的云模型的示意图;以及
图8是根据本发明实施例的一种三维网格体的渲染装置示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种三维网格体的渲染方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。此外,还需要说明的是,渲染设备可作为本实施例的执行主体,其中,渲染设备可以为能够对三维网格体进行渲染的计算机。
图1是根据本发明实施例的三维网格体的渲染方法流程图,如图1所示,该方法包括如下步骤:
步骤S101,获取三维网格体的像素深度值、像素颜色值和像素透明值。
在步骤S101中,三维网格体可以为但不限于体积云、飞机、船、汽车等模型,其中,体积云为游戏中通过使用图像引擎来模拟真实云雾的半透明、无规则的表现效果的三维模型。在本实施例中,以三维网格体为体积云为例进行说明。
另外,三维虚拟模型的模型信息包括但不限于三维虚拟模型的顶点坐标、顶点法线信息、纹理坐标等。上述背景图像可以为具有单一颜色的图像(例如,全黑色或全白色的图像),也可以为具有多种颜色的图像(例如,蓝天的图像或者云图像),该背景图像可以是用户通过渲染设备输入的图像,也可以是渲染设备对预设的图像进行处理后所得到的图像。
可选的,图2示出了一种可选的渲染设备对三维网格体进行渲染的图形管线示意图,由图2可知,渲染设备可通过API(Application Programming Interface,应用程序接口)来获取三维网格体的模型信息,其中,三维网格体的模型信息可以数组对象的形式存储在渲染设备的缓冲区中,该缓冲区可以包括顶点缓冲区和帧缓冲区,顶点缓冲区可存储模型信息中的顶点信息(例如,顶点坐标、顶点法线信息等)。可选的,三维网格体的模型信息包括但不限于三维网格体的顶点坐标、顶点法线信息、纹理坐标等。
另外,由图2可知,渲染设备可以包括顶点着色器和片段着色器,其中,顶点着色器用于对三维网格体的顶点信息进行操作,例如,对三维网格体的顶点信息进行矩阵变换位置的计算,通过照明公式来生成逐顶点颜色以及生成或者变换纹理坐标。通过顶点着色器对模型信息进行操作可得到纹理坐标、颜色、点位置等动画信息,顶点着色器可将该动画信息可输出至后续的其他模块中进行处理。片段着色器也可称为像素着色器。片段着色器可对片段进行处理,并输出计算得到的每个片段的颜色等属性信息至后续的其他模块中进行处理。其中,片段着色器可对片段进行纹理采样、颜色汇总等处理。
需要说明的是,上述三维网格体的颜色深度值、像素颜色值以及像素透明度值可以通过顶点着色器和片段着色器对三维网格体的模型信息进行处理得到。
步骤S102,将三维网格体的像素深度值存储于第一渲染纹理。
在步骤S102中,第一渲染纹理为单通道浮点图像,其可设置为16位,纹理的尺寸设置为视口的宽度和高度,视口为最终渲染结果显示的目的地。其中,视口为矩形的区域,长度单位为像素,视口的位置和大小可在视口坐标系中定义。另外,视口的坐标系可以是标准的笛卡尔直角坐标系,例如,在OPENGL中,视口坐标系的原点位于渲染环境窗口客户区的左下角,横轴X向右为正,纵轴Y向上为正。
步骤S103,将三维网格体的像素颜色值和像素透明值存储于第二渲染纹理。
在步骤S103中,第二渲染纹理为四通道图像,具体的,第二渲染纹理可以为每通道8位的四通道图像,红、绿、蓝三通道分别存储了对应的像素颜色值,透明通道存储了像素透明值。另外,第二渲染纹理的尺寸可以与屏幕分辨率一致。
需要说明的是,在计算机图形领域,渲染纹理是图形处理单元的一个特征,其可将三维网格体渲染到中间存储缓冲区或目标渲染纹理,而不是帧缓冲区或后缓冲区。然后通过片段着色器操纵此目标渲染纹理,以便在显示最终图像之前将其他效果应用于最终图像。渲染纹理是用于渲染像素的显存缓冲区,其中,渲染纹理可应用于离屏渲染,其为图形渲染管线中的一块后台缓冲区,包含所要绘制的下一个帧的视频内存的一部分。不同于仅将像素着色程序的结果发送到颜色缓存和深度缓存,渲染纹理可将每个片元生成的多组值存储到不同的缓存中,每个缓存为一个渲染纹理。
步骤S104,对第一渲染纹理进行模糊处理。
在一种可选的实施例中,渲染设备首先创建一个四边形,使其平铺至整个屏幕上,并为该四边形创建着色器以绘制出该四边形。其中,渲染设备可使用标准化的设备坐标作为顶点坐标,并将该顶点坐标作为顶点着色器的输出。在片段着色器中对第一渲染纹理进行模糊渲染,其中,第一渲染纹理包含的浮点精度的深度值首先需要映射到0~1范围之内,然后再进行模糊计算。可选的,可以用模糊核算法来对第一渲染纹理模糊操作。
步骤S105,利用预设的置换纹理对第二渲染纹理进行扭曲处理,并通过模糊处理得到的第一渲染纹理对扭曲处理得到的第二渲染纹理进行模糊处理,得到目标渲染纹理。
在一种可选的实施例中,渲染设备可使用两张置换纹理作为置换因子对第二渲染纹理进行扭曲计算,其中,置换纹理为两通道图像,两个通道分别存储了纹理坐标UV方向的置换信息。在将模糊处理后的第一渲染纹理作为模糊因子对第二渲染纹理进行模糊计算,可以得到蓬松的效果,而片段着色器最终输出的云模型的图像则由3个颜色通道组成,即红、绿、蓝三个通道。另外,云模型的图像还包括一个透明通道,该透明通道能够为每个纹理像素提供一个透明值,该透明值定义了图像的透明度。例如,浓密的云朵中央的透明度值为1.0,因此是不透明的,而云朵蓬松的边缘透明度值为0.2,因此呈现半透明,透明度值是0.0的区域则没有云。
步骤S106,通过目标渲染纹理对三维网格体进行渲染。
在一种可选的实施例中,通过步骤S105得到目标渲染纹理之后,可对目标渲染纹理以及预存的大气背景图像进行混合处理,并基于混合处理后的结果来对三维网格体进行渲染。
需要说明的是,上述大气背景图像也可以是由片段着色器来生成,在该场景下,渲染设备中存在与大气背景图像对应的片段着色器,其中,大气背景图像也可采用步骤S101至步骤S105所限定的步骤来生成。可选的,在三维网格体为体积云的情况下,大气背景图像可以为不带有体积云的片段。
此外,还需要说明的是,在将目标渲染纹理与大气背景图像进行混合处理之后,片段着色器可将混合后的片段颜色输出到帧缓冲区中(如图2所示),并最终输出到屏幕上,从而实现对渲染后的三维网格体的展现。
基于上述步骤S101至步骤S106所限定的方案,可以获知,采用对三维网格体的特征信息分别进行处理的方式,在获取三维网格体的像素深度值、像素颜色值以及像素透明值之后,将三维网格体的像素深度值存储于第一渲染纹理中,将三维网格体的像素颜色值和像素透明值存储于第二渲染纹理中,然后对第一渲染纹理进行模糊处理,利用预设的置换纹理对第二渲染纹理进行扭曲处理,并通过模糊处理得到的第一渲染纹理对扭曲处理得到的第二渲染纹理进行模糊处理,得到目标渲染纹理,最后通过目标渲染纹理对三维网格体进行渲染。
容易注意到的是,本申请采用的并不是光线步进法来对三维网格体进行渲染,而是基于第一渲染纹理和第二渲染纹理对三维网格体的特征信息进行处理,得到目标渲染纹理,以对三维网格体进行渲染,该方法与光线步进法相比,减少了采样数量,提高渲染效率,进而降低了对硬件设备的要求,能够高效的渲染出三维网格体的体积效果。
由此可见,本申请所提供的方案达到了提高渲染效率的目的,从而实现了降低三维网格体渲染时的计算开销的技术效果,进而解决了现有技术中渲染三维网格体时存在计算开销大的技术问题。
在一种可选的实施例中,渲染设备首先获取三维网格体的像素深度值和像素透明值。具体的,渲染设备获取三维网格体的顶点信息,并根据顶点信息对三维网格体的顶点进行位移变换操作,获得三维网格体的动画信息,然后再根据动画信息和顶点信息获取三维网格体的像素深度值和像素透明值。
可选的,以三维网格体为云模型为例进行说明。顶点着色器沿代表云物体的三维网格的顶点法线方向逐帧的、持续的对云物体的顶点坐标进行位移变换,以实现云模型的流动效果。其中,云模型为在三维空间中能够描述云物体整体轮廓外形的模型,即云物体可以为双流形拓扑多边形物体或者水密体,如图4所示的云模型的示意图。其中,双流形拓扑多边形物体为沿其物体的各个边进行分割,并展开的网格,以使网格展平且不重叠的物体。
另外,上述云物体既可由具有专业技术经验的人员在三维计算机图形软件中根据云的整体外轮廓形状手工建模而成,也可通过三维计算机图形软件的预定义功能自动生成。其中,顶点着色器对三维虚拟模型的顶点坐标进行的位置变换操作可以采用正弦函数或噪波来实现。
进一步地,在得到三维网格体的动画信息之后,渲染设备根据顶点信息对三维网格体的顶点进行插值处理,得到三维网格体的片段信息,然后再根据动画信息和片段信息获得三维网格体的像素深度值和像素透明值,其中,片段信息为具有深度信息的像素点。
在一种可选的实施例中,由步骤S101可知,渲染设备还可获取三维网格体的像素颜色值。具体的,渲染设备首先获取三维网格体的顶点信息和光照信息,然后根据顶点信息对三维网格体的顶点进行插值处理,得到三维网格体的片段信息,并根据光照信息和片段信息获取三维网格体的像素颜色值。
可选的,由图2可知,顶点着色器在输出动画信息之后,片段着色器还可对动画信息进行图元装备以及光栅化处理,并对三维网格体的顶点进行插值处理,从而得到三维网格体的片段信息,最后再根据光照信息和片段信息得到三维网格体的像素颜色值。其中,三维网格体的光照信息包括但不限于三维网格体的漫反射光照信息、散射光照信息、环境光照信息以及雾效信息。
可选的,片段着色器基于兰伯特光照算法对片段信息进行漫反射处理,得到三维网格体的漫反射光照信息,其中,将云整体视为白色的固体,则云的漫反射光照模型可以采用经典的兰伯特光照模型。
可选的,片段着色器基于菲涅尔算法以及汉尼-格林斯坦算法对片段信息进行散射处理,得到三维网格体的散射光照信息,其中,当逆光观察云时可以看到云轮廓周围变得比较明亮,片段着色器使用菲涅尔公式来近似模拟该效果,并乘上汉尼-格林斯坦方程来模拟阳光透过云的濛尘所形成的米氏散射。
可选的,片段着色器基于图像的照明算法对片段信息进行光照处理,得到三维网格体的环境光照信息。
可选的,片段着色器基于高度指数对片段信息进行雾效处理,确定三维网格体的雾效信息,其中,片段着色器使用高度指数雾可以使云更容易融入大气氛围,从而为用户提供更好的视觉体验。
在上述过程中,光栅化处理为将图片转化为片段的处理过程,在该处理中,可将三维网格体投影到平面上,并生成一系列的片段。另外,插值处理是将每个图元顶点输出生成每个片段值的处理过程。其中,屏幕上的一个像素点可对应多个片段。
需要说明的是,由上述内容可知,在获取像素深度值、像素颜色值以及像素透明值的过程中,片段着色器需要对三维网格体的顶点进行插值处理,以得到三维网格体的片段信息,并基于片段信息来获取像素深度值、像素颜色值以及像素透明值,其中,基于片段信息来获取像素深度值、像素颜色值以及像素透明值的过程为逐片段操作的过程。
在一种可选的实施例中,图3示出了一种可选的逐片段操作的流程图,由图3可知,该过程包括:像素归属测试、裁剪测试、模板测试、深度测试、混合、抖动以及存储等步骤。具体的,在得到片段信息之后,片段着色器首先检测片段的可见性,具体的,通过对片段进行模板测试和深度测试来确定片段是否可见。然后将未通过检测的片段舍弃掉,并对通过检测的片段与颜色缓冲区中的颜色按照指定的方式进行混合和抖动处理,最后将处理结果输出值帧缓冲区中。
进一步地,在获取到三维网格体的像素深度值、像素颜色值以及像素透明值之后,渲染设备分别将三维网格体的像素深度值存储于第一渲染纹理,将三维网格体的像素颜色值和像素透明值存储于第二渲染纹理,并对第一渲染纹理进行模糊处理,然后利用预设的置换纹理对第二渲染纹理进行扭曲处理,并通过模糊处理得到的第一渲染纹理对扭曲处理得到的第二渲染纹理进行模糊处理,得到目标渲染纹理。
需要说明的是,目标渲染纹理的数量可以为多个,当目标渲染纹理的数量为多个时,每个目标渲染纹理对应一个片段着色器。
在一种可选的实施例中,渲染设备可利用预设的置换纹理对第二渲染纹理进行扭曲处理。具体的,渲染设备首先对预设的置换纹理进行映射处理,然后基于像素深度值对映射处理后的置换纹理进行插值处理,得到预设的置换纹理的噪波特征,最后基于预设的置换纹理的噪波特征对第二渲染纹理进行扭曲处理,得到扭曲处理后的第二渲染纹理。
可选的,渲染设备可使用两张置换纹理(如图5所示的置换纹理)作为置换因子对第二渲染纹理进行扭曲计算。为了能够无缝的映射到整个三维空间中,第二渲染纹理可采用一般环境图(例如,经纬图或是立方体图)的制作方法来得到。另外,第二渲染纹理可根据置换纹理的噪波特征产生扭曲效果,从而为云模型添加更多细节。其中,置换纹理可以使用球面映射或者立方体映射,并采用深度值做线性插值需要说明的是,相同频率的细节特征随着距离增加而变的更密集,因此,通过密度高的噪波影响距离较远的像素,密度低的噪波影响近处的像素,可得到更真实的空间感受。
更进一步的,在得到目标渲染纹理之后,渲染设备通过目标渲染纹理对三维网格体进行渲染。具体的,渲染设备将目标渲染纹理和预存的大气背景图像进行混合处理,得到混合片段,然后再通过混合片段对三维网格体进行渲染。其中,大气背景图像可以为具有单一颜色的图像(例如,全黑色或全白色的图像),也可以为具有多种颜色的图像(例如,蓝天的图像或者云图像),该大气背景图像可以是用户通过渲染设备输入的图像,也可以是渲染设备对预设的图像进行处理后所得到的图像。
可选的,上述混合过程满足如下公式:
OUTRGB=SRCRGBSRCA+DSTRGB(1-SRCA)
在上式中,OUTRGB为渲染后的三维网格体的颜色值,SRCRGB为三维网格体的像素颜色值,SRCA为三维网格体的像素透明值,DSTRGB为大气背景图像的片段颜色值。
最后,在得到混合后的三维网格体的颜色值之后,片段着色器将其输出至帧缓冲区中并最终输出到屏幕上。其中,图6示出了对云模型进行渲染的过程中的中间结果示意图,图7为渲染后的云模型的示意图。
由上述内容可知,本申请所提供的方案解决了光线步进技术为基础的体积渲染效率低下的问题,降低了硬件要求,从而更高效的渲染出自然环境中的三维网格体。
根据本发明实施例,还提供了一种三维网格体的渲染装置实施例,其中,图8是根据本发明实施例的三维网格体的渲染装置示意图,如图8所示,该装置包括:获取模块801、第一存储模块802、第二存储模块803、第一处理模块804、第二处理模块805以及渲染模块806。
其中,获取模块801,用于获取三维网格体的像素深度值、像素颜色值和像素透明值;第一存储模块802,用于将三维网格体的像素深度值存储于第一渲染纹理;第二存储模块803,用于将三维网格体的像素颜色值和像素透明值存储于第二渲染纹理;第一处理模块804,用于对第一渲染纹理进行模糊处理;第二处理模块805,用于利用预设的置换纹理对第二渲染纹理进行扭曲处理,并通过模糊处理得到的第一渲染纹理对扭曲处理得到的第二渲染纹理进行模糊处理,得到目标渲染纹理;渲染模块806,用于通过目标渲染纹理对三维网格体进行渲染。
此处需要说明的是,上述获取模块801、第一存储模块802、第二存储模块803、第一处理模块804、第二处理模块805以及渲染模块806对应于上述实施例的步骤S101至步骤S106,六个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例所公开的内容。
在一种可选的实施例中,获取模块包括:第一获取模块、第三处理模块以及第二获取模块。其中,第一获取模块,用于获取三维网格体的顶点信息;第三处理模块,用于根据顶点信息对三维网格体的顶点进行位移变换操作,获得三维网格体的动画信息;第二获取模块,用于根据动画信息和顶点信息获取三维网格体的像素深度值和像素透明值。
在一种可选的实施例中,第二获取模块包括:第四处理模块以及第五处理模块。其中,第四处理模块,用于根据顶点信息对三维网格体的顶点进行插值处理,得到三维网格体的片段信息;第五处理模块,用于根据动画信息和片段信息获得三维网格体的像素深度值和像素透明值。
在一种可选的实施例中,获取模块包括:第三获取模块、第六处理模块以及第四获取模块。其中,第三获取模块,用于获取三维网格体的顶点信息和光照信息;第六处理模块,用于根据顶点信息对三维网格体的顶点进行插值处理,得到三维网格体的片段信息;第四获取模块,用于根据光照信息和片段信息获取三维网格体的像素颜色值。
在一种可选的实施例中,渲染模块包括:混合模块以及渲染子模块。其中,混合模块,用于将目标渲染纹理和预存的大气背景图像进行混合处理,得到混合片段;渲染子模块,用于通过混合片段对三维网格体进行渲染。
可选的,第一渲染纹理为单通道浮点图像;第二渲染纹理为四通道图像。
在一种可选的实施例中,第二处理模块包括:映射模块、第七处理模块以及第八处理模块。其中,映射模块,用于对预设的置换纹理进行映射处理;第七处理模块,用于基于像素深度值对映射处理后的置换纹理进行插值处理,得到预设的置换纹理的噪波特征;第八处理模块,用于基于预设的置换纹理的噪波特征对第二渲染纹理进行扭曲处理,得到扭曲处理后的第二渲染纹理。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述实施例中的三维网格体的渲染方法。
根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行上述实施例中的三维网格体的渲染方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种三维网格体的渲染方法,其特征在于,包括:
获取三维网格体的像素深度值、像素颜色值和像素透明值;
将所述三维网格体的像素深度值存储于第一渲染纹理;
将所述三维网格体的像素颜色值和像素透明值存储于第二渲染纹理;
对所述第一渲染纹理进行模糊处理;
利用预设的置换纹理对所述第二渲染纹理进行扭曲处理,并通过模糊处理后的第一渲染纹理对扭曲处理后的第二渲染纹理进行模糊处理,得到目标渲染纹理;
通过所述目标渲染纹理对所述三维网格体进行渲染。
2.根据权利要求1所述的渲染方法,其特征在于,所述获取三维网格体的像素深度值和像素透明值,包括:
获取所述三维网格体的顶点信息;
根据所述顶点信息对所述三维网格体的顶点进行位移变换操作,获得所述三维网格体的动画信息;
根据所述动画信息和所述顶点信息获取所述三维网格体的像素深度值和像素透明值。
3.根据权利要求2所述的渲染方法,其特征在于,所述根据所述动画信息和所述顶点信息获取所述三维网格体的像素深度值和像素透明值,包括:
根据所述顶点信息对所述三维网格体的顶点进行插值处理,得到所述三维网格体的片段信息;
根据所述动画信息和所述片段信息获得所述三维网格体的像素深度值和像素透明值。
4.根据权利要求1所述的渲染方法,其特征在于,所述获取三维网格体的像素颜色值,包括:
获取所述三维网格体的顶点信息和光照信息;
根据所述顶点信息对所述三维网格体的顶点进行插值处理,得到所述三维网格体的片段信息;
根据所述光照信息和所述片段信息获取所述三维网格体的像素颜色值。
5.根据权利要求1所述的渲染方法,其特征在于,所述通过所述目标渲染纹理对所述三维网格体进行渲染,包括:
将所述目标渲染纹理和预存的大气背景图像进行混合处理,得到混合片段;
通过所述混合片段对所述三维网格体进行渲染。
6.根据权利要求1所述的渲染方法,其特征在于,所述第一渲染纹理为单通道浮点图像;所述第二渲染纹理为四通道图像。
7.根据权利要求1所述的渲染方法,其特征在于,利用预设的置换纹理对所述第二渲染纹理进行扭曲处理,包括:
对所述预设的置换纹理进行映射处理;
基于所述像素深度值对映射处理后的置换纹理进行插值处理,得到所述预设的置换纹理的噪波特征;
基于所述预设的置换纹理的噪波特征对所述第二渲染纹理进行扭曲处理,得到扭曲处理后的第二渲染纹理。
8.一种三维网格体的渲染装置,其特征在于,包括:
获取模块,用于获取三维网格体的像素深度值、像素颜色值和像素透明值;
第一存储模块,用于将所述三维网格体的像素深度值存储于第一渲染纹理;
第二存储模块,用于将所述三维网格体的像素颜色值和像素透明值存储于第二渲染纹理;
第一处理模块,用于对所述第一渲染纹理进行模糊处理;
第二处理模块,用于利用预设的置换纹理对所述第二渲染纹理进行扭曲处理,并通过模糊处理后的第一渲染纹理对扭曲处理后的第二渲染纹理进行模糊处理,得到目标渲染纹理;
渲染模块,用于通过所述目标渲染纹理对所述三维网格体进行渲染。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至7中任意一项所述的三维网格体的渲染方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的三维网格体的渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010328238.2A CN111508052B (zh) | 2020-04-23 | 2020-04-23 | 三维网格体的渲染方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010328238.2A CN111508052B (zh) | 2020-04-23 | 2020-04-23 | 三维网格体的渲染方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111508052A CN111508052A (zh) | 2020-08-07 |
CN111508052B true CN111508052B (zh) | 2023-11-21 |
Family
ID=71864208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010328238.2A Active CN111508052B (zh) | 2020-04-23 | 2020-04-23 | 三维网格体的渲染方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111508052B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111986303B (zh) * | 2020-09-09 | 2024-07-16 | 网易(杭州)网络有限公司 | 流体渲染方法、装置、存储介质及终端设备 |
CN114463473A (zh) * | 2020-11-09 | 2022-05-10 | 中兴通讯股份有限公司 | 图像渲染的处理方法和装置、存储介质及电子设备 |
CN112465941B (zh) * | 2020-12-02 | 2023-04-28 | 成都完美时空网络技术有限公司 | 一种体积云处理方法、装置、电子设备及存储介质 |
CN114694805A (zh) * | 2020-12-30 | 2022-07-01 | 上海联影医疗科技股份有限公司 | 医学图像渲染方法、装置、设备和介质 |
CN115129191B (zh) * | 2021-03-26 | 2023-08-15 | 北京新氧科技有限公司 | 三维对象拾取方法、装置、设备及存储介质 |
CN113240577B (zh) * | 2021-05-13 | 2024-03-15 | 北京达佳互联信息技术有限公司 | 一种图像生成方法、装置、电子设备及存储介质 |
CN113379814B (zh) * | 2021-06-09 | 2024-04-09 | 北京超图软件股份有限公司 | 一种三维空间关系判定方法及装置 |
CN113744382B (zh) * | 2021-08-02 | 2024-11-22 | 广州引力波信息科技有限公司 | 一种基于光栅化渲染的uv映射方法及云端设备 |
CN115908679A (zh) * | 2021-08-31 | 2023-04-04 | 北京字跳网络技术有限公司 | 纹理映射方法、装置、设备及存储介质 |
CN114782600B (zh) * | 2022-03-24 | 2024-10-01 | 杭州印鸽科技有限公司 | 一种基于辅助网格的视频特定区域渲染系统及渲染方法 |
CN114972610B (zh) * | 2022-03-24 | 2024-10-15 | 杭州印鸽科技有限公司 | 一种基于辅助网格的图片特定区域渲染系统及渲染方法 |
CN115761188A (zh) * | 2022-11-07 | 2023-03-07 | 四川川云智慧智能科技有限公司 | 一种基于WebGL的多媒体与三维场景融合的方法和系统 |
CN116310046B (zh) * | 2023-05-16 | 2023-08-22 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、计算机及存储介质 |
CN116385619B (zh) * | 2023-05-26 | 2024-04-30 | 腾讯科技(深圳)有限公司 | 对象模型渲染方法、装置、计算机设备和存储介质 |
CN117011492B (zh) * | 2023-09-18 | 2024-01-05 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、电子设备及存储介质 |
CN117745916B (zh) * | 2024-02-19 | 2024-05-31 | 北京渲光科技有限公司 | 多张多类型模糊图像的三维渲染方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102737401A (zh) * | 2011-05-06 | 2012-10-17 | 新奥特(北京)视频技术有限公司 | 一种图形渲染中光栅化阶段的三角片填充方法 |
CN108053464A (zh) * | 2017-12-05 | 2018-05-18 | 北京像素软件科技股份有限公司 | 粒子特效处理方法及装置 |
CN110111408A (zh) * | 2019-05-16 | 2019-08-09 | 洛阳众智软件科技股份有限公司 | 基于图形学的大场景快速求交方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6975329B2 (en) * | 2002-12-09 | 2005-12-13 | Nvidia Corporation | Depth-of-field effects using texture lookup |
-
2020
- 2020-04-23 CN CN202010328238.2A patent/CN111508052B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102737401A (zh) * | 2011-05-06 | 2012-10-17 | 新奥特(北京)视频技术有限公司 | 一种图形渲染中光栅化阶段的三角片填充方法 |
CN108053464A (zh) * | 2017-12-05 | 2018-05-18 | 北京像素软件科技股份有限公司 | 粒子特效处理方法及装置 |
CN110111408A (zh) * | 2019-05-16 | 2019-08-09 | 洛阳众智软件科技股份有限公司 | 基于图形学的大场景快速求交方法 |
Non-Patent Citations (1)
Title |
---|
柯玲玲.基于气象数据的三维云仿真技术研究.中国优秀硕士学位论文全文数据库 基础科学辑.2020,2020年(第2期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111508052A (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111508052B (zh) | 三维网格体的渲染方法和装置 | |
US6429877B1 (en) | System and method for reducing the effects of aliasing in a computer graphics system | |
US5613048A (en) | Three-dimensional image synthesis using view interpolation | |
US8035641B1 (en) | Fast depth of field simulation | |
US7755626B2 (en) | Cone-culled soft shadows | |
US6078333A (en) | Images and apparatus for carrying out the method | |
JPH0778267A (ja) | 陰影を表示する方法及びコンピュータ制御表示システム | |
US20130021445A1 (en) | Camera Projection Meshes | |
US20040174373A1 (en) | Preparing digital images for display utilizing view-dependent texturing | |
Šoltészová et al. | Chromatic shadows for improved perception | |
US20070139408A1 (en) | Reflective image objects | |
US11276150B2 (en) | Environment map generation and hole filling | |
US20230230311A1 (en) | Rendering Method and Apparatus, and Device | |
US20200118253A1 (en) | Environment map generation and hole filling | |
US6791544B1 (en) | Shadow rendering system and method | |
US20050017969A1 (en) | Computer graphics rendering using boundary information | |
KR101118597B1 (ko) | 모바일용 컴퓨터 그래픽 랜더링 방법 및 시스템 | |
US8248405B1 (en) | Image compositing with ray tracing | |
US20230274493A1 (en) | Direct volume rendering apparatus | |
US6906729B1 (en) | System and method for antialiasing objects | |
US6690369B1 (en) | Hardware-accelerated photoreal rendering | |
US20180005432A1 (en) | Shading Using Multiple Texture Maps | |
Yu | Efficient visibility processing for projective texture mapping | |
US6894696B2 (en) | Method and apparatus for providing refractive transparency in selected areas of video displays | |
Krone et al. | Implicit sphere shadow maps |
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 |