Unified Texture Management for Arbitrary Meshes
نویسندگان
چکیده
Video games and simulators commonly use very detailed textures, whose cumulative size is often larger than the GPU memory. Textures may be loaded progressively, but dynamically loading and transferring this large amount of data in GPU memory results in loading delays and poor performance. Therefore, managing texture memory has become an important issue. While this problem has been (partly) addressed early for the specific case of terrain rendering, there is no generic texture management system for arbitrary meshes. We propose such a system, implemented on today’s GPUs, which unifies classical solutions aimed at reducing memory transfer: progressive loading, texture compression, and caching strategies. For this, we introduce a new algorithm – running on GPU – to solve the major difficulty of detecting which parts of the texture are required for rendering. Our system is based on three components manipulating a tile pool which stores texture data in GPU memory. First, the Texture Load Map determines at every frame the appropriate list of texture tiles (i.e. location and MIP-map level) to render from the current viewpoint. Second, the Texture Cache manages the tile pool. Finally, the Texture Producer loads and decodes required texture tiles asynchronously in the tile pool. Decoding of compressed texture data is implemented on GPU to minimize texture transfer. The Texture Producer can also generate procedural textures. Our system is transparent to the user, and the only parameter that must be supplied at runtime is the current viewpoint. No modifications of the mesh are required. We demonstrate our system on large scenes displayed in real time. We show that it achieves interactive frame rates even in low-memory low-bandwidth situations. Key-words: real-time rendering, high-resolution textures, GPU, progressive loading Gestion de texture unifiée pour géométrie arbitraire Résumé : Les jeux vidéos et les simulateurs utilisent couramment des textures très détaillées, dont la taille cumulée est souvent bien plus grande que la taille de la mémoire vidéo. Les textures peuvent être chargées progressivement, mais charger et transférer dynamiquement ces grandes quantités d’informations dans la mémoire vidéo entraîne des délais de chargement et dégrade les performances. La gestion de la mémoire vidéo dédiée aux textures est donc devenue un problème important pour les applications interactives. Ce problème a été en partie traité pour le cas particulier du rendu de terrain. Cependant il n’existe pas de méthode pour la gestion de textures dans le cas général. Nous proposons un système, implémenté sur les cartes graphiques actuelles, permettant d’unifier les approches classiques destinées à réduire le coût des transferts mémoire: chargement progressif, compression de textures, stratégie de cache. Pour cela nous introduisons un nouvel algorithme, exécuté par la carte graphique, pour résoudre la difficulté majeure de détecter les parties d’une texture nécessaires pour un rendu. Notre système est basé sur trois composants manipulant une mémoire stockant des morceaux (rectangles) de texture. Cette mémoire est appelée “tile pool”. Le premier composant, la “Texture Load Map”, détermine pour chaque image les morceaux de texture nécessaires (position et niveau de détail) pour effectuer le rendu depuis le point de vue courant. Le second composant, le “Texture Cache”, gère la mémoire de texture. Enfin, le “Texture Producer” charge et décode les morceaux de texture de manière asynchrone dans la mémoire. La décompression des données de texture est effectuée sur la carte graphique pour minimiser les transferts. Le “Texture Producer” peut également générer des textures procédurales. Notre système est transparent pour l’utilisateur, le seul paramètre nécessaire est le point de vue courant. Aucune modification de la géométrie n’est nécessaire. Mots-clés : rendu temps réel, textures haute résolution, GPU, chargement progressif Unified Texture Management for Arbitrary Meshes 3
منابع مشابه
Parameterizing Meshes with Arbitrary Topology
Parameterizing meshes is a basic requirement for many applications, including, e.g., reverse engineering , texture mapping, and re-meshing. We present a new fast algorithm that uses the hierarchical representation of a polygonal mesh with arbitrary topology for generating a geometry-driven parameterization.
متن کاملProgressive compression of arbitrary textured meshes
In this paper, we present a progressive compression algorithm for textured surface meshes, which is able to handle polygonal non-manifold meshes as well as discontinuities in the texture mapping. Our method applies iterative batched simplifications, which create high quality levels of detail by preserving both the geometry and the texture mapping. The main features of our algorithm are (1) gene...
متن کاملUnified Data Model (UDM): A Library for Parallel I/O and Data Management
Funct onal ty for Unstructured Meshes and Var ables One of the important and powerful functions in the UDM library is the management of unstructured meshes and variables. The library supports a broad range of unstructured meshes, which include meshes with fixed shapes, arbitrary polygons, and arbitrary polyhedrons. A mesh element may be a zone, or face, or edge; i.e., zone-mesh, face-mesh, and ...
متن کاملMultiresolution GPU Mesh Painting
Mesh painting is a well accepted and very intuitive metaphor for adding high-resolution detail to a given 3D model: Using a brush interface, the designer simply paints fine-scale texture or geometry information onto the surface. In this paper we propose a fully GPU-accelerated mesh painting technique, which provides real-time feedback even for highly complex meshes. Our method can handle arbitr...
متن کاملPhysically-Based Surface Texture Synthesis Using a Coupled Finite Element System
This paper describes a stable and robust finite element solver for physically-based texture synthesis over arbitrary manifold surfaces. Our approach solves the reaction-diffusion equation coupled with an anisotropic diffusion equation over surfaces, using a Galerkin based finite element method (FEM). This method avoids distortions and discontinuities often caused by traditional texture mapping ...
متن کامل