Real-time rendering of textures
Texture mapping is a powerful tool to enhance realism of rendered objects.
Bump and normal mappings are two very important examples of texture mapping
that store normal perturbations in a texture to give objects a more geometrically
complex appearance without increasing the size of objects'
underlying mesh. Textures are discreet versions of their original
signals, so that during rendering steps texture samples should be
interpolated to reconstruct the original signal at arbitrary location. The standard
bilinear interpolation results in perfect reconstruction
in the case of continuous textures; however, it does unwanted smoothing along the
curvilinear discontinuities in the case of piece-wise continuous textures,
which is common during rendering of surfaces with creases, wrinkles, and dents.
In this project we are working on methods for real-time rendering of
multi-dimensional textures with curvilinear discontinuities.
In contrast to the existing methods, we consider an important sub-set of piece-wise continuous fields which are best represented as functions of the distance to the discontinuities and its gradient, like normal field near the creases. In our approach we first interpolate distance and its gradient along the discontinuities. Then we decide how to interpolate texture samples so that the resulting field is continuous at arbitrary resolution everywhere except across the discontinuities. Here is the list of problems we address in our method:
E. Parilov and D. Zorin, "Real-time rendering of textures with feature curves
ACM Transactions on Graphics, Vol. 27, No. 1, (03/2008) link
Presented at SIGGRAPH 2008 TOG Session, Los Angeles, CA (08/2008) link
E. Parilov, I. Rosenberg, and D. Zorin, "Real-time rendering of normal maps with discontinuities", (Tech. report, NYU TR2005-872, 08/2005) link
Examples of applying different user-defined profiles (three most-right images)
to the original discontinuity map (left image). Normal map 128x128.
Normal map 1K x 1K.
Normal map 512 x 512.
An example of configurations with complex intersections (broken glass)
| to be added soon...
(a) real-time rendering of broken glass
(b) updating discontinuity set in real-time (glass fracture propagation)
Parametric representation of the curvilinear features (b) as opposed to a linear
approximation (a) ...