Page principale | Projets | Publications | Thèses | Présentations | Membres | Cours | Gallerie | Intérêt local
Home | Projects | Publications | Theses | Presentations | People | Courses | Gallery | Local interest
 

Multi-Resolution Volumetric Texture for the Display of Complex Scenes

Karim Ratib


Geometrically complex scenes, such as those containing fur or hair, present a difficult challenge in computer graphics. Their rendering time is high because of the sheer number of primitives, and their visual quality is often unsatisfactory unless expensive anti-aliasing techniques are used. In a number of cases, a repetitive element can be found in the details of these scenes, such that these details can be replaced by deformed copies of the repetitive element. For example, grass can be represented by tiling deformed copies of a generalized cylinder. By choosing a suitable representation for the repetitive element, better results can be achieved, both in rendering time and in visual quality.

We study Neyret's [Ney96a] approach in representing the repetitive element as a texel using a 3D MIP map (an octree) that encodes only the reflective behaviour of the element's geometry at multiple resolutions. During rendering, the appropriate octree level is chosen depending on the contribution of the texel to the overall image. This way, aliasing is reduced, as well as computation time.

The method proceeds in two phases. During the first phase, the texel is built, given the geometry of the repetitive element. The geometry is sampled to create the lowest level of the octree, and the subsequent levels are successively obtained by filtering.

Once the texel is built, its instances can be placed in the scene to replace the geometric details. During rendering (using ray-tracing), if a ray intersects a texel instance, a kind of volume rendering algorithm is applied to compute the illumination of the ray inside the texel.

As a first example, we construct a texel given 100 elongated ellipsoids. Figure 1a shows the rendering of the geometry itself, while figure 1b shows the rendering of the texel at a resolution of 643. Figure 1c shows the same texel rendered at a resolution of 83. All images are rendered using a modified version of the ray-tracer OORT [Wil94], at a resolution of 320x200, using one ray per pixel.
 


Figure 1a. Geometry of 100 ellipsoids.
 


Figure 1b. Texel of 100 ellipsoids.


Figure 1c. Same texel at a lower resolution.

The information stored in each voxel of the texel consists of 3 components: the surface properties of the geometric objects inside the voxel, the visibility of each voxel face, and a normal distribution function that captures the visible normals of the geometric objects inside the voxel.

Figure 2a shows 15 geometric spheres with varying specular coefficients, while figure 2b shows a texel built from these 15 spheres.


Figure 2a. Geometry of 15 spheres.

Figure 2b. Texel of 15 spheres.

 


Results. Timing results show that using this technique is useful when a certain threshold of complexity is reached within a scene. Below this threshold, it is more economical to use the actual geometry of the details, because of the overhead incurred in intersecting texels in deformed spaces. Figure 3a shows the rendering of 62,500 geometrical ellipsoids (rendered in 2576 sec.) and figure 3b shows the rendering of 625 instances of the 100-ellipsoids texel (from figure 1b, rendered in 1332 sec.)


Figure 3a. Geometry of 62,500 ellipsoids.

 


We have generalized upon Neyret's method of volumetric texture, by automating and enhancing the process of texel construction, and by moving to a fully three-dimensional representation instead of a texture-based one. Future investigations will include better approximations to the reflectance behaviour, integrating the actual geometry if the viewpoint is close to the texel, etc. Please refer to the thesis [Rat97] for full discussion.


Figure 3b. 625 texels of 100 ellipsoids.

 


Bibliography

[Ney96a] Fabrice Neyret. "Synthesizing Verdant Landscapes using Volumetric Textures". In Eurographics Workshop on Rendering '96, June 1996.

[Wil94] N. Wilt. Object-Oriented Ray-Tracing in C++. John Wiley and Sons, 1994. Code available at: http://wuarchive.wustl.edu/graphics/graphics/books/Object-Oriented-Ray-Tracing/.

[Rat97] Karim Ratib. Texture volumique multi-échelle pour l'affichage de scènes complexes . M.Sc. thesis, Département d'informatique et de recherche opérationnelle, Université de Montréal, December 1997.