![]() If the corresponding smoothing of the data is not desired, the method can also be adapted to interpolating filters such as Catmull-Rom splines.įigure 20-1 The Cubic B-Spline and Its Derivatives Although there are many types of filters, we restrict ourselves to B-spline filters in this chapter. The weights w i ( x) depend on the filter kernel used.To reconstruct a texture with a cubic filter at a texture coordinate x, as shown in Figure 20-1a, we have to evaluate the convolution sum The following discussion primarily considers the one-dimensional case, but it extends directly to higher dimensions. We show how to implement efficient third-order texture filtering on current programmable graphics hardware. ![]() Moreover, higher-order schemes are necessary to compute continuous derivatives of texture data. However, higher-order filtering modes often lead to superior image quality. Both types are natively supported by all GPUs. 20.1 Higher-Order Filteringīoth OpenGL and Direct3D provide two different types of texture filtering: nearest-neighbor sampling and linear filtering, corresponding to zeroth and first-order filter schemes. A powerful application of these filters is on-the-fly computation of implicit surface curvature with tricubic B-splines, which have been applied to offline high-quality volume rendering, including nonphotorealistic styles (Kindlmann et al. ![]() We extend our basic filtering method to reconstruction of continuous first-order and second-order derivatives. Often, high-quality derivative reconstruction is required in addition to value reconstruction, for example, in volume rendering. We describe a general approach for adapting a higher-order filtering scheme to mipmapped textures. Specifically, we are able to evaluate a tricubic filter with 64 summands using just eight trilinear texture fetches.Īpproaches that perform custom filtering in the fragment shader depend on knowledge of the input texture resolution, which usually prevents correct filtering of mipmapped textures. To reduce the number of input samples, we perform cubic filtering building on linear texture fetches, which reduces the number of texture accesses considerably, especially for 2D and 3D filtering. The major performance bottleneck of higher-order filters is the large number of input texture samples that are required, which are usually obtained via repeated nearest-neighbor sampling of the input texture. We address these issues in this chapter for filtering with a cubic B-spline kernel and its first and second derivatives in one, two, and three dimensions. However, several shortcomings are usually associated with these approaches: the need to perform many texture lookups and the inability to antialias lookups with mipmaps, in particular. Fast Third-Order Texture FilteringĬurrent programmable graphics hardware makes it possible to implement general convolution filters in fragment shaders for high-quality texture filtering, such as cubic filters (Bjorke 2004). ![]() The CD content, including demos and content, is available on the web and for download.Ĭhapter 20. You can purchase a beautifully printed version of this book, and others in the series, at a 30% discount courtesy of InformIT and Addison-Wesley. GPU Gems 2 GPU Gems 2 is now available, right here, online. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |