CN106780708A - 一种基于模拟折射和全局光照的3d模型渲染方法及系统 - Google Patents
一种基于模拟折射和全局光照的3d模型渲染方法及系统 Download PDFInfo
- Publication number
- CN106780708A CN106780708A CN201611038326.9A CN201611038326A CN106780708A CN 106780708 A CN106780708 A CN 106780708A CN 201611038326 A CN201611038326 A CN 201611038326A CN 106780708 A CN106780708 A CN 106780708A
- Authority
- CN
- China
- Prior art keywords
- omega
- point
- refraction
- normal vector
- global illumination
- 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
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000009877 rendering Methods 0.000 title claims abstract description 53
- 238000005286 illumination Methods 0.000 title claims abstract description 38
- 238000004088 simulation Methods 0.000 title claims abstract description 13
- 239000013598 vector Substances 0.000 claims abstract description 64
- 230000004907 flux Effects 0.000 claims description 25
- 239000007787 solid Substances 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 9
- 230000003287 optical effect Effects 0.000 claims description 9
- 230000009471 action Effects 0.000 claims description 8
- 238000004134 energy conservation Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 239000000463 material Substances 0.000 claims description 4
- 238000007781 pre-processing Methods 0.000 claims description 4
- 230000000750 progressive effect Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 45
- 230000003993 interaction Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 abstract description 3
- 230000002452 interceptive effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000012634 fragment Substances 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 241000499895 Bloomeria Species 0.000 description 1
- 235000014698 Brassica juncea var multisecta Nutrition 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 244000275904 brauner Senf Species 0.000 description 1
- 239000003518 caustics Substances 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 235000013365 dairy product Nutrition 0.000 description 1
- 239000011521 glass Substances 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/50—Lighting effects
- G06T15/506—Illumination models
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明公开了基于模拟折射和全局光照的3D模型渲染方法及系统,方法包括:对图像进行光栅化处理,得到每个像素点的基础特征值:{入射方向击中表面的第一折射位置P1,P1点所在表面的法向量根据所述基础特征值得到第一次折射光线方向通过模拟第二次折射位置P2点和P2所在表面的法向量计算得到第二次折射光线根据所述进行全局光照的绘制后完成3D模型渲染。本发明基于模拟折射和全局光照的3D模型渲染方法,在GPU上分为两步,可以实现二次折射的效果,且可以在现在一般的图形硬件上运行,而现今的交互技术往往局限于一次折射。
Description
技术领域
本发明涉及交互渲染领域,特别涉及一种基于模拟折射和全局光照的3D模型渲染方法及系统。
背景技术
在很多应用中,交互操作比真实感更重要。这使得很多研究者为了满足速度的要求模拟真实的效果,通过并行计算增加可用的计算能力使得用标准的光线追踪、路径追踪技术实现交互式真实感成为可能,尽管在主流应用中较高的计算开销抑制了这种并行计算。因此,研究者们开发出增强硬件的阴影模拟,焦散线,全局光照,反射,以及基本反射效果。
现有技术中,基于GPU的折射算法的限制为:只能计算出一次折射的效果。而现实场景中很少出现折射光线只通过一个面的情况。由于人们经常通过类似眼镜的绝缘物体看到折射光线通过多个面的效果,所以计算折射光线通过多个面之后的效果非常重要。
目前,研究者们已经提出了很多方案来模拟折射光线通过一个面的效果。一种方法是使用GPUs的可编程接口来计算折射光线。折射之后的颜色决定于折射系数和环境映像,或者取决于描述附近几何信息的变化的纹理。Schmidt使用一种基于几何的技术,类似于Ofek和Rappoport实现折射效果的方法。当计算物体凹表面的时候,Ofek的方法会出现问题,但是Schmidt的方法在计算物体凹表面的折射效果时也出现同样的问题。在这种情况下,将反射之后的顶点信息准确地连接到渲染流程证明比较困难。一些研究者考虑过多面反射,比如,Guy和Soler交互地渲染简单凸几何表面的折射效果。由于他们经过分析计算折射后的顶点并每三帧更新分析后的面片,他们的方法无法适用于复杂的物体。又比如,Kay和Greenburg介绍了一个“thickness”(厚度)参数来计算两次反射的物体;这个方法只适用于标准的、薄的物体,比如窗子,但是很多物体的厚度并不均匀。再比如,Diefenbach和Badler使用了一个多步骤的方法在图形硬件上交互地渲染。而Ohbuchi提出一种定点追踪的预处理来模拟在一个多媒体原型处理器上的交互式折射效果。再比如,Heidrich等人使用光域来中和交互操作带来的较高的内存消耗。又比如,Hakura等人通过影响GPU资源来提高光线追踪的速度。但是,这种方法不能用在实时应用中,即使当CPU和GPU都被优化。
发明内容
本发明要解决的技术问题是,如何解决了目前很多交互应用致力于真实感渲染,但是应用对帧速率的要求往往使得图形硬件无法在保证速率的情况下实现某些效果的逼真渲染的问题,即如何通过实现折射效果,并实现了全局光照的绘制。
解决上述技术问题,本发明提供了一种基于模拟折射和全局光照的3D模型渲染方法,包括如下步骤:
对图像进行光栅化处理,得到每个像素点的基础特征值:{入射方向击中表面的第一折射位置P1,P1点所在表面的法向量
根据所述基础特征值得到第一次折射光线方向
通过模拟第二次折射位置P2点和P2所在表面的法向量计算得到第二次折射光线
根据所述进行全局光照的绘制后完成3D模型渲染。
更进一步,模拟P2点的计算方法进一步为:
其中,d表示P2和P1的距离,已知P1和近似的位置只需要要找到一个近似的距离故:
其中,γ为渐进系数,
其中,
其中,θi表示入射向量和表面法向量的夹角,θt表示传输向量和表面法向量的逆向量的夹角,和分别指:法向量与物体的交点距离、入射向量与物体的交点距离,用于计算P2的位置。
更进一步,所述法向量的计算方法进一步为:
根据所述按照与眼睛最远的表面的距离或者第二个表面与眼睛的距离,得到法向量
更进一步,模拟P2点时,基于Fragment shaders面片着色计算TIR全内反射,同时将θ_i的值限制在一个阀值θ_crit以内,用以使折射光线射向退出的面。
更进一步,模拟P2点时,光线追踪在RIT区域使用16次或64次采样。
更进一步,在模拟P2点时使射出的法向量垂直于摄像机的lookat向量
更进一步,所述进行全局光照的绘制的方法具体为:
基于一个四元数
其中,表示表面上的一点,S表示表面的几何特性,fr表示在处对于不同入射角ω'和出射角ω的BRDF光学材料特定,Le表示处往ω方向上自发出的光能,We是作用方程的集合;
进一步,由能量守恒公式和辐射率定义,可以得到绘制方程用以进行全局光照的绘制,用以描述了两点之间的一次作用的辐射率变化情况:
更进一步,所述能量守恒公式的建立步骤为:
RadiancePower/Flux定义光通量Φ为单位时间通过有限区域的指定光频范围的辐射能量,根据能量守恒,对于表面一点的邻近区域,其出射光通量Φout等于自发射光通量Φe与对从各个方向入射的光通量Φin的积分之和,用公式表示为:
其中,是入射光的微分立体角,ω是出射光的立体角,θ是入射光方向与所在表面法向的夹角,fr为所在区域的BRDF方程。
更进一步,所述辐射率公式定义的步骤为:
Radiance辐射率定义为L,dω为在指定方向上的单位立体角和通过垂直此方向的区域dA的单位面积辐射通量,用公式表示为:
基于上述本发明还提供了一种基于模拟折射和全局光照的3D模型渲染系统,包括:
预处理单元,用以对图像进行光栅化处理,得到每个像素点的基础特征值:{入射方向击中表面的点P1,P1点所在表面的法向量
以及,根据所述基础特征值得到第一次折射光线方向
模拟单元,通过模拟第二次反射位置P2点和P2所在表面的法向量计算得到第二次折射光线
全局光照单元,用以根据所述进行全局光照的绘制后完成3D模型渲染
本发明的有益效果:
本发明基于模拟折射和全局光照的3D模型渲染方法,在GPU上分为两步,可以实现二次折射的效果,且可以在现在一般的图形硬件上运行,而现今的交互技术往往局限于一次折射。
本发明基于模拟折射和全局光照的3D模型渲染系统,提出了一个基于图像空间的方法来模拟二次折射效果,并进行了全局光照的绘制。该系统可以在当前的GPUs上面交互运行,能够有效渲染复杂模型的折射效果。
附图说明
图1本发明一实施例中的基于模拟折射和全局光照的3D模型渲染方法流程示意图。
图2是基础折射的原理示意图。
图3a-图3f是不同处理方式下的显示结果。
图4a-图4d表示折射效果示意图。
图5是不同视角下的折射效果示意图。
图6a-图6c表示不同方式下折射效果示意图(飞机)。
图7a-图7c表示不同方式下折射效果示意图(墙壁)。
图8是基于模拟折射和全局光照的3D模型渲染系统结构示意图。
具体实施方式
现在将参考一些示例实施例描述本公开的原理。可以理解,这些实施例仅出于说明并且帮助本领域的技术人员理解和实施例本公开的目的而描述,而非建议对本公开的范围的任何限制。在此描述的本公开的内容可以以下文描述的方式之外的各种方式实施。
如本文中所述,术语“包括”及其各种变体可以被理解为开放式术语,其意味着“包括但不限于”。术语“基于”可以被理解为“至少部分地基于”。术语“一个实施例”可以被理解为“至少一个实施例”。术语“另一实施例”可以被理解为“至少一个其它实施例”。
●基础折射
给定一个点P1(如图2)及其表面信息,计算该点的一次折射相对容易。折射光线的路径服从Snell法则,即:
nisinθi=ntsinθt
其中,ni和nt表示入射介质和传输截止的反射系数。θi表示入射向量和表面法向量的夹角,θt表示传输向量和表面法向量的逆向量的夹角。
光线追踪的时候,通过复杂物体的折射光线的路径比较复杂,因为折射光线会独立地与几何面相交,并遵守Snell法则循环折射。不幸的是,GPU处理不同像素的并行计算开销很大。如图2所示,光栅化决定了P1和一个简单的面片着色可以计算出但是,P2的具体位置无法得知,除非使用基于光线的方法。由于GPU上的光线追踪技术比较慢,复杂模型的多个面的反射计算无法实现交互的速度。
向量与茶壶表面的P1点相交,以相对与法向量折射角为θi为基础、射向折射方向在P2、P3、P4点的折射由物理计算获得。本申请的方法只折射两次,使用距离和计算P2的位置。
●基于图像的渲染
相比于使用基于GPU的光线追踪,本申请提出通过光栅化即可计算的模拟用于两次反射的信息,考虑到光栅化之后被获知的信息。对每个像素,可以很容易知道下述信息:
入射方向
击中表面的点P1,以及
P1点所在表面的法向量
使用上述信息,传输方向可以通过Snell法则倍计算出来。
考虑需要找出两次折射后的光线所需的信息。为了计算点P2和法向量就以足够。由于找到很容易,我们的主要贡献是用一个简单的方法模拟P2和再次强调,我们使用近似的点P2和法向量因为准确获取它们的值需要进行每个像素的光线追踪。
计算出之后,在本申请中假设折射光线设想一个无限的环境映像去获取一个折射的颜色。
在图2中,向量与茶壶表面的P1点相交,以相对与法向量折射角为θi为基础、射向折射方向在P2、P3、P4点的折射由物理计算获得。我们的方法只折射两次,使用距离和计算P2的位置。
请参考,图1本发明一实施例中的基于模拟折射和全局光照的3D模型渲染方法流程示意图,包括如下步骤:
步骤S100对图像进行光栅化处理,得到每个像素点的基础特征值:{入射方向击中表面的第一折射位置P1,P1点所在表面的法向量
步骤S101根据所述基础特征值得到第一次折射光线方向
步骤S102通过模拟第二次折射位置P2点和P2所在表面的法向量计算得到第二次折射光线
步骤S103根据所述进行全局光照的绘制后完成3D模型渲染。
在所述步骤S102中,作为本实施例中的优选,模拟P2点的计算方法进一步为:
其中,d表示P2和P1的距离,已知P1和近似的位置只需要要找到一个近似的距离故:
其中,γ为渐进系数,
其中,
其中,θi表示入射向量和表面法向量的夹角,θt表示传输向量和表面法向量的逆向量的夹角,和分别指:法向量与物体的交点距离、入射向量与物体的交点距离,用于计算P2的位置。
在所述步骤S102中,优选地,所述法向量的计算方法进一步为:
根据所述按照与眼睛最远的表面的距离或者第二个表面与眼睛的距离,得到法向量
在所述步骤S102中,模拟P2点时,基于Fragment shaders面片着色计算TIR全内反射,同时将θ_i的值限制在一个阀值θ_crit以内,用以使折射光线射向退出的面。
在所述步骤S102中,模拟P2点时,光线追踪在RIT区域使用16次或64次采样。
在所述步骤S102中,在模拟P2点时使射出的法向量垂直于摄像机的lookat向量
在所述步骤S103中,所述进行全局光照的绘制的方法具体为:
基于一个四元数
其中,表示表面上的一点,S表示表面的几何特性,fr表示在处对于不同入射角ω'和出射角ω的BRDF光学材料特定,Le表示处往ω方向上自发出的光能,We是作用方程的集合;
进一步,由能量守恒公式和辐射率定义,可以得到绘制方程用以进行全局光照的绘制,用以描述了两点之间的一次作用的辐射率变化情况:
作为本实施例中的优选,所述能量守恒公式的建立步骤为:
RadiancePower/Flux定义光通量Φ为单位时间通过有限区域的指定光频范围的辐射能量,根据能量守恒,对于表面一点的邻近区域,其出射光通量Φout等于自发射光通量Φe与对从各个方向入射的光通量Φin的积分之和,用公式表示为:
其中,是入射光的微分立体角,ω是出射光的立体角,θ是入射光方向与所在表面法向的夹角,fr为所在区域的BRDF方程。
作为本实施例中的优选,所述辐射率公式定义的步骤为:
Radiance辐射率定义为L,dω为在指定方向上的单位立体角和通过垂直此方向的区域dA的单位面积辐射通量,用公式表示为:
1.1模拟P2点
由于光线追踪计算开销太大,其不能提供有价值的信号,来表明如何近似第二次反射的位置。考虑一个光线的参数在本申请的场景中,本申请可以将光线写成其中d表示P2和P1的距离。知道了P1和近似的位置只需要要找到一个近似的距离所以:
其中γ为渐进系数。最简单的模拟的方法是几何前面和背部的没有经过反射的距离这种方法的实现很简单,可以通过渲染反深度信息来获取。(比如,使用GL_GREATER而不是GL_LESS),将z缓冲存入一个纹理(图3a),再次渲染法线图(图3b),并通过两个表面的z的值计算距离值(表3c)。这种
简单的近似在计算不太复杂的反射系数较小的凸几何体时效果较好。
由于反射光线朝着逆向的法向量方向向内弯曲(因为nt>ni),当nt变得很大时,接近于-这表明我们需要在和之间进行插值,基于θi和θt,来获取一个更准确的的模拟。我们使用这种方法来运行结果,预计算每个顶点的但并使用下述公式进行插值:
预计算的d的样本可以实现更准确的效果,如果以紧凑的、易于访问的方式存储模型。我们尝试将模型存储为64*64的几何图片,并从64*64个方向对几何图片里的每个图元的d进行采样。这样我们就获得4096*4096个包含采样的d的值的纹理。但是,用这种方法插值会产生明显的离散化的d的值,从而产生更糟糕的结果,相比于之前描述的方法。其中,图3a-图3f具体为:到后表面的距离图3a,到前表面图3b,前、后表面之间图3c。后表面的法线图3d以及前表面的法线图3e。最终结果图3f。
1.2确定法向量N2
确定了之后,计算的最后要求是计算法向量法向量和面片存储在顶点处,但是确定哪一个多边形与相交开销比较大,除非我们使用基于图像的方法。
考虑凸表面物体,我们通过两个步骤光栅化所有的几何图形:一个图形裁剪前面,另一个裁剪后面。如果我们在第一步将表面法向量作为像素值渲染入纹理(如图3d所示),那么在第二步我们可以把估算的射出点投射到纹理空间,并且标记纹理空间以找到法向量。
用这种方法计算凸状物体的折射效果会产生一些问题,因为多个表面可能会投射到相同的z缓冲图元上。我们的方法将会为多余的折射增加纹理,但我们仍旧不清楚如何模拟更多折射产生的相交坐标(比如,图2中的P3、P4)。
与此同时,计算二次折射的效果能够满足多次折射的效果。
如果我们不为折射产生的相交坐标扩展纹理,可以使用另外两种方法来解决凹物体表面的折射效果:计算第二次折射相交的点根据与眼睛最远的表面的距离或者第二个表面(比如,第一个背部表面)与眼睛的距离(图2中的黄色或黑色的点)。唯一的不同是在第一步骤将哪个表面渲染到纹理,并在第二步骤中用以计算和图4a-图4d和图5表示了这种不同。佛像的基座,使用图4a最远的多边形,或者图4b第二个面来计算我们的二次折射效果,图4c使用一次折射,以及图4d使用计算6次折射的光线追踪生成的效果。图5是一具马的模型在两个视角下的效果。参考图像是使用光线追踪对每个像素进行64次采样的结果,右边的图像比较了我们的方法与光线追踪对每个像素进行一次采样所生成折射效果。如果渲染深度比较复杂的物体,使用最远的多边形会产生较好的折射效果,而使用第二个面的纹理会产生更平滑的效果,但使用第二个面就忽视了距离眼睛更远的多边形的折射效果。对于近乎凸表面的无题来说,上述的不同效果可以忽视。
1.3遗留问题
我们的方法存在三个问题:没有预处理计算来生成内部反射的效果,可能无法投射到一个背面多边形上,或者可能由于凹物体表面投射到一个不正确的多边形上。
面片着色(Fragment shaders)可以计算全内反射(TIR),使用前面与背面的循环光线反弹。但是,这会极大降低了代码的运行速度,因为会由于图像空间方法产生的误差产生冗余计算。我们在实现的时候将θi的值限制在一个阀值θcrit以内。使用阀值会有效地使折射光线射向退出的面。RIT区域在使用一次采样的时候会产生走样;对于复杂的物体,光线追踪在RIT区域使用16次或64次采样能够避免走样现象。尽管我们的方法在物理角度并不准确,但这种方法在TIR区域使用1次采样能够相对平滑的效果。
这里我们来考虑当的值非常大的情况。的值过大会使得的位置落在物体之外,如图3d中所示的黑色纹理像素。从概念角度来讲,这表示与物体的边缘相交。这个问题会偶尔发生,通常当物体的表面凹进去并且折射系数大于1.5。为了使我们的结果避免走样,我们使射出的法向量垂直于摄像机的lookat向量特别地,我们将投射到垂直于(比如,的平面。改善的值会避免这个问题。
最后一个问题主要发生在这样的物体上:折射介质凹进去,并且距离视点较近,其深度复杂值大于2。如图5所示,由从视点发出的光线与马的模型的身体相较于点点可能会被投射到马腿上,尽管点P2的实际位置不再马的身体上。不管第二次折射选择哪个面进行计算,这个问题我们的方法产生的走样现象,并且当物体表面凹得很明显的时候走样现象会很突出。
●全局光照
在前面步骤的基础上,我们进一步进行全局光照的计算。
全局光照的计算本质上是解决绘制问题。绘制问题可以表示为一个四元数问题,其中,表示表面上的一点,S表示表面的几何特性,fr表示在处对于不同入射角ω'和出射角ω的BRDF光学材料特定,Le表示处往ω方向上自发出的光能,We是作用方程的集合。绘制问题对光与表面的相互作用We进行建模,设法计算出从表面辐射出去并到达接收设备的光能量。
绘制方程被提出来解决绘制问题,首先定义光通量(Radiance Power/Flux)Φ为单位时间通过有限区域的指定光频范围的辐射能量。根据能量守恒,对于表面一点的邻近区域,其出射光通量Φout等于自发射光通量Φe与对从各个方向入射的光通量Φin的积分之和,用公式表示为:
其中,是入射光的微分立体角,ω是出射光的立体角,θ是入射光方向与所在表面法向的夹角,fr为所在区域的BRDF方程。
光通量与表面面积的大小有光,对于一个很小的区域,为了表示方便,定义辐射率(Radiance)L,dω为在指定方向上的单位立体角和通过垂直此方向的区域dA的单位面积辐射通量,用公式表示为:
由能量守恒公式和辐射率定义,可以得到绘制方程,它描述了两点之间的一次作用的辐射率变化情况:
●结果
我们在OpenGL上实现了本申请,使用Cg顶点和面片着色。该算法分为两个步骤。第一步渲染从视点到背部多边形的距离,并存储这些多边形的法向量,如图3a、d所示。第二步渲染前面多边形并在面片着色中计算折射效果。
假设BackfaceZBuf和BackfaceNormals是在第一步中计算的纹理,其伪代码如下所示:
for all fragments F(给出P1,和),do
运行后,我们获取到渲染1024*1024大小的图片的运行时间。我们的代码没有优化这三种技术,但我们对复杂模型的渲染仍保持很高的速度。注意用于我们的演示视频的运行时间没有在这里描述。
本申请中的大多数结果采用的折射系数是1.2。复杂的模型可能会导致不正确的折射现象。在这种情况下对每个像素进行1次采样不能解决问题。我们使用OpenGL中的多重采样会解决这个问题:对每个像素进行至少4次采样。
表1:对比本申请的方法和光线追踪计算复杂物体的折射效果的运行时间。
多边形数量 | 二次折射 | 一次折射 | 光线追踪计算场景 | ||
佛像 | 50,000 | 53.3fps | 136.8fps | 121.9s | |
奶牛 | 5,804 | 122.9fps | 285.7fps | 31.6s | |
F-16 | 4,592 | 149.2fps | 395.9fps | 26.8s | |
球 | 1,600 | 164.3fps | 323.5fps | 6.1s | |
茶壶 | 6,320 | 115.7fps | 306.9fps | 49.3s | |
金星 | 100,000 | 37.9fps | 112.2fps | 147.2s |
其中,图6a一次折射的效果,图6b本申请的方法产生的折射效果,以及图6c光线追踪的效果。飞机的折射系数是1.2,墙壁的折射系数是1.5。
其中,图7a一次折射的效果,图7b本申请的方法产生的折射效果,以及图7c光线追踪的效果。
图8是基于模拟折射和全局光照的3D模型渲染系统结构示意图,预处理单元1,用以对图像进行光栅化处理,得到每个像素点的基础特征值:{入射方向击中表面的点P1,P1点所在表面的法向量以及,根据所述基础特征值得到第一次折射光线方向模拟单元2,通过模拟第二次反射位置P2点和P2所在表面的法向量计算得到第二次折射光线全局光照单元3,用以根据所述进行全局光照的绘制后完成3D模型渲染本申请提出了一个基于图像空间的方法来模拟二次折射效果,并进行了全局光照的绘制。这个方法可以在当前的GPUs上面交互运行,能够有效渲染复杂模型的折射效果。
虽然本公开以具体结构特征和/或方法动作来描述,但是可以理解在所附权利要求书中限定的本公开并不必然限于上述具体特征或动作。而是,上述具体特征和动作仅公开为实施权利要求的示例形式。
Claims (10)
1.一种基于模拟折射和全局光照的3D模型渲染方法,其特征在于,包括如下步骤:
对图像进行光栅化处理,得到每个像素点的基础特征值:{入射方向击中表面的第一折射位置P1,P1点所在表面的法向量},
根据所述基础特征值得到第一次折射光线方向
通过模拟第二次折射位置P2点和P2所在表面的法向量计算得到第二次折射光线
根据所述进行全局光照的绘制后完成3D模型渲染。
2.根据权利要求1所述的3D模型渲染方法,其特征在于,模拟P2点的计算方法进一步为:
其中,d表示P2和P1的距离,已知P1和近似的位置只需要要找到一个近似的距离故:
其中,γ为渐进系数,
其中,
其中,θi表示入射向量和表面法向量的夹角,θt表示传输向量和表面法向量的逆向量的夹角,和分别指:法向量与物体的交点距离、入射向量与物体的交点距离,用于计算P2的位置。
3.根据权利要求2所述的3D模型渲染方法,其特征在于,所述法向量的计算方法进一步为:
根据所述按照与眼睛最远的表面的距离或者第二个表面与眼睛的距离,得到法向量
4.根据权利要求1所述的3D模型渲染方法,其特征在于,模拟P2点时,基于Fragmentshaders面片着色计算TIR全内反射,同时将θ_i的值限制在一个阀值θ_crit以内,用以使折射光线射向退出的面。
5.根据权利要求1所述的3D模型渲染方法,其特征在于,模拟P2点时,光线追踪在RIT区域使用16次或64次采样。
6.根据权利要求1所述的3D模型渲染方法,其特征在于,在模拟P2点时使射出的法向量垂直于摄像机的lookat向量
7.根据权利要求1所述的3D模型渲染方法,其特征在于,所述进行全局光照的绘制的方法具体为:
基于一个四元数
其中,表示表面上的一点,S表示表面的几何特性,fr表示在处对于不同入射角ω'和出射角ω的BRDF光学材料特定,Le表示处往ω方向上自发出的光能,We是作用方程的集合;
进一步,由能量守恒公式和辐射率定义,可以得到绘制方程用以进行全局光照的绘制,用以描述了两点之间的一次作用的辐射率变化情况:
8.根据权利要求7所述的3D模型渲染方法,其特征在于,所述能量守恒公式的建立步骤为:
Radiance Power/Flux定义光通量Φ为单位时间通过有限区域的指定光频范围的辐射能量,根据能量守恒,对于表面一点的邻近区域,其出射光通量Φout等于自发射光通量Φe与对从各个方向入射的光通量Φin的积分之和,用公式表示为:
其中,dω'是入射光的微分立体角,ω是出射光的立体角,θ是入射光方向ω'与所在表面法向的夹角,fr为所在区域的BRDF方程。
9.根据权利要求7所述的3D模型渲染方法,其特征在于,所述辐射率公式定义的步骤为:
Radiance辐射率定义为L,dω为在指定方向上的单位立体角和通过垂直此方向的区域dA的单位面积辐射通量,用公式表示为:
10.一种基于模拟折射和全局光照的3D模型渲染系统,其特征在于,包括:
预处理单元,用以对图像进行光栅化处理,得到每个像素点的基础特征值:{入射方向击中表面的点P1,P1点所在表面的法向量},
以及,根据所述基础特征值得到第一次折射光线方向
模拟单元,通过模拟第二次反射位置P2点和P2所在表面的法向量计算得到第二次折射光线
全局光照单元,用以根据所述进行全局光照的绘制后完成3D模型渲染。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611038326.9A CN106780708A (zh) | 2016-11-23 | 2016-11-23 | 一种基于模拟折射和全局光照的3d模型渲染方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611038326.9A CN106780708A (zh) | 2016-11-23 | 2016-11-23 | 一种基于模拟折射和全局光照的3d模型渲染方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106780708A true CN106780708A (zh) | 2017-05-31 |
Family
ID=58973949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611038326.9A Pending CN106780708A (zh) | 2016-11-23 | 2016-11-23 | 一种基于模拟折射和全局光照的3d模型渲染方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106780708A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112604278A (zh) * | 2020-12-29 | 2021-04-06 | 广州银汉科技有限公司 | 一种基于游戏在智能设备模拟全局光照的方法 |
CN113298936A (zh) * | 2021-06-01 | 2021-08-24 | 浙江大学 | 一种基于深度学习的多rgb-d全脸材质恢复方法 |
WO2022143367A1 (zh) * | 2020-12-28 | 2022-07-07 | 华为技术有限公司 | 一种图像渲染方法及其相关设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826214A (zh) * | 2010-03-29 | 2010-09-08 | 中山大学 | 一种基于光子映射的全局光照方法 |
-
2016
- 2016-11-23 CN CN201611038326.9A patent/CN106780708A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826214A (zh) * | 2010-03-29 | 2010-09-08 | 中山大学 | 一种基于光子映射的全局光照方法 |
Non-Patent Citations (3)
Title |
---|
CHRIS WYMAN: "An Approximate Image-Space Approach for Interactive Refraction", 《ACM TRANSACTIONS ON GRAPHICS (TOG)》 * |
李 瑞 瑞: "反射、折射、焦散的全局光照加速绘制研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
秦学: "基于辐射度回归函数的可交互全局光照渲染改进", 《上海交通大学硕士学位论文》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022143367A1 (zh) * | 2020-12-28 | 2022-07-07 | 华为技术有限公司 | 一种图像渲染方法及其相关设备 |
CN112604278A (zh) * | 2020-12-29 | 2021-04-06 | 广州银汉科技有限公司 | 一种基于游戏在智能设备模拟全局光照的方法 |
CN112604278B (zh) * | 2020-12-29 | 2021-09-17 | 广州银汉科技有限公司 | 一种基于游戏在智能设备模拟全局光照的方法 |
CN113298936A (zh) * | 2021-06-01 | 2021-08-24 | 浙江大学 | 一种基于深度学习的多rgb-d全脸材质恢复方法 |
CN113298936B (zh) * | 2021-06-01 | 2022-04-29 | 浙江大学 | 一种基于深度学习的多rgb-d全脸材质恢复方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Krivanek et al. | Practical global illumination with irradiance caching | |
Woo et al. | A survey of shadow algorithms | |
US10614619B2 (en) | Graphics processing systems | |
US20050041024A1 (en) | Method and apparatus for real-time global illumination incorporating stream processor based hybrid ray tracing | |
CN114581589A (zh) | 图像处理方法及相关装置 | |
US10127711B2 (en) | Method and apparatus rendering caustics | |
CN102915559A (zh) | 一种基于三维点云的实时透明物体gpu并行生成方法 | |
CN101441774B (zh) | 基于图像映射空间的动态场景实时双面折射绘制方法 | |
CN106780708A (zh) | 一种基于模拟折射和全局光照的3d模型渲染方法及系统 | |
Shi et al. | Gir: 3d gaussian inverse rendering for relightable scene factorization | |
McGuire et al. | Phenomenological transparency | |
JP4584956B2 (ja) | グラフィックスプロセッサおよび描画処理方法 | |
Davis et al. | Interactive refractions with total internal reflection | |
Hu et al. | Interactive approximate rendering of reflections, refractions, and caustics | |
CN117437345B (zh) | 基于三维引擎实现渲染纹理镜面反射效果的方法及系统 | |
US6741248B2 (en) | Rendering geometric features of scenes and models by individual polygons | |
US20180005432A1 (en) | Shading Using Multiple Texture Maps | |
JPH07225854A (ja) | 3次元物体の2次元表示を生成するシステム及び方法 | |
Ye et al. | A Real-time Method for Inserting Virtual Objects into Neural Radiance Fields | |
JP4096710B2 (ja) | 画像生成装置 | |
González et al. | based ambient occlusion | |
Papadopoulos et al. | Realistic real-time underwater caustics and godrays | |
KR101208826B1 (ko) | 깊이 텍스처의 등고선을 기반으로 한 실시간 다각형 앰비언트 오클루전 방법 | |
KR20120078070A (ko) | 영상 처리 장치 및 방법 | |
Yu | Ray Tracing in Computer Graphics |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |