CN113255251B - 一种真实感冰型的渲染方法 - Google Patents
一种真实感冰型的渲染方法 Download PDFInfo
- Publication number
- CN113255251B CN113255251B CN202110796381.9A CN202110796381A CN113255251B CN 113255251 B CN113255251 B CN 113255251B CN 202110796381 A CN202110796381 A CN 202110796381A CN 113255251 B CN113255251 B CN 113255251B
- Authority
- CN
- China
- Prior art keywords
- ice
- initial
- element set
- color
- bounding box
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/28—Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Fluid Mechanics (AREA)
- Computer Graphics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明适用于风洞试验技术领域,提供了一种真实感冰型的渲染方法,包括步骤:读取冰型数据和飞行器数据获得初始冰型片元集和初始飞机片元集,将初始冰型片元集和初始飞机片元集合并得到初始片元集,采用初始片元集进行BVH树构建;通过对BVH树进行两次遍历后获得重组片元集,重组片元集的数据形式为结构体数组;构建像素着色器,像素着色器中设置有摄像机,摄像机设置于世界坐标系中,片元集位于世界坐标系中;摄像机发射初始光线,对初始光线与片元集进行求交,通过光线追踪在所述像素着色器中获得冰型图像。本发明的真实感冰型的渲染方法,具有高质量的渲染效果,和高效的实时渲染性能,能够任意的旋转缩放而不出现掉帧的效果。
Description
技术领域
本发明涉及风洞试验技术领域,尤其是涉及一种真实感冰型的渲染方法。
背景技术
为了对飞行器结冰现象进行研究,研究人员常常采用基于计算流体动力学(以下简称:CFD)的数值模拟方法来模拟飞行器结冰过程和结冰结果。冰型数据往往含有多种物理特征,包括冰层厚度,冰体类别等等,这些特征在飞行器结冰现象研究中起着重要的作用。冰型可视化是CFD研究过程中的一个重要环节,要求系统编写者呈现一个高质量的冰型渲染结果。高质量的冰型渲染方法,有助于相关研究人员更方便、更有效地对飞行器冰型状况进行研究。
飞行器结冰的常见冰体类别主要有三种,其形成条件和对飞行器产生的危害各不相同,是在CFD数据可视化过程中最重要的特征之一。第一种结冰种类为霜冰,是指冷水滴接触飞行器表面还没来得及扩散就完全凝结的冰,易被除冰装置去除,危害相对较小;第二种冰型为明冰,是较大液态水撞击飞行器表面,在移动过程中缓慢凝结的,危害较大;第三种为混合冰,前缘驻点中心为明冰,后部则为毛冰冰羽,危害程度不亚于明冰。
不同结冰类型和冰体外形的高质量渲染,对于飞行器结冰现象的研究具有重要意义。随着CFD模拟的需求不断加深,模拟数据的不断细化和增加,对渲染过程的效率和渲染结果的真实感有了更高的要求。
自20世纪90年代以来,传统的3D渲染通常会采用一种被称为光栅化的流程。光栅化使用基于三角形或多边形网格创建的对象来构建物体的3D模型。然后渲染管线将3D模型的每个三角形转换成2D图像平面上的像素。这些像素最终在屏幕上显示之前,还可能会被进一步处理或“着色”。虽然光栅化对于实时生成图像非常有效,但为光栅化管线添加逼真的光照效果会使复杂性提升,因此就需要基于给定场景手动进行许多参数调整。要想维持良好的性能,通常需要通过剪切或处理掉不可见的一些物体面,或进行估计,这可能会影响整体的逼真感。
现有可视化渲染方法多采用光栅化(Rasterization)渲染,又称栅格化或像素化,即把矢量图形转化成像素点儿的过程,具有将图转化为一个个栅格组成的图象的作用,特点是每个元素对应帧缓冲区中的一像素。先计算多边形或三角形顶点的坐标变换,然后在多边形或三角形内填充纹理(同样是经过坐标变换),同时每个填充点也可以经过fragmentshader计算来实现各种效果。光栅化其实是一种将几何图元变为二维图像的过程。该过程包含了两部分的工作。第一部分工作:决定窗口坐标中的哪些整型栅格区域被基本图元占用;第二部分工作:分配一个颜色值和一个深度值到各个区域,光栅化过程产生的是片元。栅格化渲染的图形难以获得更有效、更细节的图像信息。
冰型与飞行器外壳数据较为庞大,光线追踪过程的渲染速度和数据维护对模拟结果具有重要的影响,同时目前的光线追踪过程较为复杂,增加了运算过程中的数据量。
目前BVH树数据在像素着色器无法实现指针功能,也不能实现在循环中改变循环变量的常规循环功能,使得BVH树数据无法导入像素着色器,在光栅化渲染管线下的像素着色器中使用BVH数据结构进行光追操作。
综上所述,现有技术存在的技术问题如下:
1.现有技术中对冰型渲染主要通过栅格化渲染等其他方式,获得颜色不同和/或颜色深浅不同的冰型,以区分不同冰型,这种冰型渲染仅能满足常规CFD模拟中区分不同冰型的需求,但随着对飞行器CFD模拟数据探究的进一步细化和增加,无法满足CFD模拟对冰型渲染过程中的渲染效率和渲染真实感的更高要求,因此,冰型渲染图像信息的有效性和细节性,对CFD模拟等后续研究具有重要的意义;
2.冰型与飞行器外壳数据较为庞大,光线追踪过程的渲染速度和数据维护对模拟结果具有重要的影响,同时现有的光线追踪过程较为复杂,增加了运算过程中的数据量,急需解决光线追踪过程中渲染速度和数据维护速度等实际问题;
3.目前BVH树数据在像素着色器无法实现指针功能,也不能实现在循环中改变循环变量的常规循环功能,使得BVH树数据无法导入像素着色器,在光栅化渲染管线下的像素着色器中使用BVH数据结构进行光追操作。
发明内容
本发明的目的是提供一种真实感冰型的渲染方法,具有高质量的渲染效果,和高效的实时渲染性能,能够任意的旋转缩放而不出现掉帧。
本发明提供了一种真实感冰型的渲染方法,包括以下步骤:
步骤S10:读取冰型数据和飞行器数据获得初始冰型片元集和初始飞机片元集,将初始冰型片元集和初始飞机片元集合并得到初始片元集,采用所述初始片元集进行BVH树构建;通过对所述BVH树进行两次遍历后获得重组片元集,所述重组片元集的数据形式为结构体数组,所述结构体数组由多个数组元素组成,每个数组元素均具有数组元素下标,通过DFS算法获得每个数组元素的下标;
步骤S20:构建像素着色器,所述像素着色器中设置有摄像机,所述摄像机设置于世界坐标系中,所述重组片元集位于所述世界坐标系中;
步骤S30:所述摄像机发射初始光线,对所述初始光线与所述重组片元集进行求交,通过光线追踪在所述像素着色器中获得冰型图像。
进一步的,步骤S10中,结构体数组对所述BVH树进行第一次遍历时,当前数组元素下标加一为命中索引数组元素的下标,所述当前数组元素为DFS算法正在遍历的数组元素。
进一步的,步骤S10中,结构体数组对所述BVH树进行第二次遍历时,通过所述DFS算法标记父亲节点和右兄弟节点,除根节点外,当所述当前数组元素存在右兄弟节点时,未命中索引数组元素为右兄弟节点,否则未命中索引数组元素为父亲节点中的未命名索引数组元素,根节点的未命中索引数组元素直接指向END。
进一步的,步骤S30中,所述光线追踪的具体步骤包括:判断所述初始光线与所述重组片元集是否相交;若相交,则得到冰型颜色;若不相交,则得到背景颜色;所述冰型图像包括所述冰型颜色和所述背景颜色。
进一步的,若所述初始光线与所述重组片元集相交,则将所述初始光线通过法线贴图渲染得到反射颜色和折射颜色,将逃逸颜色和所述冰内颜色按照第一混合比混合得到混合颜色,所述逃逸颜色通过对重组飞机片元集进行Blinn-Phong模型求解得到,将所述反射颜色和所述混合颜色按照第二混合比混合得到冰型颜色。
进一步的,所述法线贴图为灰度噪声贴图,具体步骤包括:求取梯度和读取纹理,求取梯度时叠加三个倍频进行处理,读取纹理时采用三向贴图进行纹理采样。
进一步的,步骤S10中,所述初始片元集包括多个冰型单片元和多个飞机单片元,所述BVH树的构建步骤包括:首先对所述初始片元集求取大包围盒,然后以二叉树的形式将大包围盒递归划分为两个子包围盒,再以二叉树形式递归划分两个子包围盒,直到每个子包围盒中BVH树的节点只剩一个片元,则该片元为叶子节点,其余片元为非叶子节点。
进一步的,所述包围盒为AABB包围盒、SPHERE包围盒、OBB包围盒、8-DOP包围盒、CONVEX HULL包围盒和FDH固定方向包围盒中的一种或多种。
进一步的,所述非叶子节点的求交结构通过所述初始光线是否与包围盒边界求交进行判断;叶子节点的求交结果通过Möller Trumbore求交算法进行判断。
综上所述,本发明至少具有如下技术效果:
1.本发明通过光线追踪在光栅化的像素着色器中获得图像,将光栅化运行速度快的优势与光线追踪真实感好的优势相结合,能够更有效、更快速的获得细节信息丰富、真实感良好的可视化图像,更加能满足目前的CFD数据对可视化进一步细化的需求;
2.本发明通过对BVH树进行两次遍历获得重组片元集,重组片元集的数据形式为结构体数组,所述结构体数组由多个数组元素及其数组元素下标组成,实现了将重组片元集导入像素着色器后无需使用指针且无需改变循环变量即可使用,解决了目前像素着色器无法使用指针对片元数据进行遍历和使用的问题,同时,采用结构体数组对BVH数组进行重组后再导入像素着色器的方法,进一步节约存储空间,降低了光线追踪运算过程中的数据量,提高了光线追踪过程中的渲染速度,同时加入光线追踪,在保证了光线追踪的高质量渲染效果的基础上,又能做到实时渲染的高效性能,能够任意的旋转缩放而不出现掉帧现象;
3.本发明通过法线贴图来渲染冰型表面的凹凸程度,具体通过灰度噪声贴图中相邻像素之间的梯度信息来求取法线扰动,为法线扰动设定相应的法线扰动系数,法线扰动系数越大,冰型凹凸程度越强烈,根据冰型类型(霜冰、明冰、混合冰)的不同,从小到大设定不同的法线扰动系数,从而获得冰型表面凹凸程度更接近真实冰型的冰型渲染图像信息;
4.本发明通过将逃逸颜色和冰内颜色按照第一混合比进行混合,得到混合颜色,获得光线在冰型内的光线吸收度,不同冰型渲染具有不同的第一混合比,第一混合比(逃逸颜色:冰内颜色)从高到底依次渲染明冰、混合冰、霜冰,同时综合光线在冰内的传播距离,从而得到不同冰型内部的光线吸收度,进一步提高冰型在吸光度方面的渲染真实性;
5.本发明通过将反射颜色和混合颜色按照第二混合比进行混合,得到冰型颜色,获得冰型最终的视觉颜色,第二混合比(反射颜色:混合颜色)从高到底依次渲染霜冰、混合冰、明冰,从而获得渲染真实度高的三种不同的冰型。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明中真实感冰型渲染方法的原理示意图;
图2是本发明中真实感冰型渲染方法的流程图;
图3是本发明中BVH树遍历的示意图;
图4是本发明中坐标系转换的示意图;
图5是本发明中光线追踪中求交的示意图;
图6是本发明中BVH构建中包围盒示意图;
图7是本发明中渲染的真实感霜冰飞行器模型图像;
图8是本发明中渲染的真实感霜冰图像;
图9是本发明中渲染的真实感明冰图像;
图10是本发明中渲染的真实感混合冰图像。
其中,100、摄像机,200、冰型,300、飞行器,401、初始光线,402、折射光线,403、逃逸光线,404、反射光线,500、任意位置光源,600、背景板颜色。
具体实施方式
以下的说明提供了许多不同的实施例、或是例子,用来实施本发明的不同特征。以下特定例子所描述的元件和排列方式,仅用来精简的表达本发明,其仅作为例子,而并非用以限制本发明。
在本发明的描述中,需要理解的是,术语"上"、"下"、"前"、"后"、"左"、"右"、"垂直"、"水平"、"顶"、"底"、"内"、"外"等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语"第一"、"第二"仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有"第一"、"第二"的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,"多个"的含义是两个或两个以上,除非另有明确具体的限定。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语"安装"、"相连"、"连接"应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接:可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之"上"或之"下"可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征"之上"、"上方"和"上面"包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征"之下"、"下方"和"下面"包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度小于第二特征。
本发明可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本发明提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
如图1和图2所示,本发明提供了一种真实感冰型的渲染方法,包括以下步骤:
步骤S10:读取冰型数据和飞行器数据获得初始冰型片元集和初始飞机片元集,将初始冰型片元集和初始飞机片元集合并得到初始片元集,采用所述初始片元集进行BVH树构建;通过对所述BVH树进行两次遍历后获得重组片元集,所述重组片元集的数据形式为结构体数组,所述结构体数组由多个数组元素组成,每个数组元素均具有数组下标,通过DFS算法获得每个数组元素的下标;
步骤S20:构建像素着色器,所述像素着色器中设置有摄像机,所述摄像机设置于世界坐标系中,所述重组片元集位于所述世界坐标系中;
步骤S30:所述摄像机发射初始光线,对所述初始光线与所述重组片元集进行求交,通过光线追踪在所述像素着色器中获得冰型图像。
冰型数据、飞行器数据具体包括飞机顶点集、冰型顶点集、飞机片元集、冰型片元集和冰型200和飞行器300各自的总片元数等。首先,将初始飞机片元集和初始冰型片元集合并进行BVH树的构建。在读取初始冰型片元时,存在由于部分初始冰型片元与初始飞机片元相重合而导致部分初始冰型片元与初始飞机片元的对应编号相同的情况,因此,在对BVH树构建之前,需要将初始冰型片元和初始飞机片元的编号集合并到一起,再进行后续处理。
然后,在采用SSBO(Shader Storage Buffer Object)技术进行将读取的数据传输至像素着色器之前,由于BVH树中的数据在像素着色器无法实现指针功能,也不能实现在循环中改变循环变量的常规循环功能,因此,需要对BVH树进行重新组织,具体通过对BVH树进行重组得到重组片元集,从而将BVH树的数据存入带有下标的数组元素中。而飞机顶点集和冰型顶点集则直接采用数组元素的形式导入像素着色器。
其中,SSBO是一种缓冲区对象,用于存储与检索着色器语言的数据,其具有容量大、可读写和可变存储的优势,由OpenGL主程序构建。
同时,OpenGL主程序还构建了顶点着色器、像素着色器、交互数据和纹理数据的传输等。本发明实施例中顶点着色器仅用于提供一块铺满窗口的画布,像素着色器用于光线追踪并生成具体的冰型图像。其中,像素着色器设置有摄像机100,摄像机100的设置是由屏幕坐标系向世界坐标系的转化,经过的流程如图4所示依次为屏幕坐标系、规范设备坐标系NDC、相机坐标系、世界坐标系。从屏幕坐标到相机坐标,均为像素的坐标变换,如公式(1)至公式(4)所示。具体的,公式(1)和公式(2)分别为某点在屏幕坐标系中x轴的分量和y轴的分量转化为该点在规范设备坐标系NDC中x轴的分量和y轴的分量,公式(3)和公式(4)分别为某点在规范设备坐标系NDC中x轴的分量和y轴的分量转化为该点在相机坐标系中x轴的分量和y轴的分量。从相机坐标到世界坐标系,只需要进行一次x坐标的规格化和整体坐标的视域缩放即可。
其中,PixelNDCx为该点在规范设备坐标系NDC中x轴的分量,Pixelx为该点在屏幕坐标系中x轴的分量,ImageWidth为显示窗口的图像宽度;PixelNDCy为该点在规范设备坐标系NDC中y轴的分量,Pixely为该点在屏幕坐标系中y轴的分量,ImageHeight为显示窗口的图像高度;PixelScreenx为该点在相机坐标系中x轴的分量,PixelScreeny为该点在相机坐标系中y轴的分量。
光线追踪(Ray Tracing)也叫光线跟踪或光束投射法,是一种在二维屏幕上呈现三维图像的方法,已成为目前图形渲染的主流方法。光线追踪方法通过模拟真实摄像机100成像,追踪计算光线的传播过程,能获得更有效、具有更多细节的图形信息,对CFD数据可视化具有重要的意义。
通过光线追踪在光栅化的像素着色器中获得图像,将光栅化运行速度快的优势与光线追踪真实感好的优势相结合,能够更有效、更快速的获得细节信息丰富、真实感良好的可视化图像,更加能满足目前的CFD数据对可视化进一步细化的需求。
同时,对BVH树进行两次遍历获得重组片元集,重组片元集的数据形式为结构体数组,所述结构体数组由多个数组元素及其数组元素下标组成,使得重组片元集导入像素着色器中后具有指针功能,并且能够实现在循环中改变循环变量的常规循环功能,解决了目前像素着色器无法使用指针对片元数据进行遍历和使用的问题,同时,采用结构体数组对BVH数组进行重组后再导入像素着色器的方法,进一步节约存储空间,降低了光线追踪运算过程中的数据量,简化了光线追踪的流程,提高了光线追踪过程中的渲染速度,从而实现了实时光线追踪,能够在高性能的前提下呈现高质量渲染结果,在处理并渲染大量数据的前提下依然保持高效的渲染性能。同时加入光线追踪,弥补了冰型次表面散射近似处理在光线吸收模拟过程中的误差。
进一步的,步骤S10中,对所述BVH树进行第一次遍历时,当前数组元素下标加一为命中索引数组元素的下标,所述当前数组元素为DFS算法正在遍历的数组元素。
DFS(深度优先搜索算法,Depth-First-Search),是搜索算法的一种,它沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点的所有边都己被探寻过,搜索将回溯到发现节点的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。
进一步的,步骤S10中,对所述BVH树进行第二次遍历时,通过所述DFS算法标记父亲节点和右兄弟节点,除根节点外,当所述当前数组元素存在右兄弟节点时,未命中索引数组元素为右兄弟节点,否则未命中索引数组元素为父亲节点中的未命名索引数组元素,根节点的未命中索引数组元素直接指向END。
BVH树的遍历示意图如图3所示,数组元素为Pi,i为图3中所示的数组元素下标,实线箭头指向命中索引数组元素,虚线箭头指向未命中索引数组元素。通过将带有命中索引和/或未命中索引的数组元素导入像素着色器中,进一步采用带有命中索引数组元素和未命中索引数组元素标记的重组片元集,使得像素着色器中实现了BVH树在像素着色器中的使用,从而进一步降低了光线追踪过程中的运算数据量,提高了光线追踪的渲染速度。
当对所述BVH树进行第一次遍历时,根节点的数组元素为P0,采用DFS算法遍历,根节点数组元素P0一边指向命中索引数组元素P1,另一边指向END;继续遍历,此时当前数组元素为P1,则当前数组元素P1一边指向命中索引数组元素P2,另一边指向数组元素P4,同时将P4标记为P1的右兄弟节点;继续遍历,当前数组元素为P2,则当前数组元素P2的命中索引数组元素为P3,同时将P3标记为P2的右兄弟节点;继续遍历,当前数组元素为P3,则当前数组元素P3的命中索引数组元素指向P3,同时将P4标记为P3的父亲节点P4;继续遍历,当前数组元素为P4时,则当前数组元素P4一边指向命中索引数组元素P5,另一边指向END,同时将END标记为P4的父亲节点;继续遍历直至所有数组元素完成第一次遍历。
当对所述BVH树进行第二次遍历时,在顺序遍历的过程中,将当前数组元素的父亲节点、兄弟节点或END标记为未命名索引数组元素,继续遍历,直至完成所有数组元素的第二次遍历。
进一步的,步骤S30中,所述光线追踪的具体步骤包括:判断所述初始光线401与所述重组片元集是否相交;若相交,则得到冰型颜色;若不相交,则得到背景颜色;所述冰型图像包括所述冰型颜色和所述背景颜色。所述背景颜色为顶点着色器预设好的背景板颜色600。
进一步的,若所述初始光线与所述重组片元集相交,则将所述初始光线通过法线贴图渲染得到反射颜色和折射颜色,将逃逸颜色和所述冰内颜色按照第一混合比混合得到混合颜色,所述逃逸颜色通过对重组飞机片元集进行Blinn-Phong模型求解得到,并在逃逸颜色的计算中加入Wrap Lingting使得图像颜色更加柔和,将所述反射颜色和所述混合颜色按照第二混合比混合得到冰型颜色。所述冰内颜色由OpenGL主程序设置得到。
整个求交过程有两个走向,如图5所示,在第一次求交过程,当初始光线401与具体物体相交后得到反射光线404和折射光线402,反射光线404需要进行反射计算,折射光线402继续进入冰型内部进行折射后的第二次求交,第二次求交的基本操作与第一次求交类似。其中,求交过程是光线与BVH树求交的过程,具体依据命中索引数组元素进行循环求解。
第一次求交之后,通过法线贴图来渲染冰型表面的凹凸程度,并获得反射光线404和折射光线402的方向,反射光线404方向为普通镜面反射,折射光线402方向为空气向冰内的折射。具体的,通过灰度噪声贴图中相邻像素之间的梯度信息来求取法线扰动,为法线扰动设定相应的法线扰动系数,法线扰动系数越大,冰型凹凸程度越强烈,根据冰型类型(霜冰、明冰、混合冰)的不同,从小到大设定不同的法线扰动系数,从而获得冰型表面凹凸程度更接近真实冰型的冰型渲染图像信息。
通过将逃逸颜色和冰内颜色按照第一混合比进行混合,得到混合颜色,获得光线在冰型内的光线吸收度,不同冰型渲染具有不同的第一混合比,第一混合比(逃逸颜色:冰内颜色)从高到底依次渲染明冰、混合冰、霜冰,同时综合光线在冰内的传播距离,从而得到不同冰型内部的光线吸收度,进一步提高冰型在吸光度方面的渲染真实性。
同时,通过将反射颜色和混合颜色按照第二混合比进行混合,得到冰型颜色,获得冰型最终的视觉颜色,第二混合比(反射颜色:混合颜色)从高到底依次渲染霜冰、混合冰、明冰,从而获得渲染真实度高的三种不同的冰型。
进一步的,所述法线贴图为灰度噪声贴图,具体步骤包括:求取梯度和读取纹理,为了纹理的细节信息更加充分,求取梯度时叠加三个倍频进行处理,为了保证纹理过渡更加自然,读取纹理时采用三向贴图进行纹理采样。其中三向贴图的计算如公式(5)所示,通过公式(5)的计算分别对x轴y轴z轴的信息进行纹理采样,其中,Sampling为经xyz三个方向采样后的最终采样结果,Normal.x、Normal.y、Normal.z分别为显示窗口中一点法向量在x轴、y轴、z轴上的分量,Position.yz、Position.xz、Position.xy分别上述点在yz轴上的分量、xz轴上的分量和xy轴上的分量;Texture为通过Position在xyz轴上的分量在纹理上采样:
进一步的,步骤S10中,所述初始片元集包括多个冰型单片元和多个飞机单片元,所述BVH树的构建步骤包括:首先对所述初始片元集求取大包围盒,然后以二叉树的形式将大包围盒递归划分为两个子包围盒,再以二叉树形式递归划分两个子包围盒,直到每个子包围盒中BVH树的节点只剩一个片元,则该片元为叶子节点,其余片元为非叶子节点。
进一步的,所述包围盒为AABB包围盒、SPHERE包围盒、OBB包围盒、8-DOP包围盒、CONVEX HULL包围盒和FDH固定方向包围盒中的一种或多种。
单个包围盒的具体求取步骤为:首先分别求取包围盒四个顶点在XYZ方向的最小值和最大值,将XYZ方向的最小值作为包围盒的小边界,将XYZ方向的最大值作为包围盒的大边界,大边界和小边界共同限定包围盒在XYZ方向的边界。如图6所示仅以XY方向为例,XY方向的最小值分别为Xmin和Ymin,XY方向的最大值分别为Xmax和Ymax,Xmin和Xmax用于限定包围盒在X方向的边界,Ymin和Ymax用于限定包围盒在Y方向的边界,由于示图角度原因未能示出的Z方向同样均由Z方向的最大值Zmin和最小值Zmax限定包围盒在Z方向的边界。
进一步的,所述非叶子节点的求交结构通过所述初始光线401是否与包围盒边界求交进行判断;叶子节点的求交结果通过Möller Trumbore求交算法进行判断,如公式(6)所示:
公式(6)中设光线的方程为Ray=O+tD,其中,O为光线发射点,D为光线发射方向,t为权重,一束光线从光线发射点O开始,沿着光线发射方向D移动任意长度后与像素着色器中的重组片元集相交,根据t值得不同,得到得R值也不同,所有这些不同的R值便构成了整束光线。重组片元集中每个片元为三角形ABC,设三角形的三个顶点为P0,P1,P2。b 1为P1的权重,b 2为P2的权重,而1-b 1-b 2是P0的权重。
本发明通过C++语言读取冰型数据和飞行器数据,通过GLSL语言构建所述像素着色器。构建专用的C++语言,用于解析需要读入的ply格式的冰型数据和飞行器数据。当有两个顶点及两个以上顶点的距离大于规定的阈值时,则判定为有效片元,否则为无效片元,因此,需要根据片元四顶点的距离剔除无效片元。
本发明对于具体的飞行器与冰型数据做了大量的处理,是针对具体CFD数据的方法。并且,本发明通过BVH树加速结构并参考传统的光线追踪进一步简化了光线追踪的工作流程,从而实现了实时光线追踪算法,能够在高性能的前提下呈现高质量渲染结果,在处理并渲染大量数据的前提下,依然能保持高效的渲染性能。通过法线贴图优化了上述渲染流程,加入光线追踪,弥补了冰型次表面散射近似处理在光线吸收模拟过程中的误差,最终得到渲染的真实感飞行器冰型图像如图7所示,该飞行器在迎风面均覆盖有冰型,图7中所示冰型为霜冰。同时,为进一步区分不同冰型的区别,截取不同冰型的聚焦图像如图8、图9和图10所示,分别为霜冰、明冰和混合冰三种冰型的渲染图像,可以看出,通过本发明中的飞行器冰型渲染方法能够渲染出真实感更好、区别度更高的霜冰、明冰和混合冰。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种真实感冰型的渲染方法,其特征在于,包括以下步骤:步骤S10:读取冰型数据和飞行器数据获得初始冰型片元集和初始飞机片元集,将初始冰型片元集和初始飞机片元集合并得到初始片元集,采用所述初始片元集进行BVH树构建;通过对所述BVH树进行两次遍历后获得重组片元集,所述重组片元集的数据形式为结构体数组,所述结构体数组由多个数组元素组成,每个数组元素均具有数组元素下标,通过DFS算法获得每个数组元素的下标;步骤S20:构建像素着色器,所述像素着色器中设置有摄像机,所述摄像机设置于世界坐标系中,所述重组片元集位于所述世界坐标系中;步骤S30:所述摄像机发射初始光线,对所述初始光线与所述重组片元集进行求交,通过光线追踪在所述像素着色器中获得冰型图像;
步骤S10中,结构体数组对所述BVH树进行第一次遍历时,当前数组元素下标加一为命中索引数组元素的下标,所述当前数组元素为DFS算法正在遍历的数组元素;结构体数组对所述BVH树进行第二次遍历时,通过所述DFS算法标记父亲节点和右兄弟节点,除根节点外,当所述当前数组元素存在右兄弟节点时,未命中索引数组元素为右兄弟节点,否则未命中索引数组元素为父亲节点中的未命名索引数组元素,根节点的未命中索引数组元素直接指向END;
步骤S30中,所述光线追踪的具体步骤包括:判断所述初始光线与所述重组片元集是否相交;若相交,则得到冰型颜色;若不相交,则得到背景颜色;所述冰型图像包括所述冰型颜色和所述背景颜色;
若所述初始光线与所述重组片元集相交,则将所述初始光线通过法线贴图渲染得到反射颜色和折射颜色,将逃逸颜色和冰内颜色按照第一混合比混合得到混合颜色,所述逃逸颜色通过对重组飞机片元集进行Blinn-Phong模型求解得到,将所述反射颜色和所述混合颜色按照第二混合比混合得到冰型颜色。
2.如权利要求1所述的一种真实感冰型的渲染方法,其特征在于,所述法线贴图为灰度噪声贴图,具体步骤包括:求取梯度和读取纹理,求取梯度时叠加三个倍频进行处理,读取纹理时采用三向贴图进行纹理采样。
3.如权利要求1所述的一种真实感冰型的渲染方法,其特征在于,步骤S10中,所述初始片元集包括多个冰型单片元和多个飞机单片元,所述BVH树的构建步骤包括:首先对所述初始片元集求取大包围盒,然后以二叉树的形式将大包围盒递归划分为两个子包围盒,再以二叉树形式递归划分两个子包围盒,直到每个子包围盒中BVH树的节点只剩一个片元,则该片元为叶子节点,其余片元为非叶子节点。
4.如权利要求3所述的一种真实感冰型的渲染方法,其特征在于,所述包围盒为AABB包围盒、SPHERE包围盒、OBB包围盒、8-DOP包围盒、CONVEX HULL包围盒和FDH固定方向包围盒中的一种或多种。
5.如权利要求3-4任意一项所述的一种真实感冰型的渲染方法,其特征在于,所述非叶子节点的求交结构通过所述初始光线是否与包围盒边界求交进行判断,叶子节点的求交结果通过Möller Trumbore求交算法进行判断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110796381.9A CN113255251B (zh) | 2021-07-14 | 2021-07-14 | 一种真实感冰型的渲染方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110796381.9A CN113255251B (zh) | 2021-07-14 | 2021-07-14 | 一种真实感冰型的渲染方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113255251A CN113255251A (zh) | 2021-08-13 |
CN113255251B true CN113255251B (zh) | 2021-09-17 |
Family
ID=77191260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110796381.9A Active CN113255251B (zh) | 2021-07-14 | 2021-07-14 | 一种真实感冰型的渲染方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113255251B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113674389B (zh) * | 2021-10-25 | 2022-03-01 | 深圳须弥云图空间科技有限公司 | 场景渲染方法、装置、电子设备及存储介质 |
CN116894282B (zh) * | 2023-09-07 | 2023-11-24 | 中国空气动力研究与发展中心计算空气动力研究所 | 空间点集与多连通网格区域拓扑关系的识别方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109215106A (zh) * | 2018-08-30 | 2019-01-15 | 东北大学 | 一种基于动态场景的实时光线追踪加速结构的方法 |
CN109345619A (zh) * | 2018-08-10 | 2019-02-15 | 华北电力大学(保定) | 基于类八叉树编码的海量点云空间管理方法 |
CN110827384A (zh) * | 2018-08-10 | 2020-02-21 | 辉达公司 | 用于对数据路径调度的高速缓存请求进行高效分组的方法 |
CN111291505A (zh) * | 2020-05-08 | 2020-06-16 | 中国空气动力研究与发展中心低速空气动力研究所 | 一种基于深度置信网络的翼型结冰冰形预测方法及装置 |
CN111340928A (zh) * | 2020-02-19 | 2020-06-26 | 杭州群核信息技术有限公司 | 一种结合光线跟踪的Web端实时混合渲染方法、装置及计算机设备 |
CN111383318A (zh) * | 2018-12-28 | 2020-07-07 | 英特尔公司 | 用于层级光束追踪器的方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103500422A (zh) * | 2013-09-22 | 2014-01-08 | 国家电网公司 | 一种组件化的桌面演练虚拟培训系统及其培训方法 |
CN111563948B (zh) * | 2020-03-30 | 2022-09-30 | 南京舆图科技发展有限公司 | 基于gpu进行资源动态处理和缓存的虚拟地形渲染方法 |
CN113034515A (zh) * | 2021-03-22 | 2021-06-25 | 易视腾科技股份有限公司 | 基于包围盒树的多边形裁剪方法、电子设备及存储介质 |
-
2021
- 2021-07-14 CN CN202110796381.9A patent/CN113255251B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109345619A (zh) * | 2018-08-10 | 2019-02-15 | 华北电力大学(保定) | 基于类八叉树编码的海量点云空间管理方法 |
CN110827384A (zh) * | 2018-08-10 | 2020-02-21 | 辉达公司 | 用于对数据路径调度的高速缓存请求进行高效分组的方法 |
CN109215106A (zh) * | 2018-08-30 | 2019-01-15 | 东北大学 | 一种基于动态场景的实时光线追踪加速结构的方法 |
CN111383318A (zh) * | 2018-12-28 | 2020-07-07 | 英特尔公司 | 用于层级光束追踪器的方法和装置 |
CN111340928A (zh) * | 2020-02-19 | 2020-06-26 | 杭州群核信息技术有限公司 | 一种结合光线跟踪的Web端实时混合渲染方法、装置及计算机设备 |
CN111291505A (zh) * | 2020-05-08 | 2020-06-16 | 中国空气动力研究与发展中心低速空气动力研究所 | 一种基于深度置信网络的翼型结冰冰形预测方法及装置 |
Non-Patent Citations (2)
Title |
---|
ARCTIC OCEAN SURFACE TYPE CLASSIFICATION USING SAR IMAGES AND MACHINE LEARNING ALGORITHMS;Balashova, EA 等;《2019 IEEE INTERNATIONAL GEOSCIENCE AND REMOTE SENSING SYMPOSIUM (IGARSS 2019)》;20190802;第10003-10006页 * |
基于STL模型的冰模快速成型切片算法研究;郭翠平;《中国优秀硕士学位论文全文数据库 工程科技Ⅰ辑》;20180315(第3期);B022-262 * |
Also Published As
Publication number | Publication date |
---|---|
CN113255251A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kaufman et al. | Volume graphics | |
Meyer et al. | Interactive volumetric textures | |
CN113255251B (zh) | 一种真实感冰型的渲染方法 | |
CN106570929B (zh) | 一种动态体积云的构建与绘制方法 | |
CN101458823B (zh) | 一种虚拟舞台环境下实时光照绘制的方法 | |
CN101763649B (zh) | 一种增强模型轮廓的表面点绘制方法 | |
Iglesias | Computer graphics for water modeling and rendering: a survey | |
CN103530907B (zh) | 基于图像的复杂三维模型绘制方法 | |
Kaufman | Voxels as a computational representation of geometry | |
Dorward | A survey of object-space hidden surface removal | |
CN106056670B (zh) | 塔式太阳能热发电系统中剔除遮挡的辐射能密度模拟方法 | |
CN105205861A (zh) | 基于Sphere-Board的树木三维可视化模型实现方法 | |
CN102592306B (zh) | 虚拟环境中遮挡的估计方法 | |
Boudon et al. | Survey on computer representations of trees for realistic and efficient rendering | |
Décoret et al. | Billboard clouds | |
CN111179398A (zh) | 基于3dgis的机动车尾气扩散模拟和体视化方法 | |
Max et al. | Approximate volume rendering for curvilinear and unstructured grids by hardware‐assisted polyhedron projection | |
Fu et al. | Development and Application of Marine Environment Data Visualization Technology | |
Ueng et al. | Interpolation and visualization for advected scalar fields | |
Deschênes et al. | Multiresolution interactive modeling with efficient visualization | |
SMUTNÝ | Rendering of Underwater Scenes | |
Reis et al. | High-quality rendering of quartic spline surfaces on the GPU | |
Gunjee et al. | Point splatting based on translucent shadow mapping and hierarchical bucket sorting | |
Atalay et al. | Interpolation over Light Fields with Applications in Computer Graphics. | |
Favorskaya et al. | Large scene rendering |
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 |