Version: 2017.1

SparseTexture

class in UnityEngine

/

Inherits from:Texture

Switch to Manual

Description

Class for handling Sparse Textures.

Делимыми текстурами называются такие текстуры, чьи данные невозможно держать в памяти целиком. Их также часто называют «плиточными текстурами» (tiled textures) или «мегатекстурами» (mega textures).

Представьте себе текстуру размером 16384x16384 с разрядностью 32 бита на пиксель. Для загрузки такой текстуры целиком потребуется 1 ГБ памяти. Однако такую текстуру можно разбить на «плитки», каждая из которых может присутствовать или отсутствовать в памяти в отдельно взятый момент. Вы можете загружать и выгружать эти плитки в зависимости от их удаленности от камеры, фрагментов мира, которые должен видеть игрок, и т.д.

Иными словами, делимые текстуры ведут себя так же, как и любая другая текстура в шейдере: у них есть свойства множественного отображения (MIP mapping), на них может применяться любой способ фильтрации и т.д. Если вы попытаетесь прочитать данные плитки, не загруженной в память, вы можете получить неопределенный результат (на многих графических процессорах результатом будет черный цвет, однако это не гарантировано).

Note that 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.

After creating the sparse texture, query the tile size with tileWidth & tileHeight. Tile sizes are platform and GPU dependent.

Use UpdateTile or UpdateTileRaw to make a tile resident in memory and update its color data. Use UnloadTile to unload a tile.

See Also: Sparse Textures documentation page.

Variables

isCreatedIs the sparse texture actually created? (Read Only)
tileHeightGet sparse texture tile height (Read Only).
tileWidthGet sparse texture tile width (Read Only).

Constructors

SparseTextureCreate a sparse texture.

Public Functions

UnloadTileUnload sparse texture tile.
UpdateTileUpdate sparse texture tile with color values.
UpdateTileRawUpdate sparse texture tile with raw pixel values.

Inherited members

Variables

hideFlagsShould the object be hidden, saved with the scene or modifiable by the user?
nameThe name of the object.
anisoLevelAnisotropic filtering level of the texture.
dimensionDimensionality (type) of the texture (Read Only).
filterModeРежим фильтрации текстур
heightHeight of the texture in pixels. (Read Only)
mipMapBiasMip map bias of the texture.
widthWidth of the texture in pixels. (Read Only)
wrapModeTexture coordinate wrapping mode.
wrapModeUTexture U coordinate wrapping mode.
wrapModeVTexture V coordinate wrapping mode.
wrapModeWTexture W coordinate wrapping mode for Texture3D.

Public Functions

GetInstanceIDReturns the instance id of the object.
ToStringReturns the name of the game object.
GetNativeTexturePtrRetrieve a native (underlying graphics API) pointer to the texture resource.

Static Functions

DestroyУдаляет GameObject, Component или Asset.
DestroyImmediateDestroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoadMakes the object target not be destroyed automatically when loading a new scene.
FindObjectOfTypeReturns the first active loaded object of Type type.
FindObjectsOfTypeReturns a list of all active loaded objects of Type type.
InstantiateClones the object original and returns the clone.
SetGlobalAnisotropicFilteringLimitsSets Anisotropic limits.

Operators

boolDoes the object exist?
operator !=Compares if two objects refer to a different object.
operator ==Compares two object references to see if they refer to the same object.