Vector Graphics for Real-time 3D Rendering
Loading...
Date
2009-01-27T16:27:37Z
Authors
Qin, Zheng
Advisor
Journal Title
Journal ISSN
Volume Title
Publisher
University of Waterloo
Abstract
Algorithms are presented that enable the use of vector graphics representations
of images in texture maps for 3D real time rendering.
Vector graphics images are resolution independent and
can be zoomed arbitrarily without losing detail
or crispness. Many important types of images, including text and
other symbolic information, are best represented in vector form. Vector
graphics textures can also be used as transparency mattes to augment
geometric detail in models via trim curves.
Spline curves are used to represent boundaries around regions
in standard vector graphics representations, such as PDF and SVG.
Antialiased rendering of such content can be obtained by thresholding
implicit representations of these curves.
The distance function is an especially useful implicit representation.
Accurate distance function computations would also allow the implementation
of special effects such as embossing.
Unfortunately, computing the true distance to higher order spline curves
is too expensive for real time rendering.
Therefore, normally either the distance is approximated
by normalizing some other implicit representation
or the spline curves are approximated with simpler primitives.
In this thesis, three methods for
rendering vector graphics textures in real time are introduced,
based on various approximations of the distance computation.
The first and simplest approach to the distance computation
approximates curves with line segments.
Unfortunately, approximation with line segments gives only C0 continuity.
In order to improve smoothness, spline curves can also be approximated
with circular arcs.
This approximation has C1 continuity and computing the distance
to a circular arc is only slightly more expensive than
computing the distance to a line segment.
Finally an iterative algorithm
is discussed that has good performance in practice and can compute the
distance to any parametrically differentiable curve
(including polynomial splines of any order)
robustly. This algorithm is demonstrated in the context of a system
capable of real-time rendering of SVG content in a texture map on a GPU.
Data structures and acceleration algorithms in the context of massively
parallel GPU architectures are also discussed.
These data structures and acceleration structures allow arbitrary vector
content (with space-variant complexity, and overlapping regions) to be
represented in a random-access texture.
Description
Keywords
vector graphics, 3D real-time rendering, GPU programming