CN102446365B - 估计在虚拟环境的一点上接收的光量的方法 - Google Patents
估计在虚拟环境的一点上接收的光量的方法 Download PDFInfo
- Publication number
- CN102446365B CN102446365B CN201110293777.8A CN201110293777A CN102446365B CN 102446365 B CN102446365 B CN 102446365B CN 201110293777 A CN201110293777 A CN 201110293777A CN 102446365 B CN102446365 B CN 102446365B
- Authority
- CN
- China
- Prior art keywords
- group
- point
- virtual environment
- light source
- light quantity
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种估计在虚拟环境(1)的一点P(43)上接收的光量的方法,所述虚拟环境(1)包含光源(10)照亮的几个第一点,所述第一点形成每一个包含至少一个第一点的多个组。所述方法包含如下步骤:为每个组估计接收的入射光量;估计分组从一个视点(40)可见的虚拟环境的至少一些点的包含点P(43)的表面;按照与所述表面相关联的至少一项遮挡信息,估计通过反射从所述光源(10)接收的入射光对所述点P(43)的照亮有贡献的所述多个组的至少一个第一组(321,351);以及按照与所述至少一个第一组相关联的至少一项反射率信息,从所述至少一个第一组(321,351)接收的入射光量中估计所述点P(43)接收的光量。
Description
技术领域
本发明涉及合成图像构建的领域,尤其涉及在虚拟环境内考虑到光反射地估计和仿真虚拟环境的全局照明的领域。本发明还被理解为在实时构建背景中特别有效。
背景技术
按照现有技术,存在着仿真虚拟环境的全局照明的不同方法,这些方法可以划分为三个主要组。第一组方法基于将虚拟环境(也叫做场景)分解成极小单元以及估计单元对的两个单元之间的能量转移。已知为光能传递方法,这些方法一般需要很高的存储器要求,并且必须进行许多跨单元的可见度测试,就需要计算能力而言,这些都是非常昂贵的。第二组方法基于使用光子映射技术或射线追踪技术或两者,沿着光线所沿的当前路径的射线追踪。第三组方法基于在屏幕空间中只考虑有关按照观看场景的观众的视点可见物体与场景的距离的信息的近似。后面这些方法使用过滤技术来逼近相邻可见点之间的能量转移。后面这些方法具有相对迅速的优点,但提供了粗糙的结果。
随着交互式仿真游戏和应用的出现,特别是在3D(三维)中,人们感到需要提供高品质和逼真、迅速全局照明估计的实时仿真方法。
发明内容
本发明的目的是克服现有技术的这些缺点的至少一个缺点。
更具体地说,本发明的目的特别是优化在虚拟环境中考虑到光在构成虚拟环境的物体上的反射地构建光漫射的实时逼真显示所需的计算时间和/或计算能力。
本发明涉及估计在虚拟环境的一点P上接收的光量的方法,所述虚拟环境包含光源照亮的多个第一点,所述第一点形成每一个包含至少一个第一点的多个组,所述方法包含如下步骤:
-为每个组估计接收的入射光量;
-估计分组从一个视点可见的虚拟环境的至少一些点的表面,所述表面包含所述点P;
-按照与所述表面相关联的至少一项遮挡信息,估计通过反射从光源接收的入射光对所述点P的照亮有贡献的多个组的至少一个第一组;以及
-按照与所述至少一个第一组相关联的至少一项反射率信息,从所述至少一个第一组接收的入射光量中估计所述点P接收的光量。
按照一个特定特征,所述方法还包含为每个第一点估计代表将每个第一点与其相邻区域的多个第一点分开的距离的平均值的步骤,所述第一点是按照它们的估计值和代表第一点的地点和取向的信息分组成所述组的,代表所述组的取向的一项取向信息和代表所述组的地点的一项地点信息与每个组相关联。
有利的是,所述方法还包含如下步骤:
-为每个第一点估计代表将每个第一点与其相邻区域的多个第一点分开的距离的平均值;
-按照估计值和代表第一点的地点和取向的信息将第一点分组成多个第二组,代表所述第二组的取向的一项取向信息和代表所述第二组的地点的一项地点信息与每个第二组相关联;以及
-通过按照所述第二组的所述取向和地点信息分组所述第二组生成所述组。
按照一个特定特征,通过估计按照入射方向将光源与第一点分开的第一距离获取代表第一点的地点的信息,将估计的第一距离存储在与虚拟环境和光源相关联的阴影图中。
有利的是,所述方法包含估计将所述视点与从所述视点可见的环境的点分开的第二距离的步骤,将估计的第二距离存储在与虚拟环境和视点相联系的深度图中,从估计的第二距离中获取至少一项遮挡信息。
附图说明
通过阅读如下描述可以更好理解本发明,以及得出其它特定特征和优点,该描述是参考附图作出的,其中:
-图1A示意性地示出按照本发明的一个特定实施例,由光源照亮的虚拟环境;
-图1B示出按照本发明的一个特定实施例,与图1A的虚拟环境和光源相关联的阴影图;
-图2和3示意性地示出按照本发明的两个特定实施例的图1的虚拟环境中的间接发光点的分组;
-图4A和5示意性地示出按照本发明的一个特定实施例,估计在图1的虚拟环境中的一个点上接收的光量的方法;
-图4B示出按照本发明的一个特定实施例,与图1和4A的虚拟环境相关联和在图4A的视点上的阴影图;
-图6示出按照本发明的一个特定实施例,实现估计在图1的虚拟环境中的一个点上接收的光量的方法的设备;以及
-图7示出按照本发明的一种特定实现方式,估计在图1的虚拟环境中的一个点上接收的光量的方法。
具体实施方式
图1示出了通过光源10照亮的虚拟环境或虚拟场景1。光源10供应的光形成光锥101。虚拟环境1包含一个或多个虚拟物体12、13、14和15,它们是按照本领域的普通技术人员知道的任何方法建模的,例如,通过使模型类似于每一个通过构成它的顶点和边的列表定义的一组多边形的多边形建模、通过经由控制顶点创建的一组曲线定义模型的NURBS(非均匀有理基本样条)型曲线建模、和通过细分表面的建模。所谓虚拟物体应该理解为构成真实环境(例如,地面、房屋或房屋正面、汽车、树木,也就是说,构成像房屋、街道、城镇、村庄等的一部分那样的环境的任何单元)或想像环境的物体(真实的或虚构的)的任何虚拟表示(通过建模获得)。虚拟环境的每个物体12、13、14和15通过覆盖它的表面来表征,每个物体的表面具有其特有的反射性质(对应于表面沿着一个或几个方向反射入射光的比例)。有利的是,物体表面的反射率随物体反射光的区域(包括表面的一个或几个点的表面区域)而变,也就是说,物体表面的反射率不是常数。按照一种变型,物体表面的反射率在物体表面的任何点上都是常数。因此,物体12接收来自光源10的入射光量,这种入射光被光源10照亮的点121到12i反射。点121到12i对应于奇异点,或按照一种变型,对应于表面单元,每个表面单元包含几个点(例如,5、10或20个点)。在对图1的其余描述中,表面的一个点表示单点和表面单元(element)两者。同样,物体13接收来自光源10的入射光量,这种入射光被光源10照亮的点131到13i反射,每个点对应于单点或表面单元。物体15也接收被每一个对应于单点或表面单元的151到15i反射的入射光量。与每个点121到12i,131到13i和151到15i相关联的表面单元上的法线用黑箭头表示。与反射光的每个表面单元的法线有关的信息可用于估计按照给定方向反射的光量。
按照一种变型,虚拟环境1被多个光源,例如,100、1000、100000或1000000个光源照亮。
按照第一实施例,叫做第一点的光源10照亮的点的地点处在叫做“世界空间”的虚拟环境的空间中,通过世界空间中的几何坐标表示。除了与第一点相关联的信息和与第一点相关联的表面单元的法线有关的信息之外,还将这个信息记录在由记录在与GPU(图形处理单元)相关联的存储器中的表格组成的数据结构中。这些记录分别叫做反射率记录、法线记录和地点记录。这些记录使虚拟环境1的该组第一点能够被引用,所述第一点能够将来自光源10的光反射到虚拟环境的其它点上,这些其它点被光源照亮或未被光源照亮。表面S通过将该组第一点连接在一起来定义。
按照第二实施例,如从光源10看过去那样显示虚拟环境1。将代表如从光源10看过去的虚拟环境1的信息存储在阴影图11中。有利的是,对于虚拟环境1的每个第一点,阴影图11包含代表将光源10与所考虑的第一点分开的距离的一项信息。图1B示出了按照本发明一个特定实施例的这样阴影图11。代表距离的信息用向量1100到110i表示,向量1100到110i的模等于光源与所考虑的照亮点之间的距离。因此,阴影图由投影在由光锥101形成和与光源10的主照亮方向垂直的表面上的与虚拟环境的第一点相关联的多个点组成。代表光源/第一点距离的一项信息与对应于阴影图的每个点相关联。通过连接由代表距离的向量形成的阴影图的每个点,获得代表如从光源10看过去的环境的该组第一点的表面S′。这个表面S′与表面S一样,代表环境的该组第一点,也就是说,光源10照亮的虚拟环境的点。正如表面S一样,也代表虚拟环境的该组点的这个表面S′能够将来自光源10的光反射到虚拟环境的其它点上,这些其它点被光源照亮或未被光源照亮。有利的是,除了代表距离的信息之外,还将分别代表与每个第一点相关联的表面单元的反射率、阴影图的空间中的第一点的地点、和与每个第一点相关联的表面单元上的法线的信息存储在阴影图11中。因此,表面S′对应于表示S在阴影图的空间中的表示。阴影图的使用具有减少估计虚拟环境接收的光量所需的计算,因此减少估计虚拟环境的一点接收的光量所需的计算的优点。由于阴影图,为了知道虚拟环境的一点被光源10照亮还是未被光源10照亮,只要知道将这个点与光源分开的距离以及所属的入射方向就足够了。因此,没有必要计算一方面是由该点和光源形成的直线与另一方面是虚拟环境的物体之间的交点,这减少了所需的计算。
图2示出了将第一点一起分组成因此包含被光源10照亮的几个点和能够反射接收入射光的多个点的组(groupsofpoints)的表示在图1中的虚拟环境1。这样的第一点分组具有减少估计全局照明所需的计算的优点。事实上,为了估计虚拟环境1的全局照明,将虚拟环境的每个第一点当作能够间接照亮虚拟环境的一个或几个其它点的间接光源。就计算能力和/或时间而言,随着入射光源的数量增加,这样反射的计算甚至更加昂贵。考虑到间接照亮在表面上稍有变化,以及表面上的照亮变化直接与相对于相邻表面的距离有关,可以在保证照亮虚拟环境的质量的同时,通过相干地将它们分组来减少反射入射光的源(source)的数量。对于间接光的每个源,也就是说,对于反射接收入射光的每个源,也就是说,对于表面S的每个第一点(或如果在阴影图的空间中,表面S′的每个源),评估到所考虑光源周围的表面S(相应地,S′)的第一点的平均距离。为此,以及为了加速计算,在世界空间中(相对地,在阴影图的空间中)取样属于表面S(相应地,S′)的间接光源的邻居的第一点。然后,根据它们的相对地点,计算所考虑的间接光源与相邻第一点之间的平均距离。所谓间接光源的邻居应该理解为属于处在相对于间接光源小于阈值的距离上,例如,在小于25cm、50cm或1m的距离上的表面S(相应地,S′)的该组第一点。按照另一个示例,间接光源的邻居通过将间接光源作为原点和形成处在间接光源上方,也就是说,处在与间接光源相关联的表面单元上方的半球的该组方向来定义。因此,当形成半球的方向之一遇到表面S(相应地,S′)的第一点时,计算间接光源与这个第一点之间的距离。有利的是,对于所考虑的间接光源与相邻第一点之间的平均距离的估计,不考虑如此计算的和大于阈值(例如,25cm、50cm或1m)的距离。一旦考虑了平均距离,就将属于表面S(或S′)的间接光的源点周围的第一点分组在一起,借助于所考虑的间接光源点分组的第一点是处在相对于间接光源点小于给定阈值(例如,小于包含在平均距离的0到1倍之间,但不包括0的任何距离)的距离上的那些点。分组虚拟环境1的第一点的多个点的组有利地通过圆盘221到22i,231到23i或251到253表示出来,这些圆盘将间接光的源点作为中心,将值与源的邻居的第一点相对于所考虑的间接光源的平均距离成正比的半径作为半径。对每个第一点,也就是说,虚拟环境1的间接光的每个源点,有利地迭代这些运算,直到形成间接光的源盘的一组多个点的组,然后使圆盘的数量等于第一点的数量。按照一种变型,对许多第一点,也就是说,虚拟环境的间接光的源点迭代这些运算。按照这种变型,圆盘的数量小于第一点的数量。按照这种变型,例如,取出10个当中的一个第一点,为这种变型而选择的第一点,例如,均匀分布在表面S(S′)上。通过将间接光的这些源盘投影在由光锥101形成和与光源10的主照亮方向垂直的表面上,获得发出间接光21的盘图。与每个圆盘相关联的反射性质有利地对应于属于该圆盘的第一点的平均反射率。
按照一种变型,多个点的组的形式不同于圆盘,而是,例如,正方形表面、长方形表面、椭圆形表面或任何几何形状的任何其它表面。
图3示出了将多个点的组(或圆盘)分组成因此包含几个第一点的几个组的多个点的第二组的显示在图2中的虚拟环境1。这样的点分组具有甚至更加减少估计全局照明所需的计算的优点。
按照第一实施例,按如下形成多个点的第二组。选择发光盘图的第一圆盘。逐个测试所选圆盘周围的圆盘,以确定是否必须将它们与第一圆盘分组。如果满足如下条件,则将圆盘(或多个点的组)加入第一圆盘(或多个点的组)中:
-要加入的圆盘的地点处在相对于第一圆盘的中心小于阈值,例如,第一圆盘的半径的两倍或三倍的距离上;以及
-要加入的圆盘的取向并非与第一圆盘的取向大不相同。
如果要加入的圆盘未满足这些条件,则不将圆盘加入第一圆盘中。如果要加入的圆盘满足这些条件,则将它加入第一圆盘中,并且分组在一起的两个圆盘形成第二组,其中心对应于构成它的两个圆盘的重心。然后,测试另一个圆盘,以知道是否应该将它加入如此形成的第二组中。一旦与第一圆盘接近和满足上面规定的条件的所有圆盘都加入第二组中,就选择不属于该第二组的发光盘图当中的另一个圆盘,依次测试周围的圆盘是否加入以形成另一个第二组。因此,逐步地,发光盘图的所有圆盘都得到测试,并分组成第二组。然后,通过如下定义新形成的第二组:
-第二组的中心和取向对应于形成多个点的第二组321的多个点的组(或圆盘)231到235的中心和取向的平均值;
-多个点的第二组的半径以包含加入第二组中的所有圆盘(或多个点的组)的方式选择;以及
-多个点的第二组的反射率有利地对应于包含它的每个圆盘(或多个点的组)的反射率的加权平均值,将加权与,例如,多个点的组的大小相联系(例如,在多个点的组是圆盘的情况下,按照半径)。
因此,多个点的第二组D1321分组圆盘231到235,这个多个点的第二组321的重心用点32表示。多个点的第二组D2331分组圆盘236到23i,这个多个点的第二组331的重心用点33表示。多个点的第二组D3341分组圆盘251到253,这个多个点的第二组341的重心用点34表示。多个点的第二组D4351分组圆盘223到22i,这个多个点的第二组351的重心用点35表示。多个点的第二组D5361分组圆盘221到222,这个多个点的第二组361的重心用点36表示。
按照第二实施例,为了产生这样的分组,将间接发光盘图细分成多个区域,每个区域包含第一点的几个圆盘。目的是为每个区域获取分组所考虑的区域的第一点的一个或几个圆盘的唯一多个点的第二组321、331、341、351、361。在每个区域中,选择属于这个区域的发光盘图的第一圆盘(例如,圆盘231)。然后,为了确定必须将该区域的圆盘(232到235)加入还是不加入这个第一圆盘(231)中,定义分组规则,该规则规定如果满足如下条件,就可以将一组第一点(或圆盘)加入第一圆盘中,以形成所考虑的区域的第二点组:
-要加入的多个点的组(或圆盘)的地点处在相对于第二组的中心小于阈值,例如,第一圆盘的半径的两倍或三倍的距离上;以及
-要加入的多个点的组的取向并非与第一圆盘的取向大不相同。
如果要加入的圆盘(或多个第一点的组)未满足这条规则,则从正在考虑的区域中删除该多个第一点的组。
如果要加入的多个点的组(例如,232)满足这条规则,则修改多个点的第二组(例如,321),以便除了该区域的第一圆盘231的贡献之外,包括要加入的圆盘(或多个点的组)232的贡献。在对正在考虑的区域的该组圆盘231到235测试上面规定的规则结束时,使如此形成的多个点的第二组获得如下:
-第二组的中心和取向对应于形成多个点的第二组321的多个点的组231到235的中心和取向的平均值;
-延伸多个点的第二组的半径以包含加入第二组中的所有多个点的组;以及
-对于第二组的反射率的估计,考虑要加入的多个点的组231的反射率。在分组多个第一点的组以便形成多个点的第二组结束时,多个点的第二组的反射率有利地对应于包含它的每个多个点的组的反射率的加权平均值,将加权与,例如,组的大小相联系(例如,在多个点的组是圆盘的情况下,作为半径的函数)。
将发光盘图细分成几个区域具有一开始就定义多个点的第二组的数量,以及定义哪些圆盘(或多个点的组)有可能形成给定多个点的第二组的优点。这特别是能够在限制分组可能性的同时,简化将圆盘分组成多个点的第二组所需的计算。发光盘图的细分区域的数量是可以由,例如,用户调整和预定的参数。
因此,多个点的第二组D1321分组圆盘231到235,这个多个点的第二组321的重心用点32表示。多个点的第二组D2331分组圆盘236到23i,这个多个点的第二组331的重心用点33表示。多个点的第二组D3341分组圆盘251到253,这个多个点的第二组341的重心用点34表示。多个点的第二组D4351分组圆盘223到22i,这个多个点的第二组351的重心用点35表示。多个点的第二组D5361分组圆盘221到222,这个多个点的第二组361的重心用点36表示。
图4A和5示出了按照本发明的一个特定实施例,考虑到光源10照亮的虚拟环境1的物体12,13,和15接收的入射光的反射地估计虚拟环境1的一个点43接收的光量的方法。
图4A示出了如从视点40,例如,虚拟环境1的观众看过去的图1的虚拟环境1。按照图4A的例子,观众40按照观察方向42观看虚拟环境1的点P43,点P43对应于观察方向42与这个将视点40作为原点的观察方向遇到的虚拟环境1的第一物体,即,物体14之间的交点。为了显示从视点40的虚拟环境1,点P43接收的光量包含从光源10接收的光量、和通过反射从光源10接收的光参与点P的间接照亮的虚拟环境1的第一点反射的光量。为此,定义分组从视点40可见的虚拟环境1的所有点的表面S1。然后,从与表面S1相关联的一项遮挡信息中定义通过反射这些第一点接收的入射光参与点P43的间接照亮的虚拟环境1的第一点。为此,对于虚拟环境1的每个第一点,估计将所考虑的第一点作为原点、通过将所考虑的第一点与点P43连接的直线定义的方向是否存在与表面S1的交点。如果前面定义的方向存在与表面S1的交点,那么存在遮挡,所考虑的第一点不是第一点对点P43的间接照亮有贡献的部分。在相反情况下,也就是说,如果前面定义的方向不存在与表面S1的交点,那么不存在遮挡,所考虑的第一点是第一点对点P43的间接照亮有贡献的部分。这显示在图5中。
图5示出了将第一点作为原点的一方面是第一点(也就是说,能够将从光源10接收的入射光反射到虚拟环境的其它点)与另一方面是点P43之间的方向。因此,方向51代表多个点的第二组D1321到点P43的主反射方向。方向52代表多个点的第二组D4351到点P43的主反射方向。方向53代表多个点的第二组D3341到点P43的主反射方向。从图5中可清楚看出,方向51和52不存在与表面S1的交点(由从视点40可见的多个点的组定义),而方向53存在与S2的交点。这表示多个点的第二组D1321和D4351通过反射从光源10接收的入射光对点P43的间接照亮有贡献,而多个点的第二组D3341对点P43的间接照亮没有贡献。图5示出了分组成组然后分组成第二组的虚拟环境1的第一点。对间接照亮有贡献的第一点(如图1所示)或多个点的组(如图2所示)的确定以相同方式进行。
按照第一实施例,在世界空间中,也就是说,在虚拟环境的空间中,从所考虑的点(和/或代表多个点的组的点,例如,多个点的组的重心或中心)的几何坐标中进行对点P43的间接照亮有贡献的第一点(或多个点的组或多个点的第二组)的确定。箭头44代表圆盘(或多个点的组)231到235接收的入射光到点P43的反射。
按照第二实施例。在深度图41的空间中进行对点P43的间接照亮有贡献的第一点(或多个点的组或多个点的第二组)的确定。按照这个第二实施例,如从视点40看过去那样显示虚拟环境1。将代表如从视点40看过去的虚拟环境1的信息存储在深度图41中。有利的是,对于从该视点的虚拟环境1的每个可见点,深度图包含代表将视点40与所考虑的可见点分开的距离的一项信息。图4B示出了按照本发明一个特定实施例的这样深度图41。代表距离的信息用向量410到41i表示,向量410到41i的模等于视点40与所考虑的可见点之间的距离。因此,深度图由投影在由,例如,代表视点40的视场的锥体形成和与视点40的观察方向垂直的表面上的与虚拟环境1的可见点相关联的多个点组成。代表深度,也就是说,视点/可见点距离的一项信息与深度图的每个对应点相关联。通过连接由代表深度的向量的末端形成的阴影图的每个点,获得代表如从视点40的环境的该可见多个点的组的表面S1′。这个表面S1′与表面S1一样,代表包含点P43的从视点看过去的环境的该可见多个点的组。为了确定哪些是对点P的间接照亮有贡献的的第一点,方法与针对图4A的第一实施例所述的方法相同。将一项遮挡信息与表面S1′相联系,为了确定第一点是否对点P43的间接照亮有贡献,只要确定与将第一点(或多个点的组或多个点的第二组)作为第一端点和将点P作为第二端点的直线相对应的方向是否存在与表面S1′的交点就足够了。在存在交点的情况下,所考虑的第一点(或多个点的组或多个点的第二组)对点P的间接照亮没有贡献,而在相反情况下,对点P43的间接照亮有贡献。
为了获得点P接收的光量,还需相加对点P的间接照亮有贡献的每个第一点(或多个点的组或多个点的第二组)反射的光量,第一点(或多个点的组或多个点的第二组)反射的光量是按照本领域的普通技术人员已知的任何方法,从第一点接收的入射光量和与所考虑的第一点相关联的反射率信息中获得的。为了获得点P接收的总光量,如果点P也是光环境的第一点,也就是说,光源直接照亮的点,则还必须加入从光源接收的入射光量。
为了获得按照观察方向42观看虚拟环境1的观众接收的光量,只要将与点P43相关联的反射率函数乘以点P接收的总光量就足够了。最后,为了确定观众40接收的总光量,必须估计和累加按照每个观察方向接收的光量。
图6示意性地示出了适用于估计在虚拟环境1的一个点上接收的光量和生成一个或几个图像的显示信号的硬件实施例。设备6对应于,例如,个人计算机PC、膝上型电脑或游戏控制台。
设备6包含通过也传输时钟信号的地址和数据的总线65相互连接的如下单元:
-微处理器61(或CPU);
-包含如下的图形卡62:
·几个图形处理单元(或GPU)620;以及
·图形随机访问存储器(GRAM)621;
-ROM(只读存储器)型的非易失性存储器66;
-随机访问存储器或RAM67;
-像,例如,键盘、鼠标、网络摄像头那样的一个或几个I/O(输入/输出)设备64;以及
-电源68。
设备6还包含直接与图形卡62连接的显示屏类型的显示设备63,特别是,例如,实时显示在图形卡中计算和构建的合成图像。使用专用总线将显示设备63与图形卡62连接提供了具有大得多数据传输位速率,因此缩短了显示图形卡构建的图像的等待时间的优点。按照一种变型,显示设备在设备6的外部,通过传输显示信号的线缆与设备6连接。设备6,例如,图形卡62包含适合将显示信号传输到像,例如,LCD(液晶显示)或等离子体屏幕或视频投影机那样的外部显示部件的传输或连接部件(在图4中未示出)。
应该注意到,用在存储器62,66和67的描述中的词语“寄存器”表示所提及的每个存储器中,小容量的存储区(一些二进制数据)以及大容量的存储区(能够存储整个程序或使代表数据的所有或部分数据能够被计算或显示)。
当接通电源时,微处理器61加载和执行包含在RAM67中的程序的指令。
特别是,随机访问存储器67显著包含:
-在寄存器630中,负责接通设备6的微处理器61的操作程序;以及
-代表虚拟环境1的参数671(例如,虚拟环境1的建模参数、虚拟环境1的照亮参数)。
将实现本发明特有的和下文所述的方法的步骤的算法存储在与实现这些步骤的设备6相关联的图形卡62的存储器GRAM67中。当接通电源时,一旦将代表环境的参数670加载入RAM67中,图形卡62的图形处理器620就将这些参数加载入GRAM621中,并以使用,例如,HLSL(高级着色语言)语言或GLSL(OpenGL着色语言)的“着色器”型的微程序的形式执行这些算法的指令。
特别是,随机访问存储器GRAM621显著包含:
-在寄存器6210中,代表虚拟环境1的参数;
-代表光源与虚拟环境1的照亮点之间的第一距离的值6211;
-代表视点与从这个视点可见的虚拟环境1的点之间的第二距离的值6212;
-代表虚拟环境1按照一个或几个入射方向接收的入射光量的值6213;
-代表在虚拟环境1的一个或几个点接收的光量的值6214;以及
-代表虚拟环境1的一个或几个点的组的参数6215(例如,组成的第一点或多个点的组、每个多个点的组覆盖的表面上的法线、与每个多个点的组相联系的一项反射率信息、每个多个点的组的中心或重心的地点)。
按照一种变型,如果可用在GRAM621中的存储器存储空间不足,CPU61指定RAM67的一部分来存储数值6211到6214和参数6215。但是,在构建从包含在GPU中的微程序中构建的包含环境1的表示的图像时,这种变型使等待时间更长,因为必须通过总线65将数据从图形卡传输到随机访问存储器67,而总线65的传输容量一般次于可用在图形卡中将数据从GPU传输到GRAM的传输容量,反之亦然。
按照另一种变型,电源68在设备6的外部。
图7示出了按照本发明的非限制性特别有利实施例,在设备6中实现的估计在虚拟环境的点P中接收的光量的方法。
在初始化步骤70期间,更新设备6的不同参数。尤其,以任何方式初始化代表虚拟环境1的参数。
然后,在步骤71期间,为光源照亮的虚拟环境的每个多个点的组估计从光源接收的入射光量。虚拟环境包含被光源照亮的一组点,这些照亮点被叫做第一点。在第一实施例中,每个多个点的组包含唯一的第一点,对每个第一点进行接收的入射光量的估计。按照一种变型,至少一些多个点的组包含几个第一点。在为虚拟环境的每个第一点估计了将这个第一点与其周围点的其它第一点分开的距离之后,重新分组属于相同多个点的组的第一点。一旦估计出了这些距离,就为虚拟环境的每个第一点估计代表将所考虑的第一点与其相邻区域的其它第一点分开的距离的平均距离的值。然后,根据代表估计的平均距离的值以及根据代表第一点的地点和它们的取向的信息(也就是说,根据与每个第一点相关联的表面单元上的法线),将第一点重新分组成一个或几个多个点的组。一旦第一点被重新分组成多个点的组,将代表该多个点的组的取向(也就是说,该多个点的组覆盖的表面上的法线)的一项信息,以及代表该多个点的组的地点的一项信息(例如,如果该多个点的组形成圆盘,则对应于该多个点的组的中心的地点,或如果该多个点的组呈现除了圆盘形式的其它形式,则对应于该多个点的组的重心)与每个多个点的组相联系。按照第二种变型,重新分组包含几个点的至少一些多个点的组,以形成包含在第一种变型中确定的几个多个点的组的一个或几个多个点的第二组。被选来重新分组以形成一个或几个多个点的第二组的多个点的组是按照与这些多个点的组的每一个相联系的取向和地点信息选择的。一旦形成多个点的第二组,对多个点的组接收的光量的估计就对应于对重新分组多个点的组形成的多个点的第二组接收的光量的估计。
然后,在步骤72期间,确定重新分组从给定视点可见的虚拟环境1的多个点的组的表面,为其确定接收的光量的点P属于这个表面。
然后,在步骤73期间,在多个多个点的组当中(和/或在多个多个点的第二组当中)确定一个或几个多个第一点的组,确定的第一组是通过反射接收的入射光对点P的照亮有贡献的那些第一组。这种确定是按照在步骤72中定义的虚拟环境的可见点进行的。如果将多个点的组与点P连接的直线与可见点的表面没有交点,则认为该多个点的组对点P的照亮有贡献。在这条直线与可见点的表面有交点的情况下,则认为该多个点的组对点P的照亮没有贡献。为了确定在直线与可见点的表面之间是否有交点,使用在世界空间中考虑的点的坐标进行计算。按照一种变型,为了减少计算,在与虚拟环境1和所考虑的视点相关联的深度图的空间中进行交点是否存在的确定所需的计算。
最后,在步骤74期间,从对点P的照亮有贡献的每个多个点的组接收的入射光量中以及从与对点P的照亮有贡献的每个多个点的组相关联的一项反射率信息中估计点P接收的光量。
当然,本发明不局限于前面所述的实施例。
尤其,本发明不局限于估计在虚拟环境的一点P上接收的光量的方法,而是可扩展到实现这种方法的任何设备,特别是包含至少一个GPU的任何设备。估计点P接收的光量所需的计算的实现不局限于在着色器型微程序中的实现方式,而是可推广到在任何程序类型,例如,可以由CPU型微处理器执行的程序中的实现方式。
本发明的使用不局限于实时使用,而是可扩展到任何其它使用,例如,为了显示,例如,合成图像而在录制室中进行的称为后期制作处理的处理。在后期制作中实现本发明提供了在缩小所需计算时间的同时,特别是在真实性方面提供了极好视觉显示的优点。
本发明还涉及在二维中或在三维中构建视频图像的方法,为此计算从一个视点可见的任何点P按照几个观察方向接收的光量,并且将代表所得的光量的信息用于显示图像的像素,每个像素对应于一个观察方向。重新计算通过图像的每个像素显示的计算光量值,以适合观众的不同视点。
本发明可以用在,例如,视频游戏应用中,无论经由可以在PC或便携式计算机中执行的程序还是在实时产生和显示图像的专门游戏控制台中。参照图4所述的设备4可以有利地配有像键盘和/或操纵杆那样的交互部件,像,例如,语音识别那样发出命令的其它模式也是可以的。
Claims (4)
1.一种估计在虚拟环境(1)的一点P(43)上接收的光量的方法,所述虚拟环境(1)包含光源(10)照亮的多个第一点(121-12i,131-13i,151-153),其特征在于,所述方法包含如下步骤:
-为所述多个第一点(121-12i,131-13i,151-153)的至少一部分中的每个第一点确定代表将每个第一点与相邻区域的多个第一点分开的平均距离的值,
-根据所估计的值和代表第一点的位置和取向的信息对所述第一点进行分组以形成多个组,代表所述组的取向的取向信息和代表所述组的位置的位置信息与每个组相关联,
-为每个组估计(71)接收的入射光量;
-估计(72)对从一个视点(40)可见的虚拟环境的至少一些点进行分组的表面(41),所述表面包含所述点P(43);
-按照与所述表面(41)相关联的至少一项遮挡信息,确定通过反射从所述光源接收的入射光对所述点P(43)的照亮有贡献的至少一个第一组(321,351),所述至少一个第一组(321,351)是根据所述多个组而确定的;以及
-按照与所述至少一个第一组相关联的至少一项反射率信息,从所述至少一个第一组(321,351)接收的入射光量中估计所述点P(43)接收的光量。
2.如权利要求1所述的方法,其特征在于,所述表面(41)是从代表分开从所述视点(40)可见的虚拟环境的每个点和所述视点(40)的距离的深度图中估计的。
3.如权利要求1或2所述的方法,还包含:
-按照与所述组关联的取向信息和位置信息对所述第一点的组进行分组以形成多个第二组,代表所述第二组的取向的取向信息和代表所述第二组的位置的位置信息与每个第二组相关联,所述至少一个第一组(321,351)是根据所述多个第二组而确定的。
4.如权利要求1或2所述的方法,其特征在于,按照入射方向通过估计将所述光源与所述第一点分开的第一距离获取代表第一点的位置的信息,所估计的第一距离被存储在与所述虚拟环境(1)和所述光源(10)相关联的阴影图(11)中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1057903A FR2965652A1 (fr) | 2010-09-30 | 2010-09-30 | Procede d’estimation de la quantite de lumiere recue en un point d’un environnement virtuel |
FR1057903 | 2010-09-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102446365A CN102446365A (zh) | 2012-05-09 |
CN102446365B true CN102446365B (zh) | 2016-01-13 |
Family
ID=44169007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110293777.8A Active CN102446365B (zh) | 2010-09-30 | 2011-09-29 | 估计在虚拟环境的一点上接收的光量的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9082230B2 (zh) |
EP (1) | EP2437219B1 (zh) |
JP (1) | JP5873672B2 (zh) |
KR (1) | KR20120034024A (zh) |
CN (1) | CN102446365B (zh) |
FR (1) | FR2965652A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013106145A (ja) * | 2011-11-11 | 2013-05-30 | Fuji Xerox Co Ltd | 読取装置 |
US10713838B2 (en) * | 2013-05-03 | 2020-07-14 | Nvidia Corporation | Image illumination rendering system and method |
EP3057067B1 (en) * | 2015-02-16 | 2017-08-23 | Thomson Licensing | Device and method for estimating a glossy part of radiation |
KR102399686B1 (ko) * | 2015-07-28 | 2022-05-19 | 삼성전자주식회사 | 3d 렌더링 방법 및 장치 |
JP6202118B2 (ja) * | 2016-03-09 | 2017-09-27 | 日本電気株式会社 | 描画装置、描画方法およびプログラム |
CN108961372B (zh) * | 2018-03-27 | 2022-10-14 | 北京大学 | 一种基于统计模型检验的渐进式光子映射方法 |
EP3827415A1 (en) * | 2018-07-26 | 2021-06-02 | NVIDIA Corporation | Global illumination using shared lighting contributions for interactions in path tracing |
US11790594B2 (en) * | 2019-08-18 | 2023-10-17 | Nvidia Corporation | Ray-tracing with irradiance caches |
KR20230092514A (ko) * | 2021-12-17 | 2023-06-26 | 삼성전자주식회사 | 렌더링 방법 및 장치 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101246600A (zh) * | 2008-03-03 | 2008-08-20 | 北京航空航天大学 | 用球面全景摄像机实时生成增强现实环境光照模型的方法 |
CN101354784A (zh) * | 2008-08-21 | 2009-01-28 | 上海交通大学 | 基于图像的真实光源获取及重光照的方法 |
EP2024793A1 (de) * | 2006-05-23 | 2009-02-18 | SeeReal Technologies S.A. | Verfahren und einrichtung zum rendern und generieren computer-generierter videohologramme |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0778267A (ja) | 1993-07-09 | 1995-03-20 | Silicon Graphics Inc | 陰影を表示する方法及びコンピュータ制御表示システム |
JP3554616B2 (ja) * | 1994-12-13 | 2004-08-18 | 富士通株式会社 | ラジオシティ法を用いる描画方法および装置 |
DE19606357A1 (de) * | 1996-02-12 | 1997-08-14 | Gmd Gmbh | Bildverarbeitungsverfahren zur Darstellung von spiegelnden Objekten und zugehörige Vorrichtung |
US6476805B1 (en) * | 1999-12-23 | 2002-11-05 | Microsoft Corporation | Techniques for spatial displacement estimation and multi-resolution operations on light fields |
US7262770B2 (en) * | 2002-03-21 | 2007-08-28 | Microsoft Corporation | Graphics image rendering with radiance self-transfer for low-frequency lighting environments |
WO2006049870A1 (en) | 2004-10-27 | 2006-05-11 | Pacific Data Images Llc | Volumetric shadows for computer animation |
JP4974612B2 (ja) * | 2006-05-18 | 2012-07-11 | 旭化成ホームズ株式会社 | 光環境解析用プログラム及び光環境解析装置 |
US7408550B2 (en) * | 2006-07-24 | 2008-08-05 | Bunnell Michael T | System and methods for real-time rendering of deformable geometry with global illumination |
US8436855B1 (en) * | 2007-02-19 | 2013-05-07 | Aechelon Technology, Inc. | Efficient illumination of large three dimensional environments |
US20090102843A1 (en) * | 2007-10-17 | 2009-04-23 | Microsoft Corporation | Image-based proxy accumulation for realtime soft global illumination |
US8432395B2 (en) * | 2009-06-16 | 2013-04-30 | Apple Inc. | Method and apparatus for surface contour mapping |
US8542231B2 (en) * | 2009-06-29 | 2013-09-24 | Crytek Gmbh | Method, computer graphics image rendering system and computer-readable data storage medium for computing of indirect illumination in a computer graphics image of a scene |
-
2010
- 2010-09-30 FR FR1057903A patent/FR2965652A1/fr active Pending
-
2011
- 2011-09-23 EP EP11182544.4A patent/EP2437219B1/en active Active
- 2011-09-27 US US13/200,626 patent/US9082230B2/en active Active
- 2011-09-28 JP JP2011212801A patent/JP5873672B2/ja not_active Expired - Fee Related
- 2011-09-29 CN CN201110293777.8A patent/CN102446365B/zh active Active
- 2011-09-29 KR KR1020110099026A patent/KR20120034024A/ko not_active Application Discontinuation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2024793A1 (de) * | 2006-05-23 | 2009-02-18 | SeeReal Technologies S.A. | Verfahren und einrichtung zum rendern und generieren computer-generierter videohologramme |
CN101246600A (zh) * | 2008-03-03 | 2008-08-20 | 北京航空航天大学 | 用球面全景摄像机实时生成增强现实环境光照模型的方法 |
CN101354784A (zh) * | 2008-08-21 | 2009-01-28 | 上海交通大学 | 基于图像的真实光源获取及重光照的方法 |
Non-Patent Citations (1)
Title |
---|
Interactive Global Illumination Using Implicit Visibility;Zhao Dong et al;《15th Pacific Conference on Computer Graphics and Applications》;20071231;77-86 * |
Also Published As
Publication number | Publication date |
---|---|
EP2437219A1 (en) | 2012-04-04 |
KR20120034024A (ko) | 2012-04-09 |
EP2437219B1 (en) | 2015-08-12 |
US9082230B2 (en) | 2015-07-14 |
US20130176313A1 (en) | 2013-07-11 |
JP2012089121A (ja) | 2012-05-10 |
JP5873672B2 (ja) | 2016-03-01 |
FR2965652A1 (fr) | 2012-04-06 |
CN102446365A (zh) | 2012-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102446365B (zh) | 估计在虚拟环境的一点上接收的光量的方法 | |
US11069117B2 (en) | Optimal texture memory allocation | |
US9569885B2 (en) | Technique for pre-computing ambient obscurance | |
CN108986195B (zh) | 一种结合环境映射和全局光照渲染的单镜头混合现实实现方法 | |
CA2866849C (en) | Method for estimating the opacity level in a scene and corresponding device | |
US11386613B2 (en) | Methods and systems for using dynamic lightmaps to present 3D graphics | |
CN103489216A (zh) | 使用摄像机和电视监视器的三维物体扫描 | |
CN101315703A (zh) | 三维大规模场景动态管理方法 | |
US20210012562A1 (en) | Probe-based dynamic global illumination | |
KR20120047778A (ko) | 가상 환경에서 차폐의 추정 방법 | |
JP5916764B2 (ja) | 仮想環境における隠蔽の推定方法 | |
EP2511877B1 (en) | Heightmap generation for a virtual environment | |
US9390551B2 (en) | Method for estimation of information representative of a pixel of a virtual object | |
US11830125B2 (en) | Ray-guided water caustics | |
CN115035231A (zh) | 阴影烘焙方法、装置、电子设备和存储介质 | |
JP2017010508A (ja) | プログラム、記録媒体、輝度演算装置及び輝度演算方法 | |
Chochlík | Scalable multi-GPU cloud raytracing with OpenGL | |
Muñoz-Pandiella et al. | NightLighting: a Nocturnal Urban Illumination Approach. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |