Compartir a través de


Recursos en mosaico de volumen (Direct3D 12)

Las texturas de volumen (3D) se pueden usar como recursos en mosaico, teniendo en cuenta que la resolución de iconos es tridimensional.

Visión general

Los recursos en mosaico desacoplan un objeto de recurso direct3D de su memoria de respaldo (los recursos del pasado tenían una relación 1:1 con su memoria de respaldo). Esto permite una variedad de escenarios interesantes, como el streaming en datos de textura y la reutilización o reducción del uso de memoria.

Los recursos en mosaico de textura 2D se admiten en Direct3D 11.2. La compatibilidad opcional con texturas en mosaico 3D está disponible para Direct3D 12 y Direct3D 11.3 (consulte D3D12_TILED_RESOURCES_TIER).

Las dimensiones de recursos típicas usadas en mosaico son 4 x 4 mosaicos para texturas 2D y 4 x 4 x 4 iconos para texturas 3D.

Bits/píxel (1 muestra/píxel) Dimensiones de mosaico (píxeles, w x h x d)
8 64x32x32
16 32x32x32
32 32x32x16
64 32x16x16
128 16x16x16
BC 1,4 128x64x16
BC 2,3,5,6,7 64x64x16

Tenga en cuenta que no se admiten los siguientes formatos con recursos en mosaico: formatos 96bpp, formatos de vídeo, R1_UNORM, R8G8_B8G8_UNORM, R8R8_G8B8_UNORM.

En los diagramas siguientes, gris oscuro representa iconos NULL.

Asignación predeterminada de recursos en mosaico de textura 3D (mip más detallada)

asignación predeterminada de un recurso 3 dimensional en mosaico

Asignación predeterminada de recursos en mosaico de textura 3D (segundo mip más detallado)

muestra el segundo mip más detallado

Recurso en mosaico de textura 3D (mip más detallado)

El código siguiente configura un recurso en mosaico 3D en el mip más detallado.

D3D12_TILED_RESOURCE_COORDINATE trCoord{};
trCoord.X = 1;
trCoord.Y = 0;
trCoord.Z = 0;
trCoord.Subresource = 0;

D3D12_TILE_REGION_SIZE trSize{};
trSize.bUseBox = false;
trSize.NumTiles = 63;

mip más detallado para una textura tridimensional

Recurso en mosaico de textura 3D (segundo mip más detallado)

El código siguiente configura un recurso en mosaico 3D y el segundo mip más detallado.

D3D12_TILED_RESOURCE_COORDINATE trCoord;
trCoord.X = 1;
trCoord.Y = 0;
trCoord.Z = 0;
trCoord.Subresource = 1;

D3D12_TILE_REGION_SIZE trSize;
trSize.bUseBox = false;
trSize.NumTiles = 6;

segundo mip más detallado para una textura tridimensional

Recurso en mosaico 3D de textura (icono único)

El código siguiente configura un único recurso de icono.

D3D12_TILED_RESOURCE_COORDINATE trCoord;
trCoord.X = 1;
trCoord.Y = 1;
trCoord.Z = 1;
trCoord.Subresource = 0;

D3D12_TILE_REGION_SIZE trSize;
trSize.bUseBox = true;
trSize.NumTiles = 27;
trSize.Width = 3;
trSize.Height = 3;
trSize.Depth = 3;

una de recursos tridimensionales de un solo icono

Recurso en mosaico 3D de textura (cuadro uniforme)

El código siguiente configura un recurso en mosaico de cuadro uniforme (tenga en cuenta la instrucción trSize.bUseBox = true;) :

D3D12_TILED_RESOURCE_COORDINATE trCoord;
trCoord.X = 0;
trCoord.Y = 1;
trCoord.Z = 0;
trCoord.Subresource = 0;

D3D12_TILE_REGION_SIZE trSize;
trSize.bUseBox = true;
trSize.NumTiles = 27;
trSize.Width = 3;
trSize.Height = 3;
trSize.Depth = 3;

un cuadro uniforme

API de recursos en mosaico

Las mismas llamadas API se usan para los recursos en mosaico 2D y 3D.

Enumeraciones

Estructuras

Métodos