Disponible avec une licence 3D Analyst.
Les objets 3D texturés sont des entités dotées de géométrie 3D et de données d’image pour chaque face affichée. Il s’agit par exemple de bâtiments, d’avions, de mobilier urbain et de véhicules. Ils sont généralement utilisés pour créer un rendu photo-réaliste dans une vue 3D. Dans ArcGIS, les objets 3D texturés sont stockés en tant qu’entités multipatchs.
Un problème courant susceptible de survenir lors de l’utilisation d’entités multipatchs texturées dans ArcScene se traduit par un ralentissement possible de la navigation 3D. Ce problème peut s’aggraver si une classe d’entités multipatchs contient de nombreuses entités texturées ou si les tailles de texture sont très importantes (par exemple, plus de 1 024 pixels sur une face).
Deux méthodes permettent de réduire le coût d’utilisation des objets 3D texturés dans ArcScene. La première consiste à tirer parti de la carte graphique pour compresser les textures en mode natif au sein de la carte. La seconde consiste à réduire la résolution des textures utilisées sur les entités multipatchs. L’objectif de ces deux solutions est de réduire l’utilisation de la mémoire afin d’améliorer les performances de la navigation en temps réel.
Pour plus de détails sur le paramétrage des propriétés d’affichage des couches multipatchs texturées, reportez-vous à la rubrique À propos de la symbolisation de multipatchs.
Textures et mémoire
La mémoire principale (RAM) et la mémoire de texture de ma carte graphique sont utilisées pour rendre les textures. Les textures sont d’abord chargées dans la mémoire principale, puis envoyées à 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 à paginer sur le disque, ce qui entraîne un net déclin des performances. En réduisant l’utilisation de la mémoire dans la mémoire vive et la mémoire de texture de la carte graphique, vous améliorez les performances de l’application et pouvez charger des jeux de données plus volumineux.
Compression matérielle des textures
La compression matérielle des textures tire profit de la prise en charge native des textures compressées dans les cartes graphiques 3D afin d’améliorer les performances des objets 3D texturés.
Les textures sont conservées sur disque au format JPEG compressé. Lorsqu’elles sont chargées, les textures JPEG compressées sont décompressées et envoyées à la carte graphique pour être rendues, consommant ainsi la mémoire de texture de la carte graphique. Les cartes graphiques ne prennent cependant pas en charge le format JPEG en mode natif et la décompression des textures entraîne une surcharge qui affecte les performances. De plus, les textures décompressées peuvent s’avérer plusieurs fois plus volumineuses en mémoire que leurs versions JPEG compressées sur le disque.
Un ensemble spécifique de formats de compression de texture est pris en charge par les cartes graphiques. Ces formats sont actuellement accessibles via les extensions OpenGL. Les extensions se standardisent dans le temps et les extensions de compression de texture feront bientôt partie de la norme OpenGL. Les textures compressées dans les formats pris en charge peuvent être envoyées directement à la carte graphique.
ArcScene peut utiliser le format DXT pris en charge par OpenGL pour compresser et conserver les textures à la place de la compression JPEG. Cela permet d’éviter la surcharge liée à la décompression, ainsi que l’augmentation des tailles dans la mémoire vive et la mémoire de texture. Il est important de noter que JPEG et DXT sont des formats de compression avec perte ; la qualité de l’image connaît une certaine détérioration lorsque vous utilisez des textures compressées. Alors que la taille des textures JPEG compressées dépend du paramètre de qualité, le format DXT a un taux de compression fixe (1:6 pour RVB et 1:4 pour RVBA).
Vous pouvez activer la compression matérielle des textures 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) envoyés à la carte graphique en réduisant l’échelle de la résolution des textures. Ainsi, l’échelle d’une texture de 640 x 480 peut être réduite à 320 x 240, ce qui permet de diminuer par 4 la taille en mémoire.
La réduction d’échelle pouvant être appliquée à une texture sans affecter la qualité de l’affichage dépend d’une texture à une autre. Ainsi, une texture de fenêtre répétitive absorbe une réduction de résolution supérieure que celle absorbée par une enseigne de magasin.
La réduction d’échelle de texture s’applique sous la forme d’une propriété de la couche et concerne uniquement les couches multipatchs. La définition d’une réduction d’échelle de texture pour une couche entraîne une diminution des exigences en termes de mémoire pour le rendu, ce qui libère des ressources pour d’autres tâches telles que la navigation. Vous pouvez, si vous le souhaitez, conserver la résolution des textures réduite lorsque vous utilisez l’outil de géotraitement Layer 3D To Feature Class (Couche 3D vers classe d’entités) pour exporter la couche vers une nouvelle classe d’entités. La fonction standard Data (Données) > Export Data (Exporter des données) n’inclut pas les paramètres de réduction d’échelle des textures dans la classe d’entités en sortie.
La bibliothèque GLU d’OpenGL, disponible sur toutes les plateformes prenant en charge ArcGIS, est utilisée pour réduire l’échelle des textures.