Sobre o projeto
DirectXTex é uma biblioteca C++ de código compartilhado da Microsoft para ler e gravar arquivos .DDS e realizar operações de processamento de conteúdo de texturas. Suas capacidades declaradas incluem redimensionamento, conversão de formato, geração de mip-map, compressão de blocos para recursos de textura em tempo de execução do Direct3D e conversão de height-map para normal-map. A biblioteca usa APIs do Windows Image Component (WIC) e também inclui leitores e gravadores de .TGA e .HDR, já que esses formatos são comuns em pipelines de textura, mas não têm codecs WIC integrados.
O repositório é organizado em torno da biblioteca principal, além de várias ferramentas de exemplo e carregadores em tempo de execução:
- DirectXTex: a biblioteca principal, com um leitor/gravador DDS completo, incluindo conversões de formatos legados, leitores/gravadores TGA e HDR, um leitor/gravador de bitmap baseado em WIC (BMP, JPEG, PNG, TIFF, HD Photo) e funções de processamento de textura. Apenas DirectXTex.h e DirectXTex.inl são descritos como cabeçalhos públicos; a maioria dos outros é interna.
- Auxiliary: arquivos-fonte opcionais, como funções de carregamento de adaptador usando OpenEXR e extensões de tiling de textura do Xbox.
- Common: cabeçalhos-fonte compartilhados usados pela biblioteca e pelas ferramentas.
- Texconv: um utilitário de textura de linha de comando baseado em DirectXTex, com suporte a argumentos semelhantes aos da ferramenta legada texconvex.exe, com diferenças nos argumentos -10/-11 e nos nomes de filtros, além de suporte a JPEG XR (HD Photo).
- Texassemble: um utilitário de linha de comando para criar cubemaps, volume maps ou texture arrays a partir de imagens de entrada individuais.
- Texdiag: um utilitário de linha de comando para analisar conteúdos de imagem, principalmente para depuração.
- DDSView: um visualizador simples baseado em Direct3D 11 para arquivos DDS, com navegação por teclado para array textures e volume maps.
- DDSTextureLoader: um carregador DDS leve em tempo de execução para Direct3D 9, 11 e 12 que não realiza conversões de dados de pixel em tempo de execução e oferece suporte a 1D, 2D, volume maps, cubemaps, níveis de mipmap, texture arrays e formatos BC.
- ScreenGrab: módulos de gravação de textura para Direct3D 9, 11 e 12, principalmente para capturas de tela, gravando DDS ou formatos de imagem suportados pelo WIC.
- WICTextureLoader: um carregador de textura 2D para Direct3D 9, 11 e 12 que usa WIC para carregar bitmaps, redimensionar com base no feature level ou em um parâmetro explícito, converter formato para um DXGI_FORMAT se necessário e criar uma textura 2D. Ele não oferece suporte a texturas 1D, volume textures, cubemaps ou texture arrays.
Os requisitos de build indicados no README incluem Visual Studio 2022 ou 2026, clang for Windows v12 ou posterior, ou MinGW, com o Windows 11 SDK (22000) ou posterior exigido para Visual Studio. Também pode ser compilado para o Windows Subsystem for Linux usando GCC 11 ou posterior. Projetos CMake exigem versão 3.21 ou posterior. Os componentes foram projetados para funcionar sem conteúdo do DirectX SDK legado.
A documentação está hospedada na wiki do GitHub. O README também documenta a instalação da skill CoPilot CLI, notas de versão cobrindo mudanças de API (como flags de bitmask de enum tipadas e a mudança CREATETEX_FLAGS), descontinuação de certos pacotes NuGet em favor do vcpkg, aposentadoria do suporte a Windows 7 e Windows 8.0 e opções longas no estilo GNU para as ferramentas de linha de comando. O projeto é licenciado sob MIT e aceita contribuições sob um CLA, com testes enviados para um repositório separado de suíte de testes.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.