Diffusion curves are a new kind of primitive in vector graphics, capable of representing smooth color transitions among boundaries. Their rendering requires solving Poisson's equation; much previous research relied on traditional solvers, which commonly require GPU acceleration to achieve real-time rasterization. This obviously restricts deployment on the Internet—for example, as rich Internet applications, in which various computing environments are involved. Diffusion effects are similar to locally defined interpolation with a particular orientation and magnitude. Inspired by that observation, a mesh-based framework combined with mean value coordinates (MVC) interpolants efficiently renders diffusion curve images on a CPU. This method employs a visibility algorithm to efficiently find and sort neighboring curve nodes for each vertex. It then assigns the vertex colors according to MVC interpolation with the neighboring curve nodes. Experiments produced rendering results comparable to traditional solvers, but this method is computationally more efficient and runs much faster on a CPU.
[1]
Jonathan Richard Shewchuk,et al.
Triangle: Engineering a 2D Quality Mesh Generator and Delaunay Triangulator
,
1996,
WACG.
[2]
Michael M. Kazhdan,et al.
Streaming multigrid for gradient-domain operations on large images
,
2008,
ACM Trans. Graph..
[3]
Stefan Jeschke,et al.
A GPU Laplacian solver for diffusion curves and Poisson image editing
,
2009,
ACM Trans. Graph..
[4]
Aseem Agarwala,et al.
Efficient gradient-domain compositing using quadtrees
,
2007,
ACM Trans. Graph..
[5]
Pascal Barla,et al.
Diffusion curves: a vector representation for smooth-shaded images
,
2008,
ACM Trans. Graph..
[6]
Gary S. Watkins,et al.
A real time visible surface algorithm
,
1970
.