SparseTexture

class in UnityEngine

/

Inherits from:Texture

Switch to Manual

Description

用于处理稀疏纹理的类。

稀疏纹理是整个纹理数据不能立即存在于内存中的纹理。它们通常也称为“区块纹理”或“超级纹理”。

想象一下大小为 16384x16384、每像素 32 位的纹理,它将占用 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.

创建稀疏纹理后,可使用 tileWidthtileHeight 查询区块大小。区块大小取决于平台和 GPU。

使用 UpdateTileUpdateTileRaw 可使区块位于内存中并更新其颜色数据。使用 UnloadTile 可卸载区块。

See Also: Sparse Textures.

Variables

isCreated是否实际创建了稀疏纹理?(只读)
tileHeight获取稀疏纹理区块高度(只读)。
tileWidth获取稀疏纹理区块宽度(只读)。

Constructors

SparseTexture创建一个稀疏纹理。

Public Functions

UnloadTile卸载稀疏纹理区块。
UpdateTile使用颜色值更新稀疏纹理区块。
UpdateTileRaw使用原始像素值更新稀疏纹理区块。

Inherited members

Static Variables

currentTextureMemoryThe amount of memory currently being used by textures.
desiredTextureMemoryThis amount of texture memory would be used before the texture streaming budget is applied.
nonStreamingTextureCountNumber of non-streaming textures.
nonStreamingTextureMemoryTotal amount of memory being used by non-streaming textures.
streamingMipmapUploadCountHow many times has a texture been uploaded due to texture mipmap streaming.
streamingRendererCountNumber of renderers registered with the texture streaming system.
streamingTextureCountNumber of streaming textures.
streamingTextureDiscardUnusedMipsForce the streaming texture system to discard all unused mipmaps immediately, rather than caching them until the texture memory budget is exceeded.
streamingTextureForceLoadAllForce streaming textures to load all mipmap levels.
streamingTextureLoadingCountNumber of streaming textures with mipmaps currently loading.
streamingTexturePendingLoadCountNumber of streaming textures with outstanding mipmaps to be loaded.
targetTextureMemoryThe amount of memory used by textures after the mipmap streaming and budget are applied and loading is complete.
totalTextureMemoryThe total amount of memory that would be used by all textures at mipmap level 0.

Variables

hideFlagsShould the object be hidden, saved with the Scene or modifiable by the user?
name对象的名称。
anisoLevel纹理的各向异性过滤级别。
dimension纹理的维度(类型)(只读)。
filterMode纹理的过滤模式。
height纹理的高度(以像素为单位)。(只读)
imageContentsHash纹理的哈希值。
isReadableReturns true if the Read/Write Enabled checkbox was checked when the texture was imported; otherwise returns false. For a dynamic Texture created from script, always returns true. For additional information, see TextureImporter.isReadable.
mipMapBias纹理的多级渐进纹理偏差。
updateCount更新纹理时,此计数器会递增。
width纹理的宽度(以像素为单位)。(只读)
wrapMode纹理坐标换行模式。
wrapModeU纹理 U 坐标换行模式。
wrapModeV纹理 V 坐标换行模式。
wrapModeW Texture3D 的纹理 W 坐标换行模式。

Public Functions

GetInstanceID返回对象的实例 ID。
ToString返回 GameObject 的名称。
GetNativeTexturePtr获取指向纹理资源的原生(底层图形 API)指针。
IncrementUpdateCount递增更新计数器。

Static Functions

Destroy删除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 /obj/。强烈建议您改用 Destroy。
DontDestroyOnLoadDo not destroy the target Object when loading a new Scene.
FindObjectOfType返回第一个类型为 type 的已加载的激活对象。
FindObjectsOfType返回所有类型为 type 的已加载的激活对象的列表。
Instantiate克隆 original 对象并返回克隆对象。
SetGlobalAnisotropicFilteringLimits设置各向异性限制。
SetStreamingTextureMaterialDebugPropertiesUploads additional debug information to materials using textures set to stream mip maps.

Operators

bool该对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用,判断它们是否引用同一个对象。