A Vectorial Framework for Ray Traced Diffusion Curves

Diffusion curves allow creating complex, smoothly shaded images by diffusing colours defined at curves. These methods typically require the solution of a global optimization problem (over either the pixel grid or an intermediate tessellated representation) to produce the final image, making fully parallel implementation challenging. An alternative approach, inspired by global illumination, uses 2D ray tracing to independently compute each pixel value. This formulation allows trivial parallelism, but it densely computes values even in smooth regions and sacrifices support for instancing and layering. We describe a sparse, ray traced, multi‐layer framework that incorporates many complementary benefits of these existing approaches. Our solution avoids the need for a global solve and trivially allows parallel GPU implementation. We leverage an intermediate triangular representation with cubic patches to synthesize smooth images faithful to the per‐pixel solution. The triangle mesh provides a resolution–independent, vectorial representation and naturally maps diffusion curve images to a form natively supported by standard vector graphics and triangle rasterization pipelines. Our approach supports many features which were previously difficult to incorporate into a single system, including instancing, layering, alpha blending, texturing, local blurring, continuity control and parallel computation. We also show how global diffusion curves can be combined with local painted strokes in one coherent system.

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

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

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

[4]  Jonathan Richard Shewchuk,et al.  Delaunay refinement algorithms for triangular mesh generation , 2002, Comput. Geom..

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

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

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

[8]  Pascal Barla,et al.  A vectorial solver for free-form vector gradients , 2012, ACM Trans. Graph..

[9]  Leif Kobbelt,et al.  Theory, analysis and applications of 2D global illumination , 2012, TOGS.

[10]  Jiaya Jia,et al.  Poisson matting , 2004, SIGGRAPH 2004.

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

[12]  Nancy S. Pollard,et al.  Real-time gradient-domain painting , 2008, ACM Trans. Graph..

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

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

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

[16]  Rui Wang,et al.  A Ray Tracing Approach to Diffusion Curves , 2011, EGSR '11.

[17]  Ralph R. Martin,et al.  Automatic and topology-preserving gradient mesh generation for image vectorization , 2009, SIGGRAPH 2009.

[18]  John Snyder,et al.  Freeform vector graphics with controlled thin-plate splines , 2011, ACM Trans. Graph..

[19]  Kup-Sze Choi,et al.  Fast Rendering of Diffusion Curves with Triangles , 2012, IEEE Computer Graphics and Applications.

[20]  Stephen Lin,et al.  Diffusion curve textures for resolution independent texture mapping , 2012, ACM Trans. Graph..

[21]  Ralph R. Martin,et al.  Automatic and topology-preserving gradient mesh generation for image vectorization , 2009, ACM Trans. Graph..