3D-Objekte mit Textur in ArcScene

3D-Objekte mit Textur sind Features, die sowohl über eine 3D-Geometrie als auch über Bilddaten für jede angezeigte Facette verfügen. Beispiele für 3D-Objekte mit Textur sind Gebäude, Flugzeuge, Straßenausstattung und Fahrzeuge. Sie werden häufig dazu verwendet, um eine 3D-Ansicht realistisch zu gestalten. In ArcGIS werden 3D-Objekte mit Textur als Multipatch-Features gespeichert.

Ein häufiges Problem bei der Verwendung von Multipatch-Features mit Textur in ArcScene besteht darin, dass die 3D-Navigation träge werden kann. Das Problem kann sich weiter verschlimmern, wenn eine Multipatch-Feature-Class viele Features mit Texturen enthält oder wenn die Texturen sehr groß sind (z. B. mehr als 1024 Pixel pro Facette).

Es gibt zwei Wege, den Aufwand für den Einsatz von 3D-Objekten mit Textur in ArcScene zu reduzieren: Zum einen können Sie die Hardware der Grafikkarte nutzen, um die nativ integrierten Texturen zu komprimieren. Zum anderen können Sie die Auflösung der auf den Multipatch-Features verwendeten Texturen verringern. Auf beiden Wegen können Sie die Speichernutzung reduzieren, um somit die Echtzeit-Performance bei der Navigation zu verbessern.

Weitere Informationen zum Festlegen von Anzeigeeigenschaften für Multipatch-Layer mit Textur finden Sie unter Symbolisieren von Multipatches.

Texturen und Speicher

Der Hauptspeicher (RAM) und der Texturspeicher der Grafikkarte werden zum Rendern von Texturen verwendet. Texturen werden zuerst in den Hauptspeicher geladen und dann zum Rendern an die Grafikkarte weitergeleitet. Wenn der Texturspeicher auf der Grafikkarte ausgelastet ist, lagert das Betriebssystem die Texturen auf die Festplatte aus, wobei es zu einer spürbaren Verschlechterung der Leistung kommt. Eine reduzierte Speichernutzung von RAM und Grafikkartentexturspeicher verbessert die Anwendungsleistung, sodass größere Datasets geladen werden können.

Hardwaretexturkomprimierung

Die Hardwaretexturkomprimierung nutzt den nativen Support für komprimierte Texturen von 3D-Grafikkarten, um die Leistung beim Rendern von 3D-Objekten mit Textur zu verbessern.

Ab ArcGIS 9 werden Materialtexturen auf der Festplatte im komprimierten JPEG-Format aufbewahrt. Beim Laden werden die JPEG-komprimierten Texturen dekomprimiert und zum Rendern an die Grafikkarte weitergeleitet, wobei der Texturspeicher der Grafikkarte verwendet wird. Grafikkarten unterstützen das JPEG-Format jedoch nicht nativ, und es ist ein höherer Leistungsaufwand notwendig, wenn die Texturen dekomprimiert sind. Dekomprimierte Texturen im Speicher können darüber hinaus um ein Vielfaches größer sein, als die JPEG-komprimierte Versionen auf der Festplatte.

Grafikkarten unterstützen einen bestimmten Satz an Texturkomprimierungsformaten. Diese werden derzeit über OpenGL-Erweiterungen offen gelegt. Über einen bestimmten Zeitraum werden die Erweiterungen standardisiert, und die Texturkomprimierungserweiterungen werden in den Standard-OpenGL aufgenommen. Texturen, die in unterstützten Formaten komprimiert werden, können direkt an die Grafikkarte weitergeleitet werden.

In ArcGIS 9.2 verwendet ArcScene das OpenGL-unterstützte DXT-Format, um anstelle der JPEG-Komprimierung die Texturen zu komprimieren und beizubehalten. Dadurch werden der Dekomprimierungsaufwand und die Übergröße im RAM und im Texturspeicher reduziert. Beachten Sie, dass sowohl JPEG als auch DXT verlustreiche Komprimierungsformate sind, sodass sich beim Einsatz von komprimierten Texturen die Bildqualität verschlechtert. Bei JPEG-komprimierten Texturen hängt die Größe von der Qualitätseinstellung ab. Bei DXT wird ein festes Komprimierungsverhältnis (1:6 für RGB und 1:4 für RGBA) verwendet.

Die Hardware-Texturkomprimierung kann in ArcScene auf Layer-Ebene aktiviert werden.

Verringern der Texturauflösung

Sie können die Menge der Texturpixel (Texel), die an die Grafikkarte weitergeleitet werden, verringern, indem Sie die Auflösung der Texturen reduzieren. Eine Textur mit der Auflösung 640 x 480 kann beispielsweise auf 320 x 240 reduziert werden, wodurch die In-Memory-Größe um ein Vierfaches verringert wird.

Die Größe der Reduktion, die auf eine Textur angewendet werden kann, ohne die Anzeigequalität wesentlich zu beeinträchtigen, ist je nach Textur unterschiedlich. Eine sich wiederholende Fenstertextur erfährt eine größere Auflösungsreduzierung als beispielsweise ein Stoppschild.

Texturreduktion wird als Layer-Eigenschaft angewendet und gilt nur für Multipatch-Layer. Wenn Sie die Texturreduktion für einen Layer festlegen, verringern sich die In-Memory-Anforderungen beim Rendern, sodass Ressourcen für andere Tasks, wie die Navigation, freigegeben werden können. Sie können optional die reduzierte Texturauflösung beibehalten, wenn Sie das Geoverarbeitungswerkzeug 3D-Layer zu Feature-Class verwenden, um den Layer in eine neue Feature-Class zu exportieren. Die Standardfunktion "Daten" > "Daten exportieren" beinhaltet nicht die Einstellungen für die Texturreduktion in der Ausgabe-Feature-Class.

Die OpenGL GLU-Bibliothek, die auf allen Plattformen, die ArcGIS unterstützen, zur Verfügung steht, wird zum Reduzieren der Texturen verwendet.

TippTipp:
  • Darüber hinaus können Sie die Texturen für den Layer vollständig deaktivieren. Die Geometrie wird weiterhin angezeigt, und die Verwendung einfacher Farben kann als Symbologie erfolgen.

7/10/2012