スパーステクスチャを処理するためのクラス
スパーステクスチャは全テクスチャデータが一度にメモリに存在するのではないテクスチャです。これらは一般的に"タイル状のテクスチャ"や"メガテクスチャと呼ばれています。
ピクセルあたり 32 ビットで 16384x16384 のテクスチャを想像してみよう - それは 1GB のメモリを取るでしょう。テクスチャは長方形の"タイルに分割され、各タイルはメモリ内か外のいずれかに存在することができます。カメラからの距離、プレイヤーが見えている世界での活動範囲などに基づいて、必要に応じてこれらのタイルをロードとアンロードすることができます。
それ以外では、スパーステクスチャはシェーダー内の他のテクスチャと同じように扱えます - ミップマップを持たせる、テクスチャフィルタリングモードを使う、等々。存在しないタイルを読み取るようなことが起きた場合は、未定義の結果を得ることになります(多くの GPU 上では黒色になりますが、必ずそうなるとは限りません)。
Not all hardware and platforms support sparse textures, so you should check SystemInfo.supportsSparseTextures before using them. For example, on DirectX systems they require DX11.2 (Windows 8.1) and a fairly recent GPU; and on OpenGL they require ARB_sparse_texture extension support. Sparse textures only support non-compressed texture formats.
スパーステクスチャを作成した後、 tileWidth と tileHeight のタイルサイズを照会します。タイルサイズはプラットフォームと GPU に依存します。
タイルをメモリに常駐し、その色のデータを更新するために UpdateTile や UpdateTileRaw を使用します。タイルをアンロードするために UnloadTile を使用します。
See Also: Sparse Textures.
isCreated | スパーステクスチャを実際に作成するか。(Read Only) |
tileHeight | スパーステクスチャタイルの高さを取得します。(Read Only) |
tileWidth | スパーステクスチャタイルの幅を取得します。(Read Only) |
SparseTexture | スパーステクスチャを作成する。 |
UnloadTile | スパーステクスチャファイルをアンロードします。 |
UpdateTile | カラー値を持つスパーステクスチャのタイルを更新します。 |
UpdateTileRaw | RAW のピクセル値でスパーステクスチャファイルを更新します。 |
hideFlags | オブジェクトは非表示、シーンに保存、ユーザーが編集可能、などを設定する。 |
name | オブジェクト名 |
anisoLevel | テクスチャの異方性フィルタリングのレベル |
dimension | テクスチャの次元 (タイプ)。読み取り専用。 |
filterMode | テクスチャのフィルタリングモード |
height | ピクセル単位でのテクスチャの高さ(読み取り専用) |
imageContentsHash | The hash value of the Texture. |
mipMapBias | ミップマップのバイアス |
updateCount | This counter is incremented when the texture is updated. |
width | ピクセル単位でのテクスチャの幅(読み取り専用) |
wrapMode | Texture coordinate wrapping mode. |
wrapModeU | Texture U coordinate wrapping mode. |
wrapModeV | Texture V coordinate wrapping mode. |
wrapModeW | Texture W coordinate wrapping mode for Texture3D. |
GetInstanceID | オブジェクトのインスタンス ID を返します |
ToString | Returns the name of the GameObject. |
GetNativeTexturePtr | テクスチャリソースへのネイティブ (グラフィックス API に内在する) ポインターを取得します。 |
IncrementUpdateCount | Increment the update counter. |
Destroy | ゲームオブジェクトやコンポーネント、アセットを削除します |
DestroyImmediate | Destroys the object obj immediately. You are strongly recommended to use Destroy instead. |
DontDestroyOnLoad | 新しいシーンを読み込んでもオブジェクトが自動で破壊されないように設定します |
FindObjectOfType | タイプ type から最初に見つけたアクティブのオブジェクトを返します |
FindObjectsOfType | タイプから見つけたすべてのアクティブのオブジェクト配列を返します |
Instantiate | original のオブジェクトをクローンします |
SetGlobalAnisotropicFilteringLimits | 異方性のリミットを設定します |
bool | オブジェクトが存在するかどうか |
operator != | 二つのオブジェクトが異なるオブジェクトを参照しているか比較します |
operator == | 2つのオブジェクト参照が同じオブジェクトを参照しているか比較します。 |