A Vectorial Framework for Ray Traced Diffusion Curves
View/ Open
Date
2015Author
Prévost, Romain
Jarosz, Wojciech
Sorkine‐Hornung, Olga
Metadata
Show full item recordAbstract
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.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.
BibTeX
@article {10.1111:cgf.12510,
journal = {Computer Graphics Forum},
title = {{A Vectorial Framework for Ray Traced Diffusion Curves}},
author = {Prévost, Romain and Jarosz, Wojciech and Sorkine‐Hornung, Olga},
year = {2015},
publisher = {Copyright © 2015 The Eurographics Association and John Wiley & Sons Ltd.},
DOI = {10.1111/cgf.12510}
}
journal = {Computer Graphics Forum},
title = {{A Vectorial Framework for Ray Traced Diffusion Curves}},
author = {Prévost, Romain and Jarosz, Wojciech and Sorkine‐Hornung, Olga},
year = {2015},
publisher = {Copyright © 2015 The Eurographics Association and John Wiley & Sons Ltd.},
DOI = {10.1111/cgf.12510}
}