Precise vector textures for real-time 3D rendering
Zheng Qin, Michael D. McCool, Craig Kaplan
Symposium on Interactive 3D Graphics and Games, February 2008, pp. 199--206.
Abstract: Vector graphics representations of images are resolution independent. Direct use of vector images for real-time texture mapping would be desirable to avoid sampling artifacts such as blurring common with raster images. Scalable Vector Graphics (SVG) files are typical of vector graphics image representations. Such representations composite images from layers of paths and strokes defined with lines, elliptical arcs, and quadratic and cubic parametric splines.
High-quality texture mapping requires both random access and anisotropic antialiasing. For vector images, these goals can be achieved by computing the distance to the closest primitives from a sample point and then mapping this distance through a soft threshold function. Representing transparency masks in this way is especially useful, since vector mattes can be used to render complex curvilinear geometry as textures on simple geometric primitives.
Unfortunately, computing the exact minimum distance to the parametric curves used in vector images is difficult. Previous work has used approximations, but an accurate minimum distance is desirable in order to enable wide strokes and special effects such as embossing. In this paper, a simple algorithm is presented that can efficiently and accurately compute the minimum distance to a parametric curve when the sample point is within its radius of curvature and the curve can be segmented into monotonic regions. This technique can be used in a GPU shader to render antialiased vector images exactly as defined by SVG files.
@inproceedings{Qin:2008:PVT,
author = {Zheng Qin and Michael D. McCool and Craig Kaplan},
title = {Precise vector textures for real-time 3D rendering},
booktitle = {Symposium on Interactive 3D Graphics and Games},
pages = {199--206},
month = feb,
year = {2008},
}
Return to the search page.
graphbib: Powered by "bibsql" and "SQLite3."