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.

Informació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 de 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 mosaicos son 4 x 4 mosaicos para texturas 2D y 4 x 4 x 4 mosaicos 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 de 96bpp, formatos de vídeo, R1_UNORM, R8G8_B8G8_UNORM, R8R8_G8B8_UNORM.

En los diagramas debajo del gris oscuro se representan 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 en mosaico de textura 3D (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;

un solo icono

Recurso en mosaico de textura 3D (cuadro uniforme)

El código siguiente configura un recurso en mosaico 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 de 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