GPU インスタンシング
グラフィックスハードウェアの性能とエミュレーション

スパーステクスチャ

スパーステクスチャ (“tiled textures” または “mega-textures”とも呼ばれる)は、そのままグラフィックメモリーにのせるには巨大すぎるテクスチャの事を言います。Unity はそれらを扱う際、“タイル”と呼ぶより小さな四角形に分割します。個々のタイルは必要に応じて読み込まれます。例えば、カメラにスパーステクスチャの一部分しか映っていない場合、現在映っている部分のタイルだけがメモリー上に必要になります。

タイリング以外では、スパーステクスチャは他のテクスチャと同じように振る舞います。シェーダーは特殊な変更無しで使う事ができますし、ミップマップの使用、あらゆるテクスチャフィルタリングモードの使用なども可能です。なんらかの理由で個別のタイルが読み込めなかった場合、未定義の結果を得ることになります(いくらかの GPU 上では、読み込めなかったタイル部分は黒色で表示されますが、これは標準的な挙動ではありません)。

ハードウェアやプラットフォームのすべてがスパーステクスチャをサポートしているのではないことに注意してください。例えば、DirectX のシステムでは、DX11.2( Windows8.1 )を必要とします。そして、最近の GPU は、OpenGL 上で、拡張されたサポートが必要です ARB_sparse_texture

スパーステクスチャをスクリプトから操作する方法の詳細に関しては、スクリプトリファレンスのページSparseTextureを見てください。

サンプルプロジェクト

スパーステクスチャの簡単な参考例は こちら を参照してください。

参考例プロジェクトで表示されるスパーステクスチャ
参考例プロジェクトで表示されるスパーステクスチャ

この例では、簡単な手続き型テクスチャパターンが単一に生成されてます。これは、最近の GPU と DirectX11.2 ( Windows 8.1 )システムが必要であること、または ARB_sparse_texture をサポートする OpenGL を使用することに注意してください。

GPU インスタンシング
グラフィックスハードウェアの性能とエミュレーション