> ## 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.

# XBTCCompressTexture

> Compacta uma textura em blocos e a acrescenta ao arquivo.

Compacta uma textura em blocos e a acrescenta ao arquivo

## Sintaxe

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

### Parâmetros

*pArchive*   \_Inout\_\
Tipo: [XBTCArchiveWriter](/pt-BR/reference/graphics/xbtc/interfaces/XBTCArchiveWriter/xbtcarchivewriter)\*

Um 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](/pt-BR/reference/graphics/xbtc/interfaces/XBTCTextureContainer/xbtctexturecontainer)\*

Um ponteiro para um `XBTCTextureContainer`.

*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 taxa-distorção.
Se a textura for recodificada, o conteúdo de pTextureContainer será substituído.
Nunca será introduzida perda em texturas que não sejam BC.

### Valor retornado

Tipo: HRESULT

Retorna `S_OK` se tiver êxito; caso contrário, retorna um código de erro HRESULT.

## Comentários

`XBTCCompressTexture` compacta a textura de origem em blocos e a acrescenta ao arquivo.\
Para obter mais informações sobre as configurações de compactação, 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\_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)
- [D3D12_TEXTURE_COPY_LOCATION](/pt-BR/reference/graphics/d3d12/structs/d3d12_texture_copy_location_public.md)
- [D3D12_TEXTURE_COPY_TYPE](/pt-BR/reference/graphics/d3d12/enums/d3d12_texture_copy_type_public.md)
- [D3D12_TEXTURE_BARRIER (consoles XBOX Series)](/pt-BR/reference/graphics/d3d12/structs/d3d12_texture_barrier_public.md)
