> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XBTCTileAndCompressTexture

> Divide em blocos, compacta e grava uma textura linear em um arquivo morto.

Divide em blocos, compacta e grava uma textura linear em um arquivo morto.

## Sintaxe

```cpp theme={null}
HRESULT XBTCTileAndCompressTexture(  
         XBTCArchiveWriter* pArchive,  
         XBTC_COMPRESSION_STATS* pStats,  
         const XBTCTextureContainer* pTextureContainer,  
         XBTC_TILING_MODE TilingMode,  
         size_t MipStreams,  
         XBTC_STREAM_GRANULARITY Granularity,           
         XBTC_COMPRESSION_FLAGS Flags,  
         size_t Loss = 0  
)  
```

### Parâmetros

*pArchive*   \_Inout\_\
Tipo: XBTCArchiveWriter\*

Ponteiro para uma instância de `XBTCArchiveWriter`.

*pStats*   \_Out\_opt\_\
Tipo: [XBTC\_COMPRESSION\_STATS\*](/pt-BR/reference/graphics/xbtc/structs/xbtc_compression_stats)

No retorno, contém estatísticas da operação de compactação.

*pTextureContainer*   \_In\_\
Tipo: XBTCTextureContainer\*

Ponteiro para um `XBTCTextureContainer`.

*TilingMode*   \_In\_\
Tipo: [XBTC\_TILING\_MODE](/pt-BR/reference/graphics/xbtc/enums/xbtc_tiling_mode)

Padrão de swizzle e tamanho dos blocos.

*MipStreams*   \_In\_\
Tipo: size\_t

Número de níveis de detalhe (LODs) transmissíveis após a textura base.

*Granularity*   \_In\_\
Tipo: [XBTC\_STREAM\_GRANULARITY](/pt-BR/reference/graphics/xbtc/enums/xbtc_stream_granularity)

Especifica o tamanho da granularidade de streaming. Se não houver streaming, especifique XBTC\_STREAM\_GRANULARITY\_WHOLE\_MIPS.

*Flags*   \_In\_\
Tipo: [XBTC\_COMPRESSION\_FLAGS](/pt-BR/reference/graphics/xbtc/enums/xbtc_compression_flags)

Opções de compactação de textura.

*Loss*   \_In\_\
Tipo: size\_t

Nível de perda na compactação, de 0 a 15. Mais perda melhora as taxas de compactação.\
Uma perda de 0 (sem perdas) não recodificará uma textura BC com otimização de distorção de taxa.
Se a textura for recodificada, o conteúdo de pTextureContainer será substituído.
Nunca será introduzida perda para texturas não BC.

### Valor retornado

Tipo: HRESULT

Código de êxito ou de erro HRESULT.

## Comentários

`XBTCTileAndCompressTexture` divide uma textura em blocos, compacta-a e a acrescenta ao arquivo morto.
Para obter mais informações sobre padrões de swizzle e granularidade de blocos, confira [XBTC\_TILING\_MODE](/pt-BR/reference/graphics/xbtc/enums/xbtc_tiling_mode).
Para obter mais informações sobre opções de compactação de textura, confira [XBTC\_COMPRESSION\_FLAGS](/pt-BR/reference/graphics/xbtc/enums/xbtc_compression_flags).

## Requisitos

**Cabeçalho:** XBTC.h

**Plataformas com suporte**: consoles da família XBOX One e consoles XBOX Series

## Confira também

[XBTC\_TILING\_MODE](/pt-BR/reference/graphics/xbtc/enums/xbtc_tiling_mode)\
[XBTC\_COMPRESSION\_FLAGS](/pt-BR/reference/graphics/xbtc/enums/xbtc_compression_flags)
[XBTC](/pt-BR/reference/graphics/xbtc/xbtc_members)


## Related topics

- [Diretório de tópicos NDA: links ativos do Microsoft Learn](/pt-BR/nda/nda-topic-directory.md)
- [Referência da ferramenta XBOX Texture Compressor (XBTC)](/pt-BR/build/core-features/graphics/newfeatures/xbtc/index.md)
- [CopyTiles](/pt-BR/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist/methods/id3d12graphicscommandlist_copytiles_public.md)
- [CopyTileMappings](/pt-BR/reference/graphics/d3d12/interfaces/id3d12commandqueue/methods/id3d12commandqueue_copytilemappings_public.md)
- [D3D12_TILE_SHAPE](/pt-BR/reference/graphics/d3d12/structs/d3d12_tile_shape_public.md)
