A propos des objets 3D texturés dans ArcScene

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 ArcScene, un problème courant concerne la lenteur éventuelle de la navigation 3D. Le problème peut s'aggraver quand 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).

Il existe deux méthodes pour remédier à la lenteur d'affichage des objets 3D texturés dans ArcScene. 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. Le but de ces deux solutions est de réduire l'utilisation de mémoire afin d'améliorer les performances de navigation en temps réel.

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. Quand 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 conservé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 quand les textures sont décompressées. De plus, les textures non 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 d'OpenGL standard. Les textures qui sont compressées dans les formats gérés peuvent être transmises directement à la carte graphique.

Dans ArcGIS 9.2, ArcScene 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û à l'absence de compression et d'augmentation de taille dans la mémoire RAM et 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 apparaîtront 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 ArcScene.

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 acceptera une plus grande réduction de la résolution que celle d'une enseigne de magasin.

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é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 conserver 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.

AstuceAstuce :
  • 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.

7/10/2012