Compartir a través de


Recursos en mosaico de volumen

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 Resource D3D 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 D3D11.2. D3D12 y D3D11.3 agregan compatibilidad con texturas en mosaico 3D.

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 del mip más detallado

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

asignación predeterminada del 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.

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

D3D11_TILE_REGION_SIZE trSize;
trSize.bUseBox = false;
trSize.NumTiles = 63;

asignación más detallada de un recurso en mosaico 3d

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:

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

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

segunda asignación más detallada de un recurso en mosaico 3d

Recurso mosaico 3D de textura (icono único)

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

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

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

una sola de icono

Recurso en mosaico 3D de textura (cuadro uniforme)

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

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

D3D11_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 D3D11.3

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

Enumeraciones

Estructuras

Métodos

características de Direct3D 11.3