Inria / Raweb 2004
Project-Team: EVASION

Search in Activity Report, year 2004:


Project-Team : evasion

Section: New Results

Textural methods

Participants: Philippe Decaudin, Sylvain Lefebvre, Fabrice Neyret.

Textures sprites

Participants: Sylvain Lefebvre, Fabrice Neyret.

We developed a parameterization-free texture representation capable of defining high resolution details on surfaces without distortion (see figure 5). It draws on octree-textures (surface colour data is stored in a volumetric octree) and sprites (small repeated images relying on a set of reference patterns): our representation stores the location and orientation of the pattern instances in the octree.

Figure 5. Six ways to texture a rabbit.

Our goal is to make the model GPU-compliant, which means that the data structures lie on the graphics board: It must be dynamically updatable from the CPU by an application (e.g. a painting tool). At run time, our algorithm implemented as a dedicated fragment shader must be able to recover the texture colour for any given pixel.

This work [27] is under submission. A detailed partial version has been accepted for publication as a chapter in the book GPU-Gems II [33].

Extended Clipmaps

Participants: Sylvain Lefebvre, Fabrice Neyret.

We developed a representation for very large or very detailed textures which cannot enter in memory (see figure 6). Like SGI clipmaps, it relies on a hierarchical tiled MIPmap pyramid. The principle is that for a given view, either a large low-resolution or a narrow high-resolution part of the texture is visible, so that only a small subset of tiles are needed in memory. Our representation includes a dedicated cache system and an algorithm capable of determining which tiles are required at which resolution (including view-frustrum culling).

Figure 6. a: visible parts of the texture are figured in red in the texture. b,c,d: a view in a complex textured scene, the corresponding texture cache, and the corresponding texture-space tiling. d: flyover and zoom on a textured terrain.

Our goal is to make the model GPU-compliant (i.e. we work directly in texture space). This allows us to emulate a full-resolution texture transparently for an application. Moreover, we propose a general scheme including a texture producer which can process operations more complex than just fetching a texture tile from disk (e.g. it can decompress or procedurally generate it, possibly on GPU).

This work is under submission. Note that Sylvain Lefebvre will defend his PhD in early 2005.

Texture packing

Participants: Philippe Decaudin, Fabrice Neyret.

Sets of square texture tiles of the same size are often used in Computer Graphics, especially for real-time 3D applications (VR, video games, etc.). It is often important to gather the tiles together in one large texture to avoid performance penalty due to graphic context switching while rendering. It is also easier to manage one large texture instead of a set of small ones. But constraints imposed on texture size by graphics hardware make it difficult to pack an arbitrary number of tiles without too much space loss.

In this work, we have proposed a new packing scheme (see figure 7) which allows the packing of many number of tiles with no loss. These numbers (e.g. 10, 17...) cannot be reached with common packing schemes.

This work has been published as a short presentation [14] at Eurographics'04.

Figure 7. Various number of tiles compressed with no loss of tile space using our scheme.