用于处理稀疏纹理的类。
稀疏纹理是整个纹理数据不能立即存在于内存中的纹理。它们通常也称为“区块纹理”或“超级纹理”。
想象一下大小为 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.
创建稀疏纹理后,可使用 tileWidth 和 tileHeight 查询区块大小。区块大小取决于平台和 GPU。
使用 UpdateTile 或 UpdateTileRaw 可使区块位于内存中并更新其颜色数据。使用 UnloadTile 可卸载区块。
See Also: Sparse Textures.
isCreated | 是否实际创建了稀疏纹理?(只读) |
tileHeight | 获取稀疏纹理区块高度(只读)。 |
tileWidth | 获取稀疏纹理区块宽度(只读)。 |
SparseTexture | 创建一个稀疏纹理。 |
UnloadTile | 卸载稀疏纹理区块。 |
UpdateTile | 使用颜色值更新稀疏纹理区块。 |
UpdateTileRaw | 使用原始像素值更新稀疏纹理区块。 |
currentTextureMemory | The amount of memory currently being used by textures. |
desiredTextureMemory | This amount of texture memory would be used before the texture streaming budget is applied. |
nonStreamingTextureCount | Number of non-streaming textures. |
nonStreamingTextureMemory | Total amount of memory being used by non-streaming textures. |
streamingMipmapUploadCount | How many times has a texture been uploaded due to texture mipmap streaming. |
streamingRendererCount | Number of renderers registered with the texture streaming system. |
streamingTextureCount | Number of streaming textures. |
streamingTextureDiscardUnusedMips | Force the streaming texture system to discard all unused mipmaps immediately, rather than caching them until the texture memory budget is exceeded. |
streamingTextureForceLoadAll | Force streaming textures to load all mipmap levels. |
streamingTextureLoadingCount | Number of streaming textures with mipmaps currently loading. |
streamingTexturePendingLoadCount | Number of streaming textures with outstanding mipmaps to be loaded. |
targetTextureMemory | The amount of memory used by textures after the mipmap streaming and budget are applied and loading is complete. |
totalTextureMemory | The total amount of memory that would be used by all textures at mipmap level 0. |
hideFlags | Should the object be hidden, saved with the Scene or modifiable by the user? |
name | 对象的名称。 |
anisoLevel | 纹理的各向异性过滤级别。 |
dimension | 纹理的维度(类型)(只读)。 |
filterMode | 纹理的过滤模式。 |
height | 纹理的高度(以像素为单位)。(只读) |
imageContentsHash | 纹理的哈希值。 |
isReadable | Returns 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 坐标换行模式。 |
GetInstanceID | 返回对象的实例 ID。 |
ToString | 返回 GameObject 的名称。 |
GetNativeTexturePtr | 获取指向纹理资源的原生(底层图形 API)指针。 |
IncrementUpdateCount | 递增更新计数器。 |
Destroy | 删除 GameObject、组件或资源。 |
DestroyImmediate | 立即销毁对象 /obj/。强烈建议您改用 Destroy。 |
DontDestroyOnLoad | Do not destroy the target Object when loading a new Scene. |
FindObjectOfType | 返回第一个类型为 type 的已加载的激活对象。 |
FindObjectsOfType | 返回所有类型为 type 的已加载的激活对象的列表。 |
Instantiate | 克隆 original 对象并返回克隆对象。 |
SetGlobalAnisotropicFilteringLimits | 设置各向异性限制。 |
SetStreamingTextureMaterialDebugProperties | Uploads additional debug information to materials using textures set to stream mip maps. |
bool | 该对象是否存在? |
operator != | 比较两个对象是否引用不同的对象。 |
operator == | 比较两个对象引用,判断它们是否引用同一个对象。 |