A propos des objets 3D texturés dans ArcGlobe
Les objets 3D texturés sont des entités qui ont des données de géométrie 3D et d'image pour chaque face affichée. Les objets 3D texturés peuvent par exemple correspondre à des bâtiments, des avions, du mobilier urbain et des véhicules. Ils sont utilisés communément pour ajouter du réalisme à une vue 3D. Dans ArcGIS, les objets 3D texturés sont stockés comme entités multipatchs.
Lors de l'utilisation d'entités multipatch texturées dans ArcGlobe, un problème courant concerne la lenteur éventuelle de la navigation 3D. Le problème peut s'aggraver lorsqu'une classe d'entités multipatch contient un grand nombre d'entités texturées ou si les tailles de texture sont très importantes (par exemple, plus de 1 024 pixels sur une face).
Pour aider à éviter ce problème, les entités multipatch texturées ajustent automatiquement la résolution de leur texture d'image en fonction de leur distance par rapport à la caméra de la vue courante. Chaque entité calcule individuellement la distance 3D par rapport à la caméra, les objets proches affichent donc leurs textures avec une résolution plus importante que les objets éloignés, même au sein d'une même couche et classe d'entités.
Il existe deux méthodes supplémentaires pour remédier à la lenteur d'affichage des objets 3D texturés dans ArcGlobe. La première consiste à tirer parti de la carte graphique pour compresser de façon native les textures. La seconde est de réduire la résolution des textures utilisées sur les entités multipatchs. Les deux solutions limitent la qualité maximale des textures affichées pour la couche de multipatch, réduisant ainsi l'utilisation de mémoire afin d'optimiser les performances de navigation.
Reportez-vous à la rubrique Symbolisation de multipatchs pour plus d'informations sur la définition des propriétés d'affichage pour les couches de multipatch texturées.
Textures et mémoire
La mémoire principale (RAM) et la mémoire de texture de la carte graphique permettent de rendre les textures. Les textures sont d'abord chargées en mémoire principale, puis transmises à la carte graphique pour être rendues. Lorsque la mémoire de texture de la carte graphique est épuisée, le système d'exploitation commence la pagination sur disque, ce qui provoque une chute rapide des performances. Cela signifie qu'une utilisation réduite de la mémoire RAM et de la mémoire de texture sur la carte graphique permet d'améliorer les performances de l'application et de charger de plus grands jeux de données.
Compression des textures
La compression des textures exploite la prise en charge native des textures compressées sur les cartes graphiques 3D afin d'améliorer les performances de rendu des objets 3D texturés.
Depuis ArcGIS 9, les textures sont gérées sur le disque au format JPEG compressé. Lors du chargement, les textures compressées JPEG sont décompressées, puis transmises à la carte graphique pour y être rendues. De ce fait, elles utilisent la mémoire de texture de la carte graphique. Cependant, les cartes graphiques ne prennent pas en charge de façon native le format JPEG et une baisse des performances a lieu lorsque les textures sont décompressées. De plus, les textures décompressées peuvent être beaucoup plus volumineuses en mémoire que leur équivalent JPEG compressé sur le disque.
Un ensemble spécifique de formats de compression de textures est pris en charge par les cartes graphiques. Ceux-ci sont actuellement disponibles par le biais des extensions OpenGL. Les extensions font l'objet d'une standardisation au bout d'un certain temps et les extensions de compression de textures feront bientôt partie des normes OpenGL. Les textures qui sont compressées dans les formats gérés peuvent être transmises directement à la carte graphique.
Dans ArcGIS 9.2, ArcGlobe peut utiliser le format DXT géré par OpenGL pour compresser et conserver les textures en lieu et place de la compression JPEG. Cela permet de remédier au problème de lenteur dû à la décompression et à l'augmentation de taille dans la mémoire RAM et la mémoire de texture. Il est important de noter que JPEG et DXT sont des formats de compression avec perte. De ce fait, des détériorations apparaissent dans la qualité de l'image lors de l'utilisation de textures compressées. Alors que la taille des textures compressées avec JPEG dépend du paramètre de qualité, DXT a un taux de compression fixe (1:6 pour RVB et 1:4 pour RGBA).
La compression matérielle de textures peut être activée au niveau de la couche dans ArcGlobe.
Réduction de la résolution des textures
Vous pouvez réduire le volume des pixels de texture (texels) qui sont envoyés à la carte graphique en diminuant la résolution de textures. Par exemple, une texture de 640 x 480 peut être réduite à 320 x 240, et permettre ainsi de diminuer la capacité de mémoire par un facteur de 4.
Le degré de réduction pouvant être appliqué à une texture sans nuire à la qualité de l'affichage varie d'une texture à l'autre. Par exemple, une texture de vitrine répétitive accepte une plus grande réduction de la résolution que celle d'un panneau stop.
La réduction de la résolution des textures est appliquée comme propriété de couche et ne s'applique qu'aux couches de multipatch. La définition de la réduction de résolution des textures pour une couche permet de réduire les besoins en mémoire pour le rendu et ainsi de libérer des ressources pour d'autres tâches telles que la navigation. Vous pouvez éventuellement gérer la résolution de texture réduite lors de l'utilisation de l'outil de géotraitement Couche 3D vers classe d'entités pour exporter la couche vers une nouvelle classe d'entités. La fonction standard Données > Exporter des données n'intègre pas les paramètres de réduction de résolution des textures dans la classe d'entités en sortie.
La bibliothèque GLU d'OpenGL, disponible sur toutes les plates-formes qui prennent en charge ArcGIS, est utilisée pour réduire la résolution des textures.
- Vous pouvez également choisir de désactiver complètement les textures pour la couche. La géométrie reste affichée et des couleurs simples peuvent être utilisées en tant que symbologie.