A Ray Tracing Approach to Diffusion Curves

Diffusion curves [ OBW*08 ] provide a flexible tool to create smooth‐shaded images from curves defined with colors. The resulting image is typically computed by solving a Poisson equation that diffuses the curve colors to the interior of the image. In this paper we present a new method for solving diffusion curves by using ray tracing. Our approach is analogous to final gathering in global illumination, where the curves define source radiance whose visible contribution will be integrated at a shading pixel to produce a color using stochastic ray tracing. Compared to previous work, the main benefit of our method is that it provides artists with extended flexibility in achieving desired image effects. Specifically, we introduce generalized curve colors called shaders that allow for the seamless integration of diffusion curves with classic 2D graphics including vector graphics (e.g. gradient fills) and raster graphics (e.g. patterns and textures). We also introduce several extended curve attributes to customize the contribution of each curve. In addition, our method allows any pixel in the image to be independently evaluated, without having to solve the entire image globally (as required by a Poisson‐based approach). Finally, we present a GPU‐based implementation that generates solution images at interactive rates, enabling dynamic curve editing. Results show that our method can easily produce a variety of desirable image effects.

[1]  Michael M. Kazhdan,et al.  Streaming multigrid for gradient-domain operations on large images , 2008, ACM Trans. Graph..

[2]  J. Warren,et al.  Mean value coordinates for closed triangular meshes , 2005, SIGGRAPH 2005.

[3]  Jian Sun,et al.  Poisson matting , 2004, ACM Trans. Graph..

[4]  Stefan Jeschke,et al.  Rendering surface details with diffusion curves , 2009, ACM Trans. Graph..

[5]  Stefan Jeschke,et al.  A GPU Laplacian solver for diffusion curves and Poisson image editing , 2009, ACM Trans. Graph..

[6]  Tao Ju,et al.  Mean value coordinates for closed triangular meshes , 2005, ACM Trans. Graph..

[7]  Stefan Jeschke,et al.  Estimating Color and Texture Parameters for Vector Graphics , 2011, Comput. Graph. Forum.

[8]  Nancy S. Pollard,et al.  Real-time gradient-domain painting , 2008, SIGGRAPH 2008.

[9]  T KajiyaJames The rendering equation , 1986 .

[10]  Joëlle Thollot,et al.  Diffusion constraints for vector graphics , 2010, NPAR.

[11]  Patrick Pérez,et al.  Poisson image editing , 2003, ACM Trans. Graph..

[12]  M. Werman,et al.  Gradient Domain High Dynamic Range Compression , 2002 .

[13]  Pascal Barla,et al.  Diffusion curves: a vector representation for smooth-shaded images , 2008, ACM Trans. Graph..

[14]  GrinspunEitan,et al.  Sparse matrix solvers on the GPU , 2003 .

[15]  Zeev Farbman,et al.  Coordinates for instant image cloning , 2009, ACM Trans. Graph..

[16]  Alexandrina Orzan,et al.  Texture Design and Draping in 2D Images , 2016 .

[17]  Michael S. Floater,et al.  Mean value coordinates , 2003, Comput. Aided Geom. Des..

[18]  Aseem Agarwala Efficient gradient-domain compositing using quadtrees , 2007, SIGGRAPH 2007.

[19]  Dani Lischinski,et al.  Gradient Domain High Dynamic Range Compression , 2023 .

[20]  M. Floater Mean value coordinates , 2003, Computer Aided Geometric Design.

[21]  James T. Kajiya,et al.  The rendering equation , 1986, SIGGRAPH.

[22]  Daniel Cohen-Or,et al.  GPU-assisted positive mean value coordinates for mesh deformations , 2007, Symposium on Geometry Processing.

[23]  Takeo Igarashi,et al.  Volumetric modeling with diffusion surfaces , 2010, ACM Trans. Graph..

[24]  Harry Shum,et al.  Image vectorization using optimized gradient meshes , 2007, ACM Trans. Graph..

[25]  FattalRaanan,et al.  Gradient domain high dynamic range compression , 2002 .

[26]  Eitan Grinspun,et al.  Sparse matrix solvers on the GPU: conjugate gradients and multigrid , 2003, SIGGRAPH Courses.