一种微多边形光线跟踪的着色重用方法

文档序号:6349481阅读:206来源:国知局
专利名称:一种微多边形光线跟踪的着色重用方法
技术领域
本发明涉及图形绘制技术领域,尤其涉及一种面向微多边形的光线跟踪方法。
技术背景
着色往往是电影品质级绘制的性能瓶颈。这种绘制通常基于Reyes体系结构, 它使用微多边形(micropolygon)来表示高阶曲面或非常精细的对象。Reyes体系架构和微多边形的定义可参考COOK, R. L.,CARPENTER, L.,AND CATMULL, Ε. 1987; The Reyes image rendering architecture. SIGGRAPH Computer Graphics 21, 4 (August), 95 - 102。为了降低着色的代价,先进的微多边形渲染器(如Pixar公司的RenderMan)对微多边形的顶点进行着色计算,进而重用着色值算出每个可见性样本(或反走样样本)的颜色,然后合成最终图像。这样的着色重用策略能让着色率明显低于可见性采样率。对于需要很高可见性超采样率的高质量绘制(尤其是绘制散焦和运动模糊效果时)而言,这一点显得至关重要。
现有用于微多边形绘制的着色重用方法大多为光栅化绘制流水线设计。这些方法一般将反射和折射等光线跟踪效果视为着色的一部分,这导致所有反射/折射采样均需做着色处理,从而带来巨大的额外开销。由于光线跟踪在现代高品质绘制中日益重要,这一问题可能成为未来各种应用的主要障碍。本发明完成了一种用于高效微多边形光线跟踪、简单却有效的着色重用方法。与目前的微多边形光线跟踪算法相比,本发明的方法能将所需的着色计算量减小一个数量级,从而获得显著的性能提升。
大部分微多边形绘制方法都能够重用多个可见性采样中代价不菲的着色计算。 这些方法假定相邻可见性采样间的着色值是连续且不会有明显变化的。现有的着色重用方法可分为对象空间方法和图像空间方法。对象空间重用方法可参考C00K,R. L., CARPENTER, L. , AND CATMULL, Ε. 1987; The Reyes image rendering architecture. SIGGRAPH Computer Graphics 21,4 (August), 95 - 102 ;BURNS, C. A. , FATAHALIAN, K.,AND MARK, W. R. 2010. A lazy object-space shading architecture with decoupled sampling. In Proceedings of HPG 2010, 19 -沘。图像空间重用方法可参考 RAGAN-KELLEY, J. , LEHTINEN, J. , CHEN, J. , D0GGETT, Μ. , AND DURAND,F. 2011. Decoupled sampling for graphics pipelines. ACM Trans. Graph. 30, 3 (May), 17:1 - 17:17。
Stoll等人将对象空间的着色重用引入光线跟踪流水线,其方法可参考 ST0LL, G. , MARK, W. R. , DJEU, P. , WANG, R. , AND ELHASSAN, I. 2006. Razor: An architecture for dynamic multi-resolution ray tracing. Tech. rep., The University of Texas at Austin。他们使用光线导数(Ray Derivative)来控制着色计算率。关于光线导数的定义可参考IGEHY, H. 1999. Tracing ray differentials. In Proceedings of ACM SIGGRAPH ’99,179 - 186。具体而言,他们保守地将衍生光线横截面的最小宽度离散化为若干预定义的对象空间细分网格,接着对至少有一束光线入射的细分网格做着色计算。正如他们在技术报告中里提到的,当出现高度的各向异性光线导数或明显的过度细分时,这样的方法会导致可观的过量着色。为了避免对光线导数行为的依赖,本发明的方法使用最邻近搜索来控制着色重用。这种搜索并不依赖细分,且能自适各向异性。
将现有着色重用方法应用于光线跟踪的主要挑战是——光线跟踪会使对象到图像的映射方式复杂化。对着色重用而言,这种映射是必需的,因为理想的着色计算密度定义在图像空间,可是着色连续性假设仅仅在对象空间成立。上述对象空间方法利用对象空间的接近性来重用着色值。它依靠图像空间里多边形的大小来控制着色计算密度。在光栅化流水线中,通过投影到图像空间,多边形大小能立即被计算出来。然而,光线跟踪可能带来任意的扭曲,从而导致在图像空间计算多边形大小的方法失去可行性。上述图像空间方法是基于图像空间的接近性来重用着色值的。它依靠对象空间的连续型映射来保证着色精度。对于直接光栅化而言,这个假设一般是正确的。为了能重用着色,散焦和运动模糊效果通过使用非模糊图像空间的方式进行处理。然而,同样的方法却不可用于处理光线跟踪里的高光反射等效果,因为这些效果涉及对象到图像空间的非连续映射,而此映射无法通过上述图像空间方法得到有效处理。发明内容
本发明针对电影中光线跟踪效果的高效绘制问题,提出了一种微多边形光线跟踪的着色重用方法。
本发明的目的是通过以下技术方案来实现的一种微多边形光线跟踪的着色重用方法,包括以下步骤(1)在图像空间里均勻生成一定数量的着色光线并进行光线跟踪计算,得到着色样本, 然后对这些样本着色;(2)生成反走样光线并通过光线跟踪得到反走样样本;然后为每一个反走样样本定位可重用着色样本,并将着色值赋给反走样样本;(3)对在给定领域内找不到可重用着色样本的反走样样本,使用一种图像空间回归重用方法重新着色;(4)对所有反走样样本滤波,生成最终图像。
进一步地,所述步骤(2)中,所述为每一个反走样样本定位其最邻近的可重用着色样本,通过以下方式实现首先根据光线第一次与场景交互的类型将场景划分成不同的层面,包括但不限于直接吸收、反射和折射;分别在每个层面上进行着色重用;其次,在切分产生微多边形的高阶参数图元的参数空间上进行最近邻搜索来确定可重用着色样本;最后为每个独立的高阶参数图元构造二维kd树作为最近邻搜索的加速结构,各独立的高阶参数图元对应的二维kd树以并行方式同时构造。
本发明的有益效果是,和现有微多边形光线跟踪方法相比,通过反走样地处理诸如反射和折射等光线跟踪效果,大幅减小了着色计算量,并获得显著地性能提升;通过图像空间采样,本发明方法实现了控制了着色计算密度;通过参数空间的最邻近搜索,本发明方法保证了着色重用的精确性;通过图像空间回归着色,初始着色时未涉及的细节特征得到了处理,从而保证了正确的视觉效果。
具体实施方式
本发明提出在不同的空间用独立准则完成着色密度控制和实际的处理重用。具体而言,本发明从图像空间投射一些用户可控数量的着色光线,通过对象空间的最邻近搜索来将算好的着色值赋给反走样样本。这个方法既无需显式指明对象到图像空间映射方式, 也使得可以较简洁地处理诸如反射和折射等光线跟踪效果。
本发明的着色重用方法可和任何光线跟踪相结合,包括了以下步骤(一)在图像空间里均勻生成一定数量的着色光线并进行光线跟踪计算,得到着色样本,然后对这些样本着色。
着色计算的密度可以由着色光线的生成来控制用户指定对每个像素做着色计算的次数,即着色率。本发明使用带扰动的栅格采样来尽可能均勻地在图像空间生成着色光线。带扰动的栅格采样可参考 COOK, R. L.,PORTER, Τ.,AND CARPENTER, L. 1984. Distributed ray tracing. SIGGRAPH Computer Graphics 18, 3 (January), 137 - 145。 然后在这些光线与场景的交点上进行着色计算。着色计算使用任何一种现有路径跟踪技术计算,例如可参考 WHITTED, T. 1980. An improved illumination model for shaded display. Communication ACM 23, 6 (June), 343 - 349。计算完成后为每个着色样本存储一个着色值和着色光线和场景交点的位置。
(二)生成反走样光线并通过光线跟踪得到反走样样本;然后为每一个反走样样本定位可重用着色样本,并将着色值赋给反走样样本;反走样光线和样本的生成方式和上述着色光线和样本的生成方式类似,区别在于其数量不由着色率控制,而通过反走样的超采样率来控制。对于每一个反走样样本,需要定位可重用的着色样本,这可以通过下述方案实现首先根据光线第一次与场景交互的类型将场景划分成不同的层面,这些层面包括但不限于直接吸收、反射和折射。为每个反走样样本确定着色值的过程在每个层面上执行一次,以这种方式将着色重用限制在各个场景交互类型之中。场景分层起到了两个作用。首先,它降低了路径跟踪的噪声。当光线第一次与场景作用时,分层消除了继续跟踪哪类光线的随机性。因此,本发明通过准确计算各类型的权重,将第一次作用后的各种光路结合在一起,从而不需利用蒙特卡罗积分方法隐式地进行权重估算。其次,它减小以不同纹理滤波范围来重用一个着色样本的风险。注意到同一图元可能在多个层面可见。各层面会产生不同程度的放大和畸变,会导致计算出不同的纹理滤波范围。
其次对于一个给定层面上的反走样样本,通过在切分产生微多边形的高阶参数图元的参数空间上进行最近邻搜索来确定可重用着色样本。在一个基于微多边形的光线跟踪器中,任何光线交点(包括反走样光线和着色光线)都能唯一地用一个三元组(i,u, ν)表示——其中i是整型的图元ID ; iu, κ)是交点点在图元参数空间中的坐标,因而可在各图元的参数空间里分别进行最近邻搜索。这种确定可重用着色样本的方法有几个优点首先, 通过将着色重用的候选对象限定在反走样样本所在的图元中,消除了错误重用其他对象或可编程着色器着色值的风险;其次,将最近邻搜索限制在同一图元的策略能使待搜索对象的数量降低几个数量级从而带来可观的性能提升;最后,在处理位移贴元或高度弯曲图元时,基于参数空间的最近邻搜索方法仍有很好的鲁棒性。在最邻近搜索中使用一个非欧几里得的距离度量方法来计算两个采样点a和力之间的距离能够更好的修正一个图元对两条及以上的二次反射光路可见带来的问题
权利要求
1.一种微多边形光线跟踪的着色重用方法,其特征在与,包括以下步骤(1)在图像空间里均勻生成一定数量的着色光线并进行光线跟踪计算,得到着色样本, 然后对这些样本着色;(2)生成反走样光线并通过光线跟踪得到反走样样本;然后为每一个反走样样本定位可重用着色样本,并将着色值赋给反走样样本;(3)对在给定领域内找不到可重用着色样本的反走样样本,使用一种图像空间回归重用方法重新着色;(4)对所有反走样样本滤波,生成最终图像。
2.根据权利要求1所述微多边形光线跟踪的着色重用方法,其特征在与,所述步骤(1) 中,所述为每一个反走样样本定位其最邻近的可重用着色样本,通过以下方式实现首先根据光线第一次与场景交互的类型将场景划分成不同的层面,包括但不限于直接吸收、反射和折射;分别在每个层面上进行着色重用;其次,在切分产生微多边形的高阶参数图元的参数空间上进行最近邻搜索来确定可重用着色样本;最后为每个独立的高阶参数图元构造二维kd树作为最近邻搜索的加速结构,各独立的高阶参数图元对应的二维kd树以并行方式同时构造。
全文摘要
本发明完成了一种用于加速微多边形光线跟踪的着色重用方法,在保证绘制质量的前提下大幅减少着色计算,提高绘制效率。本发明首先从图像空间投射一组用户指定数量的着色光线,并通过最近邻搜索,将这些光线上计算的着色值赋给反走样样本。为了减少来自不同类型光路的干扰性重用,我们根据光路上的第一次反射类型划分出不同的层面,并分别在各层面着色采样。与现有着色重用技术相比,本发明的方法无需显式指明对象到图像空间映射方式,也使得可以较简洁地处理诸如反射和折射等光线跟踪效果。本发明的方法可以在图形处理硬件上以高度并行化的方式实现,并将微多边形光线跟踪的效率提高一个数量级。
文档编号G06T15/06GK102521870SQ20111037164
公开日2012年6月27日 申请日期2011年11月22日 优先权日2011年11月22日
发明者侯启明, 周昆 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1