Unified Texture Management for Arbitrary Meshes
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.
BibTex References
@techreport{LDN04,
author = {Sylvain Lefebvre and Jerome Darbon and Fabrice Neyret},
title = {Unified Texture Management for Arbitrary Meshes},
institution = {INRIA},
type = {Rapport de recherche},
number = {RR5210},
month = mai,
year = 2004
}
author = {Sylvain Lefebvre and Jerome Darbon and Fabrice Neyret},
title = {Unified Texture Management for Arbitrary Meshes},
institution = {INRIA},
type = {Rapport de recherche},
number = {RR5210},
month = mai,
year = 2004
}
