ArcScene の 3D テクスチャ オブジェクトについて

テクスチャを持つ 3D オブジェクトは、表示するフェイスごとに 3D ジオメトリとイメージ データを持つフィーチャです。たとえば、建築物、航空機、道路の設備、自動車などがそれに当たります。テクスチャを持つ 3D オブジェクトは通常、3D ビューで写真のようにリアルに表現するために使用します。ArcGIS では、テクスチャを持つ 3D オブジェクトは、マルチパッチ フィーチャとして格納されます。

ArcScene でテクスチャを持つマルチパッチ フィーチャを使用するときの一般的な問題の 1 つは、3D ナビゲーションの動作が遅くなる場合があることです。マルチパッチ フィーチャクラスにテクスチャを持つフィーチャが多数ある場合、またはテクスチャのサイズが非常に大きい(例: フェイスが 1,024 ピクセルより大きい)場合、この問題は悪化することがあります。

ArcScene で、テクスチャを持つ 3D オブジェクトのコストを低減するには 2 つの方法があります。1 つ目の方法は、グラフィックス カード ハードウェアを活用して、カードでネイティブにテクスチャを圧縮することです。2 つ目の方法は、マルチパッチ フィーチャで使用されるテクスチャの解像度を低減することです。どちらの解決策も、リアルタイム ナビゲーションのパフォーマンスが向上するように、メモリ使用量を低減することを目的としています。

テクスチャを持つマルチパッチ レイヤの表示プロパティを設定する方法については、「マルチパッチのシンボル表示」をご参照ください。

テクスチャとメモリ

メイン メモリ(RAM)、およびグラフィックス カードのテクスチャ メモリの両方が、テクスチャのレンダリングに使用されます。テクスチャがはじめにメイン メモリに読み込まれ、次にグラフィックス カードに送られてレンダリングされます。グラフィックス カードのテクスチャ メモリを使い尽くすと、オペレーティング システムがディスクへのページングを開始し、パフォーマンスが大幅に低下します。このため、RAM とグラフィックス カードのテクスチャ メモリの両方のメモリ使用量を減少すると、アプリケーションのパフォーマンスが向上し、より大きいデータセットを読み込むことができます。

ハードウェアによるテクスチャ圧縮

ハードウェアのテクスチャ圧縮は、3D グラフィックス カードの圧縮テクスチャのネイティブ サポートを活用して、テクスチャを持つ 3D オブジェクトのレンダリング パフォーマンスを向上します。

ArcGIS 9 以降、マテリアル テクスチャはディスク上に JPEG 圧縮形式で用意されています。読み込み時に、JPEG 圧縮テクスチャが圧縮解除され、レンダリングのためにグラフィックス カードに送られるので、グラフィックス カードのテクスチャ メモリが使用されます。ただし、グラフィックス カードは JPEG 形式をネイティブにはサポートしないため、テクスチャの圧縮解除時にパフォーマンスのオーバーヘッドがあります。さらに、圧縮されていないテクスチャのメモリは、ディスク上の JPEG 圧縮バージョンの数倍になります。

グラフィックス カードでは、特定のテクスチャの圧縮形式がサポートされています。これらは現在、OpenGL エクステンションを介して表示されます。エクステンションは次々に標準化されており、テクスチャ圧縮エクステンションもまもなく標準 OpenGL の一部になる予定です。サポートされている形式で圧縮されるテクスチャは、グラフィックス カードに直接送信できます。

ArcGIS 9.2 の ArcScene は、JPEG 圧縮ではなく、OpenGL がサポートする DXT 形式を使用して、テクスチャの圧縮と保持を行います。これにより、圧縮解除によるオーバーヘッド、および RAM とテクスチャ メモリの両方のサイズが削減されます。JPEG と DXT の両方は非可逆圧縮形式であるため、圧縮テクスチャを使用する場合、画像品質がある程度低下します。JPEG 圧縮したテクスチャ サイズは品質設定によって異なりますが、DXT の圧縮比は固定です(RGB の場合は 1:6、RGBA の場合は 1:4)。

ハードウェアによるテクスチャ圧縮は、ArcScene では、レイヤ レベルで有効にできます。

テクスチャの解像度の低減

テクスチャの解像度を低くすると、グラフィックス カードに送るテクスチャ ピクセル(テクセル)の量を低減できます。たとえば、640 x 480 のテクスチャを 320 x 240 にすると、メモリ サイズを 1/4 にできます。

表示品質を大幅に低下することなくテクスチャに適用できる解像度低減の度合いは、テクスチャによって異なります。たとえば、同じように並んでいる窓のテクスチャは、商店の看板よりも解像度を大幅に低くすることができます。

テクスチャ解像度の低減はレイヤ プロパティとして適用され、マルチパッチ レイヤにのみ適用できます。レイヤにテクスチャ解像度の低減を設定すると、レンダリングのメモリ要件が軽減され、ナビゲーションなどのその他のタスク用にリソースを解放します。[レイヤ 3D → フィーチャクラス(Layer 3D to feature Class)] ジオプロセシング ツールを使用してレイヤを新しいフィーチャクラスにエクスポートする場合は、必要に応じてテクスチャ解像度の低減を保持できます。標準の [データ] → [データのエクスポート] 機能では、出力フィーチャクラスにテクスチャ解像度の低減設定は反映されません。

OpenGL GLU ライブラリは ArcGIS をサポートするすべてのプラットフォームから利用でき、テクスチャ解像度の低減に使用されます。

ヒントヒント:
  • レイヤのテクスチャを完全に無効にすることを選択することもできます。ジオメトリは引き続き表示され、シンボルとして単純な色の使用が可能になります。
5/10/2014