CN107924581A - 用于实时渲染镜面的图像的方法和设备 - Google Patents

用于实时渲染镜面的图像的方法和设备 Download PDF

Info

Publication number
CN107924581A
CN107924581A CN201680047870.1A CN201680047870A CN107924581A CN 107924581 A CN107924581 A CN 107924581A CN 201680047870 A CN201680047870 A CN 201680047870A CN 107924581 A CN107924581 A CN 107924581A
Authority
CN
China
Prior art keywords
edge
vector
observation
equipment
shadow spots
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.)
Withdrawn
Application number
CN201680047870.1A
Other languages
English (en)
Inventor
帕斯卡尔·列科克
珍-艾德斯·马维尔
弗朗索瓦-路易斯·泰瑞欧勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN107924581A publication Critical patent/CN107924581A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • G06T15/83Phong shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2211/00Image generation
    • G06T2211/40Computed tomography
    • G06T2211/428Real-time

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

为了渲染由区域光源(A)照射的表面的镜面反射部分,建立了与将要在阴影点(x)渲染的图像相关联的观察反射向量对于存在于光源到以阴影点为中心的单位球面上投影的投影区域的每个球形边缘UiUi+1而言,局部辐射亮度通过以下方式建立:在由边缘UiUi+1和阴影点定义的平面上建立观察反射向量的归一化投影向量并且确定与向量相关联的点S是否位于UiUi+1内,如果是,则执行Ui的中途变换;S和Ui+1;以及Ui,S和S,Ui+1上的边缘积分。在所有边缘上执行迭代,并且将局部辐射亮度求和,相应地渲染表面。

Description

用于实时渲染镜面的图像的方法和设备
技术领域
本发明涉及一种渲染镜面的图像的技术。
背景技术
在计算机图形学中,具有区域光线的镜面的基于物理的照明是一项具有挑战性的任务。区域光提供更自然的照明,使VFX(代表视觉效果)/游戏艺术家更好地控制场景内的光平衡,以减少对比度或匹配一个或多个艺术标准。大多数涉及区域光和镜面的实时渲染解决方案使得辐射亮度粗略近似地达到实时性能。这些解决方案仅限于简单的区域光几何形状(球面、圆盘或矩形),对可见性有很强的假设,最重要的是,它们通常仅限于用于镜面的Phong模型。
由于除了使用计算密集的蒙特卡罗方法(Monte Carlo methods)外,没有实用的方法来评估表面积分,因此很难准确地实时渲染镜面。最近的技术,例如最具代表性的点方法可缓解这个问题,但是却是权衡准确性以实现实时性能,而且这些技术仅适用于镜面的Phong模型。James Arvo在1995年ACM SIGGRAPH(美国计算机协会计算机图形专业组)年度会议系列丛书“计算机图形学会刊”上发表的文章“辐照照度张量在模拟非朗伯现象中的应用(Applications of Irradiance Tensors to the Simulation of Non-LambertianPhenomena)”一文中,已经提出了一种使用考虑了多边形光源的轮廓积分的分析解决方案。不幸的是,因为这种解决方案需要评估耗时循环,因此这种解决方案在图形处理单元(GPU)上仍然不可使用。而且,这种解决方案仅限于用于镜面的Phong模型。
因此,需要一种技术,该技术可准确地渲染镜面以克服现有技术的上述缺点,特别是镜面的Phong模型的限制。
发明内容
在下文中,考虑必须呈现出向外辐射亮度的有光泽部分的表面的阴影点。“有光泽(glossy)”一词通常是指发光,并且在本公开中属于镜面反射。通常,由于大量的光聚焦在优先方向上,因此对于眼睛来说,光滑的表面显得光亮或有光泽。
如本领域技术人员所熟知的那样,虚拟地形成了形成以该阴影点为中心并且沿着该阴影点处的表面的法线指向的单位半球的上半球形区域。该半球上的任何点都可以与从阴影点开始到半球点结束的向量相关联。措辞“相关的”将相应地在下文中使用。而且,除了单位半球,有时也可以指以阴影点为中心的单位球面,这是相同的结果。
用于渲染由至少一个区域光源照亮的表面的镜面部分的方法通过建立观察反射向量来开始,该观察反射向量是相对于该表面的观察方向的反射,该观察反射向量与要在该表面的阴影点处呈现的图像相关联。对于存在于朝向所述阴影点投影到以阴影点为中心的单位球面上的区域光源的投影区域中的每个球形边缘UiUi+1而言,通过以下方式建立局部辐射亮度:(a)在由球形边缘UiUi+1和阴影点限定的平面上建立观察反射向量的归一化投影向量(b)确定与向量相关联的单个点S是否位于边缘UiUi+1内部,如果是,(c)在Ui,S和Ui+1上执行中途变换,以及(d)在Ui,S和S,Ui+1上执行边缘积分以建立辐射亮度。在所有边缘上执行迭代,并且对所有边缘的局部辐射亮度进行求和。表面根据已经建立的辐射亮度进行渲染。
优选地,该方法是实时渲染方法和/或该方法用于渲染镜面。
根据本原理的另一方面,其中如果S不处于UiUi+1内,则执行Ui和Ui+1的中途变换,并且评估Ui,Ui+1上的边缘积分来代替执行Ui,S和S,Ui+1的中途变换,并且在Ui,S和S,Ui+1上执行边缘积分。
根据本原理的又一方面,中途变换产生与观察方向对齐的固定弯曲。
根据本原理的另一方面,用于渲染由至少一个区域光源照射的表面的镜面部分的设备包括用于存储数据和程序指令的存储器。将图形电路配置为(1)建立观察反射向量,该观察反射向量是相对于该表面的观察方向的反射,该反射向量与将在该表面的阴影点处呈现的图像相关联;(2)对于存在于朝向阴影点投影到以该阴影点为中心的单位球面上的至少一个区域光源的投影区域的每个球形边缘UiUi+1而言,通过以下方式建立局部辐射亮度:(a)在由球形边缘UiUi+1和阴影点限定的平面上建立观察反射向量的归一化投影向量(b)确定与向量相关联的单个点S是否位于边缘UiUi+1内部,如果是,(c)在Ui,S和Ui+1上执行中途变换,以及(d)在Ui,S和S,Ui+1上执行边缘积分以建立辐射亮度;(3)对所有边缘进行迭代;(4)将所有边缘的局部辐射亮度进行求和;和(5)根据建立的辐射亮度来渲染表面。微处理器控制图形电路,总线将存储器、图形电路和微处理器相互连接。
该设备优选地是用于实时渲染和/或渲染镜面的设备。
根据本原理的另一方面,其中如果S不处于UiUi+1内,设备的图形电路则执行Ui和Ui+1的中途变换,并且评估Ui,Ui+1上的边缘积分来代替执行Ui,S和S,Ui+1的中途变换,并且替代在Ui,S和S,Ui+1上执行的边缘积分。
有利地,中途变换产生与观察方向对齐的固定弯曲。
本公开的目的是提供一种用于渲染由区域光照亮的物理可信的镜面的技术。
本发明的另一目的是提供一种可利用微表面模型的用于渲染物理可信的镜面的技术。
本发明的另一目的是提供一种引起小的计算开销的用于渲染物理可信的镜面的技术;
本发明的另一目的是提供一种能够在包括图形硬件和游戏引擎的并行体系结构上实现的、用于渲染物理上可信的镜面的技术。
本发明的另一目的是提供一种非常适合于快速、实时渲染的,用于渲染物理可信的镜面的技术。
附图说明
图1描绘了说明用于镜面的Phong模型的射线图;
图2描绘了说明用于镜面的Blinn-Phong模型的射线图;
图3描绘了投射到半球上的区域光的平面图;
图4描绘了图3的平面图,示出了根据本原理的分离点S连同反射向量→R;
图5描绘了说明根据本原理建立分离点S的技术的半球光线图;
图6描绘了用于执行本原理的渲染的设备的方框示意图;以及
图7描绘了根据本原理的用于渲染的方法的步骤的流程图。
具体实施方式
如在下文中详细描述的那样,通过根据本原理的技术,即:通过使用轮廓积分来建立辐射亮度,发生具有镜面的图像的改善的渲染,如前述的Arvo文章中所描述的,并且如EP专利申请3057067中特别教导的那样,可以利用快速近似法。此外,渲染方法利用中途变换来表示物理上可信的镜面。本原理的渲染技术考虑了由微表面模型(Blinn-Phong)和多边形区域光源描述的镜面。
为了理解本原理的渲染方法,参考图1,其描绘了用于镜面的Phong模型的射线图,图2描绘了用于镜面的Blinn-Phong模型的射线图。在每幅图中,向量定义了观察方向,代表相对于带有法线的表面的反射的观察向量,定义了入射光的方向。在图2中,向量对应于如下定义的中途向量:
克服Phong模型限制的一种方法是仅将中途变换应用于区域光的顶点,然后在法向轴上应用Arvo公式。不幸的是,中途向量变换不是仿射的,会导致失真。定期对边缘点进行采样以跟踪失真会减轻这个问题,但是这种方法需要高采样数才能产生可接受的结果,这是非常耗时的。
为了克服上述现有技术的缺陷,本原理的渲染技术利用边缘分离策略来粗略估计微镜面光辐射亮度。为了理解根据本原理建立辐射亮度的边缘分离方法,参考图3,其描绘了投射到半球上的区域光的平面图,以及图4描绘了在中途变换之后的图3的平面图。图3展示了与观察方向完全对齐的弯曲区域。现在,考虑由反射向量驱动的位置S的单个点的边缘分离。使用这种分离可以使用于建立辐射亮度的简单而快速的边缘分离策略有效。仔细观察图3,可以看出中途变换表现出区域光场的固定弯曲。这种弯曲基本上与观察方向完全对齐,并且表现出如图4所示的良好的分离位置。请注意,在中途变换之后,点位于由形成的平面中,观察反射向量保持对齐。
图5以图形方式示出了说明本原理的技术的射线图,用于定位具有法线的照射表面的阴影点x的分离点的位置。
该技术包含以下内容:
1.计算观察反射向量
2.随着投影到以x为中心并按照法线方向定向的半球上,将区域光源A的光边缘迭代。
3.对于每个球形边缘UiUi+1而言,考虑由球形边缘UiUi+1和点x定义的平面上的的归一化投影向量
4.如果与向量相关的点S位于UiUi+1的内部,则将S视为分离点。
a.执行Ui,S和Ui+1的中途变换
b.如EP3057067的教导评估Ui,S和S,Ui+1(随着变换)的边缘积分,然后将结果添加到局部辐射亮度以粗略估计微镜面辐射亮度。
5.否则,不分离。
a.执行Ui和Ui+1的中途变换
b.使用EP3057067的教导评估Ui,Ui+1(随着变换)上的边缘积分,将结果添加到局部辐射亮度上以粗略估计微镜面辐射亮度
6.在迭代结束时返回局部辐射亮度
在逼近微镜面辐射亮度之后,发生渲染。
上述过程的明显优点是边缘分离不是系统性的,因此计算开销受到限制。就这一点而言,现代GPU(图形处理器单元)中存在的并行架构可以有利地用于评估同步像素的镜面区域照明。整个解决方案可以容易地在片段着色器(例如,GLSL、HLSL等)或具有GPU并行计算能力的任何语言(例如计算着色器、CUDA、OpenCL等)中实现。
根据下文中总结的EP3057067的教导,辐射亮度的建立可如下进行。根据表面材料,点M(如上所述的x)处的光照表面的反射特性由BRDF(双向反射分布)函数表示,BRDF(双向反射分布)函数记录为(其中是单位向量,其与点M的照明方向相反,是对应于朝向观察者的观察方向的单位向量,由此对应于上面的向量)。如本领域技术人员所熟知的,BRDF函数将入射在表面上的点处的辐射亮度与从该点反射的辐射亮度相关联。然后在由光源表面A维持的立体角Ω(A)上通过半球积分来定义在点M处朝向观察者(由眼睛感知的颜色)散射的辐射亮度
其中dωi表示立体角的微分变化。
在EP3057067中,Phong分布模型可以定义BRDF函数。但是,根据本原理,Blinn-Phong模型可以用来定义BRDF函数。
以下讨论仅考虑镜面分量,因为该分量与由表面反射的辐射亮度的光泽(或镜面)部分最相关。在特定的情况下,考虑的表面本身是有光泽的(或接近镜面的),因此利用用于计算的其具有光泽的部分确定辐射亮度。呈现的光泽分量说明了所考虑的表面不是完全平滑的,因此光的反射不符合斯内尔定律(Snell’s law)。相反,相关的反射光具有与镜面反射光的优选方向相关的分布。该分布的集中度由控制光泽度的发光系数n(也称为Phong或镜面反射指数)表示。
通过记录ρs镜面反射率,其提供入射光的镜面反射的反射率,并且假设该项在点M处(至少对于给定的颜色通道而言)是恒定的,如通常在Phong模型(或者在Blinn-Phong模型)中所做的那样,两个表达与光泽部分显著相关:
这些表达中的第一个对应于等式(2),与单轴力矩Phong分布模型相关,并且由Robert R.Lewis在“使着色器物理上更合理(Making Shaders More PhysicallyPlausible)”(1994年第四届渲染相关欧洲制图学会,第47-62页)中清楚描述。第二个表达对应于等式(3),与双轴力矩有关,并且在Eric P.Lafortune和Yves D.Willems在“使用改进的Phong反射模型来进行物理基础渲染(Using the Modified Phong ReflectanceModel for Physically Based rendering)”(1994年,技术报告RP-CW-197)中详细描述。
更一般地,在不同的实施例中,可以使用除Phong分布模型之外的镜面分量的其它BRDF表达。这特别适用于在取向轴的周围具有分布行为的辐射亮度,并且通过由发光系数n提升的余弦函数来控制,余弦由取向轴和观察方向之间的角度给出。
考虑光源表面A是多边形的并且具有m个边缘,等式(1)的2D表面积分可以表示为围绕边缘的1D轮廓积分的总和。这是基于斯托克斯定理(Stokes theorem)和Arvo在上述博士论文和文章中的进展。
相应地,对于每个定向的m个边缘而言,例如UiUi+1,可以在边缘UiUi+1的平面中定义从点M到边缘UiUi+1的第一顶点Ui的单位向量以及与向量正交的单位向量因此构成正交基。这用于定义边缘UiUi+1的参数(记住取决于所考虑的边缘):
此外,将边缘孔径Φi定义为当投影到围绕点M和方向的半球上时,对应于边缘UiUi+1的角度开口。而且,将单位法向向量定义为源表面A的边界的法线,并且在其外部,即半球的边界和切线。
根据上面引用的Arvo的进展,点M处的光源的辐射亮度被表示为与方向无关(为了方便起见,表示为La(M))-这相当于在光源上将其视为恒定,对于与等式(2)相关联的第一BRDF Phong表达,通过以下方式给出辐射亮度
而:
根据谐波加法定理(harmonic addition theorem),三角表达式可以简化为:
giving:
F(x,a,b,n)=G(x,c,δ,n)
给定;
为了简明起见,引入了函数f(φ,r,n)和参数q,使得:
注意到加和算子和积分可以在公式(8)中相反,并且由此获得几何级数,函数G的值为:
通过在积分范围内移动δ,可以写出函数G:
被积函数为:
由于具有已知不定积分的专用峰形函数,如下所述粗略估计被积函数I。在最好的实施例中,因此可以高精度地评估被积函数I,并且被积函数I受到少量参数化操作的影响。参数s由下式给出:
根据s的知识,可以从被积函数I中得到归一化函数(记录为),范围在0到1之间,这些是通过当n为偶数时预先将被积函数I向下平移,当n为奇数和偶数值的时候通过除以参数s得到的。另外一个参数是半宽xω,因为被积函数I的值是其最大值s的一半。对于偶数n和奇数n而言,半宽xω的值由φ的正值给出,其中被积函数I值为其最大值s的一半。
没有解析解的方程I(φ,c,n)=s/2,参数xω的值在本实施例中通过给出如下近似值的公式粗略估计:
该近似法的相关性证明依赖于半宽参数xω的椭圆形状,当n趋于无穷大和c趋向于0时,xω分别收敛到π/3(n为奇数)和π/4(n为偶数),当c倾向于1并且n到无穷大时,xω收敛到0。
上述近似法对于n指数的高值和低值的平均值是相当准确的。然而有利的是,认为低精度估计对于后者而言是足够的,而前者采用高准确度。事实上,对于n低值的情况,可以得到宽度较宽的平滑峰值曲线,因此xω的微小变化对应于被积函数I的较小变化。相反,对于n高值情况,斜率变得非常高,xω的小变化可能对应于被积函数I的巨大变化。
将这些计算的参数c,s和xω用来指定合适的峰形函数,这些函数被用来构造被积函数I(φ,c,n)的近似值。峰形函数,就像I,依赖于φ、c和n,用一般的方式记为P(φ,c,n)。
峰形函数通过近似方法的上游选择和通过当前参数的计算的组合来确定,所述当前参数取决于具体的配置情况(几何形状、光照的表面的光行为、所考虑的点相对于所考虑的区域光源的位置、观察方向等)
为了说明,下面描述了具有峰形功能的两个系列的实施例:一个复杂的和一个简单的。两者之间的选择依赖于计算成本和估计精度之间的权衡。在下面,所考虑的函数是对称的。
对于复杂的实施例,从单个归一化的峰形函数P(φ,c,n)导出三峰形函数Q(φ,c,n),以便在近似法中使用。这种三峰形函数Q(φ,c,n)是通过构造相同的峰形函数P(φ,c,n)的线性函数得到的,π-向下转化为P(φ+π,c,n)和π-向上转换为P(φ-π,c,n),所考虑的角度间隔仍然以-π/2和π/2为界(虽然定义域较宽,并且可能无界)。而令人惊讶的是,由此可以得到特别有效的近似函数。
更确切地说,通过考虑以下三峰形函数Q(φ,c,n)来确定特别有效的组合:
然后通过转换因子vShift(c,n)和缩放因子sNorm(c,n)-以及中间因子d(c,N)的计算从中得到近似的被积函数。为了简洁起见,在函数参数中省略了c和n的依赖关系:
然后通过下式在Q(φ,c,n)函数中给出近似被积函数的表达式:
正如可以检查的,由于sNorm和vShift的选择,下面的关系停止(为了简明起见,省略I参数中的c和n依赖项):
基于等式(10)、(14)和(16),可以注意到G(x,c,δ,n)的近似值由下式给出(为了简明起见,在右侧的参数中省略c和n依赖关系):
根据本原理,峰函数P具有已知的不定积分表达式,这使得等式(17)对于计算特别有吸引力。
在变型配置中,向上和向下的P平移不同于π,有利地在3π/4和3π/2之间,并且优选地大于π。
对于更简单的实施例系列而言,在近似法中使用单个归一化的峰形函数P(φ,c,n)。因此,近似的被积函数由下式给出:
且(为了简明起见,在参数中省略了c和n依赖):
对于复杂的实施例系列和更简单的实施例系列,现在将开发相应的归一化的峰形函数P(φ,c,n)的选择和参数化。在下文中,考虑n指数的偶数值,尽管类似的过程也适用于奇数值。
在峰形函数P的第一选择中,这些是以下形式的洛伦兹函数(Lorentzianfunctions)PL
其是一个取决于c和n的参数,它指定函数PL
在PL的有利确定模式中,半宽xω处的I(φ,c,n)的值与相对于xω偏移的横坐标处的PL的值相等。记录为bias的偏移使得能够考虑施加到用于构成近似的被积函数用于三峰函数的公式(16)以及用于单峰函数的公式(18)-的PL的操作(平移、缩放、加和)。即:
这使得:
bias的值取决于三峰或单峰公式的选择。对于三峰(复杂的解决方案),选择以下值似乎是适当的:
而对于单峰解决方案,证明以下选择是足够的:
bias因子的这些经验公式的相关性由实验测量证实。
如前所述,所选择的峰形函数的一个关键方面在于它们的不定积分的分析表达式的知识。关于公式(20)的洛伦兹函数,由下式给出(为简洁起见,函数中省略了参数c和n):
这主要导致:
考虑到:
这导致下式:
注意,公式(25)涉及有限数量的反正切函数的计算,反正切函数的计算代价比较高,并且通常需要在GPU中大约20个ALU(算术逻辑单元)指令。值得注意的是,公式(17)只需要执行三次这样的反正切评估。然后可以计算近似的被积函数。
根据归一化的峰形函数P的第二选择,那些是用预定数目m(记录为Ppm)参数化的洛伦兹函数PL(Lorentzian functions PL)和皮尔森型Ⅶ函数(Pearson type VIIfunctions)的线性组合。这种皮尔森型函数由下式定义:
其中β是取决于c、n和m的参数,其指定函数Ppm。
更准确地说,峰形函数的线性组合是仿射组合(即,相关系数之和为1的线性组合)。这相当于使得近似的被积函数是分别对应于洛伦兹和皮尔森峰形的近似被积函数的仿射组合函数(尽管峰形函数和近似被积函数的系数不相同)。这种关系是由下式给出的:
其中,系数μ在0和1之间。
在具体的实施例中,根据从被积函数I导出的另外的参数(除了最大值s和半宽横坐标xω)计算系数μ:被积函数I在尾横坐标xtail处的值I(xtail,c,n)。后者有利地选择为:
xtail=xω+0.3946(1-(1-xω)12) (28)
系数μ取决于c和n,并且通过均衡近似的被积函数和被积函数I的Xtail的值来获得。这导致以下值:
这种选择在有效的实施例中证明是特别合适的,这可以通过以下事实来解释:在被积函数的尾部,洛伦兹近似法倾向于高估,而皮尔森近似法则倾向于低估。因此,现在的权重提供了两者之间的相对平衡。
以与洛伦兹函数类似的方式,参数β通过使用近似的半宽横坐标xω以及取决于c、n和m的偏移biasm来计算:
因此
皮尔森函数中的参数m的两个特定值:1.5和2,提供了有利的实施例。对于两者来说,相对简单的不定积分表达式是已知的(为简明起见,在函数中省略参数c和n):
m=1.5的积分更容易评估,而m=2的积分提供了更精确的辐射亮度估计。
与洛伦兹函数一样,biasm的值取决于三峰或者单峰公式的选择。对于三峰(复杂的解决方案),选择以下值似乎是适当的:
对于单峰(简单的解决方案)
图6描绘了根据本原理的用于根据本原理通过建立局部微镜面辐射亮度来进行渲染的设备600。设备600包括通过总线602相互连接的各种元件,总线602携带来自时钟(未示出)的地址、数据和时钟信号。设备包括微处理器604(其名称为“CPU”),用于控制设备中的各种元件。微处理器604经由总线602连接到图形电路606(在图6中被标识为图形卡)。图形电路包括用于并行地执行各种操作的若干图形处理器单元(或GPU)608以及图形随机存取存储器(GRAM)610。GRAM 610具有多个寄存器,由寄存器612、614和616表示,其分别存储(1)表示图像中的场景的参数,(2)峰形函数数据,以及(3)在渲染期间在帧内计算的局部辐射亮度信息。除了GRAM 610之外,设备600还包括经由总线602耦合到微处理器604的ROM(只读存储器)618的非易失性存储器和随机存取存储器或RAM 620。随机存取存储器620具有多个寄存器,包括寄存器622、624和626,寄存器622、624和626分别存储(1)用于微处理器602的操作程序,(2)表示图像中的场景的参数(例如,建模场景的对象的参数以及场景的照明参数);和(3)用于建立辐射亮度的峰形函数数据。在设备600通电时,微处理器602将加载并执行RAM 620的寄存器622中的程序的指令。
将实现本原理的方法的步骤的算法存储在与设备600相关联的图形卡606的存储器GRAM 610中。在设备600通电时,RAM 620将场景参数加载到其寄存器624中,并将峰形函数数据加载到寄存器626中。之后,RAM 620将这些参数加载到GRAM 610的寄存器612和624中,以供GPU608通过例如使用HLSL(高级着色器语言)语言或GLSL(OpenGL着色语言)语言的“着色器”类型的微程序形式的算法执行。
在变型例中,与基元有关的至少一些数据被存储在RAM 620中并由微处理器602处理。然而,当数据经由总线604从图形卡606传输到RAM620时,该变型使得在包含由表示包含在GPU 608中的微程序构成的环境的图像的组成中等待更长的时间。总线604的传输能力通常比在用于将数据从GPU 608传输到GRAM 610的图形卡606中可用的传输能力差,反之亦然。
设备600通常包括诸如例如键盘、鼠标、操纵杆、网络摄像头中的一个或多个I/O(输入/输出)设备628以及诸如语音识别之类的其它输入形式。设备还包括用于为各种元件供电的电源630。电源630可以位于设备600内或位于其外部。设备600内的射频收发器632经由多种协议(WiFi、蓝牙、蜂窝等)中的一种提供用于接收信息并将信息发送到其它设备和系统的无线连接。
此外,设备600包括经由总线636直接耦合到图形卡606的显示装置634(例如,监视器),以显示在图形卡中计算和组合的合成图像,例如直播。使用专用总线636将显示装置634连接到图形卡606,这提供了比数据传输比特率高得多的优点,并因此减少了显示由图形卡组成的图像的等待时间。根据变型例,显示装置644可以位于设备600的外部,并且利用电缆或无线连接来接收显示信号。例如,显示装置634可以采取LCD或等离子屏幕或视频保护器的形式。在这方面,RF单元632将操作以将显示信号传输到显示装置。
如本文所使用的,术语“寄存器”可以包括低容量的存储区(一些二进制数据)以及大容量的存储区(允许存储将要储存的整个程序或者代表将要被计算的或者显示的全部或部分数据)。此外,寄存器不必彼此相邻,并可以以分布式位置存在,其中一个寄存器包括几个较小的寄存器。
图7以流程图的形式示出了根据本原理建立微镜面辐射亮度的过程700的步骤。该过程开始于在步骤702期间计算观察反射向量此后,执行步骤704并且在每个光源边缘上开始迭代循环。在步骤704之后,执行步骤706以计算在由UiUi+1和x给出的边缘平面上正交投影。此后,在步骤708期间进行检查以确定S是否位于边缘上。如果不在,则继续执行步骤710以计算Ui和Ui+1的中途变换。接下来,执行步骤712以计算法线周围的UiUi+1(随着变换)边缘积分。在步骤714期间,将积分在光源边缘上求和(作为对辐射亮度的贡献)。之后,在步骤716期间检查边缘是否是最后的边缘。如果是,那么使用上面EP3057067描述的技术来建立微辐射亮度。如果存在更多的边缘,则返回到步骤704。
在步骤708期间,与投影向量相关联的点S可以位于边缘上。如果是,则执行步骤720,并且在S点进行分离。接下来执行步骤722,以计算Ui,Ui+1和S的中途变换。随后进行步骤724,在此期间计算UiS(随着变换)边缘积分发生在法线的附近。光源边缘上的积分对辐射亮度的贡献的总和发生在步骤728之后的步骤726期间,并且使用之前描述的EP3057067的技术计算围绕法线的SUi+1(随着变换)边缘积分。在根据步骤714将该边缘积分对辐射亮度的贡献相加之后,返回到步骤716。在步骤718中最终建立微镜面辐射亮度。
在建立微镜面辐射亮度之后,以与EP3057067中所描述的几乎相同的方式进行渲染。被利用的输入包括几何数据和光特性数据以及峰形函数数据。后面的数据可以包括所使用的峰形函数的类型,例如显著的洛伦兹(Lorentzian)或组合的洛伦兹-佩尔松(Lorentzian-Person),对应的相关参数,例如皮尔森函数的m,以及利用的方式,例如上面研发出的峰值或单峰方法。
考虑下一个像素或观察样本-这对于各种像素而言可有利地并行处理。根据已知的渲染过程,还为当前像素处理下一个表面点M。然后计算与观察方向相关的所考虑的像素在点M处的局部辐射亮度,并在下文中进行加和。处理更多的表面点和更多的像素,直到已经处理整个集合,并且完整渲染的输出可用于重现运动图像。
图形处理器608可以并行地执行图7的几个步骤,从而提高效率。
已经描述了许多实施例。然而,将要理解的是可以进行各种修改。如,可以组合、补充、修改或移除不同实施例的元素以产生其它实施例。另外,普通技术人员将会理解,其它结构和过程可以替代所公开的那些结构和过程,并且所得到的实施例将以至少基本上相同的方式执行至少基本上相同的功能,以至少实现与所公开的实施例基本上相同的结果。相应地,这些和其它实施例是从本申请构思的。
特别地,尽管如EP3057067中所述并且在本公开中提及的峰形函数的近似法是特别有利的,但是可以结合公开的边缘分离方法来利用被积函数的其它类型的计算。
本原理的渲染技术可以潜在地提供以下优点:
·简单而高效的渲染由区域灯光照亮的物理上合理的镜面表面;
·与VFX(视觉特效)、动画和游戏行业广泛使用的微面元理论相一致;
·计算开销小;
·在并行架构和图形硬件上轻松实现;
·适合实时渲染的快速解决方案;以及
·在生产投标人或游戏引擎上轻松实施。

Claims (10)

1.一种用于渲染由至少一个区域光源(A)照射的表面的镜面部分的方法,包括:
建立观察反射向量该观察反射向量是与在所述表面的一个阴影点(x)处将要呈现的图像相关的所述表面的观察方向的反射;
对于存在于朝向所述阴影点投影到以所述阴影点为中心的单位球面上的所述至少一个区域光源(A)的投影区域中的每个球形边缘UiUi+1而言,通过以下方式建立局部辐射亮度:(a)在由所述球形边缘UiUi+1和所述阴影点(702)限定的平面上建立所述观察反射向量的归一化投影向量(b)确定与所述向量相关联的单个点S是否位于边缘UiUi+1(706,708)内部,如果是,(c)在Ui,S和Ui+1(720,722)上执行中途变换,以及(d)在Ui,S和S,Ui+1上执行边缘积分以建立辐射亮度(714,724,726,728);
对所有边缘(704,716)进行迭代;
将所有边缘的局部辐射亮度相加(714);以及
根据建立的辐射亮度来渲染所述表面(718)。
2.如权利要求1所述的方法,其中所述方法是实时渲染方法。
3.如权利要求1或2所述的方法,其中所述方法用于渲染镜面。
4.如权利要求1或3中任一项所述的方法,其中如果S不处于UiUi+1(708)内,则执行Ui和Ui+1的中途变换(710),并且在Ui,Ui+1(712)上代替执行Ui,S和S,Ui+1的中途变换和在Ui,S和S,Ui+1上的边缘积分而执行评估边缘积分。
5.如权利要求1至4中任一项所述的方法,其中所述中途变换产生与观察方向对齐的固定弯曲。
6.一种用于渲染由至少一个区域光源(A)照亮的表面的镜面部分的装置(600),包括:
用于存储数据和程序指令的存储器(610,618,620);
图形电路(606),其被配置为(1)建立观察反射向量所述观察反射向量是所述表面的观察方向的反射,所述表面与将要在所述表面的阴影点(x)处呈现的图像相关联;(2)对于存在于朝向所述阴影点投影到以所述阴影点为中心的单位球面上的所述至少一个区域光源(A)的投影区域的每个球形边缘UiUi+1而言,通过以下方式建立局部辐射亮度:(a)在由所述球形边缘UiUi+1和所述阴影点(702)限定的平面上建立所述观察反射向量的归一化投影向量(b)确定与所述向量相关联的单个点S是否位于边缘UiUi+1(706,708)内部,如果是,(c)在Ui,S和Ui+1(720,722)上执行中途变换,以及(d)在Ui,S和S,Ui+1上执行边缘积分以建立辐射亮度(714,724,726,728);(3)对所有边缘(704,716)进行迭代;(4)将所有边缘的局部辐射亮度相加(714);以及(5)根据建立的辐射亮度来渲染所述表面(718)。
微处理器(604),用于控制图形电路;以及
总线,所述总线用于互连存储器、图形电路和微处理器(602)。
7.如权利要求6所述的设备(600),其中所述设备是用于实时渲染的设备。
8.如权利要求6或7所述的设备(600),其中所述设备用于渲染镜面。
9.如权利要求6至8中任一项所述的设备,其中如果S不处于UiUi+1(708)内,所述图形电路执行Ui和Ui+1的中途变换(710),并且在Ui,Ui+1上代替执行Ui,S和S,Ui+1的中途变换和在Ui,S和S,Ui+1上的边缘积分而执行评估边缘积分。
10.如权利要求6至9中任一项所述的设备,其中所述中途变换产生与观察方向对齐的固定弯曲。
CN201680047870.1A 2015-08-11 2016-08-04 用于实时渲染镜面的图像的方法和设备 Withdrawn CN107924581A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP15306284.9A EP3131063A1 (en) 2015-08-11 2015-08-11 Method and apparatus for real-time rendering of images of specular surfaces
EP15306284.9 2015-08-11
PCT/EP2016/068699 WO2017025446A1 (en) 2015-08-11 2016-08-04 Method and apparatus for real-time rendering of images of specular surfaces

Publications (1)

Publication Number Publication Date
CN107924581A true CN107924581A (zh) 2018-04-17

Family

ID=54014748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680047870.1A Withdrawn CN107924581A (zh) 2015-08-11 2016-08-04 用于实时渲染镜面的图像的方法和设备

Country Status (6)

Country Link
US (1) US20180225865A1 (zh)
EP (2) EP3131063A1 (zh)
JP (1) JP2018527666A (zh)
KR (1) KR20180040155A (zh)
CN (1) CN107924581A (zh)
WO (1) WO2017025446A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3057067B1 (en) * 2015-02-16 2017-08-23 Thomson Licensing Device and method for estimating a glossy part of radiation
EP3163537A1 (en) * 2015-10-30 2017-05-03 Thomson Licensing Method and apparatus for determining accurate area light illumination using ellipsoid based functions
CN111489448A (zh) * 2019-01-24 2020-08-04 宏达国际电子股份有限公司 检测真实世界光源的方法、混合实境系统及记录介质

Also Published As

Publication number Publication date
EP3131063A1 (en) 2017-02-15
US20180225865A1 (en) 2018-08-09
WO2017025446A1 (en) 2017-02-16
JP2018527666A (ja) 2018-09-20
KR20180040155A (ko) 2018-04-19
EP3335196A1 (en) 2018-06-20

Similar Documents

Publication Publication Date Title
Chen et al. Tango: Text-driven photorealistic and robust 3d stylization via lighting decomposition
Igehy Tracing ray differentials
Liao et al. Interreflection removal for photometric stereo by using spectrum-dependent albedo
Havran et al. Bidirectional texture function compression based on multi‐level vector quantization
US10607404B2 (en) Device and method for estimating a glossy part of radiation
US9905045B1 (en) Statistical hair scattering model
Vicini et al. A non-exponential transmittance model for volumetric scene representations
Velinov et al. Real‐time rendering of wave‐optical effects on scratched surfaces
CN107924581A (zh) 用于实时渲染镜面的图像的方法和设备
US9424684B2 (en) System, method, and computer program product for simulating light transport
Iwasaki et al. Real‐time rendering of dynamic scenes under all‐frequency lighting using integral spherical gaussian
Chermain et al. A microfacet-based BRDF for the accurate and efficient rendering of high-definition specular normal maps
Daubert et al. Efficient light transport using precomputed visibility
Puig-Centelles et al. View-dependent tessellation and simulation of ocean surfaces
US9639981B1 (en) Tetrahedral Shell Generation
Krösl et al. LiteMaker: Interactive Luminaire Development using Progressive Photon Tracing and Multi-Resolution Upsampling.
JP4847910B2 (ja) 人間の肌のような半透明の材質のための、曲率ベースレンダリング方法及び装置
Coombe et al. Global illumination using progressive refinement radiosity
Heitz et al. Filtering non-linear transferfunctions on surfaces
Wang et al. Real-time bump mapped texture shading based-on hardware acceleration
Tuliniemi Physically based rendering for embedded systems
Doulamis et al. Non-linear prediction of rendering workload for grid infrastructure
Banterle et al. A fast translucency appearance model for real-time applications
Guarnera et al. Capturing and representing brdfs for virtual reality
Silva et al. Interactive high fidelity visualization of complex materials on the GPU

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20180417

WW01 Invention patent application withdrawn after publication