Sobre o projeto

O DirectX Tool Kit para DirectX 11 é uma coleção mantida pela Microsoft de classes auxiliares C++ para escrever código Direct3D 11. Ele tem como alvo aplicações desktop Win32 no Windows 8.1 ou posterior, Xbox One e aplicações Universal Windows Platform para Windows 10 e Windows 11. O código foi projetado para compilar com Visual Studio 2022 ou 2026, clang for Windows v12 ou posterior, ou MinGW, e requer o Windows 11 SDK (22000) ou posterior para Visual Studio. Ele foi projetado para funcionar sem conteúdo do legado DirectX SDK. Os cabeçalhos públicos em Inc\ cobrem uma variedade de tarefas comuns de gráficos e entrada: Audio.h para uma API de áudio de baixo nível baseada em XAudio2; BufferHelpers.h para criar recursos D3D a partir de dados da CPU; CommonStates.h para objetos de estado D3D comumente usados; DDSTextureLoader.h e WICTextureLoader.h para carregamento de texturas; Effects.h e PostProcess.h para shaders integrados; GamePad.h, Keyboard.h e Mouse.h para entrada; GeometricPrimitive.h para formas básicas; GraphicsMemory.h para alocação dinâmica de memória gráfica; Model.h para malhas carregadas de arquivos .CMO, .SDKMESH ou .VBO; PrimitiveBatch.h para primitivas do usuário; ScreenGrab.h para capturas de tela; SimpleMath.h como um wrapper para DirectXMath; SpriteBatch.h e SpriteFont.h para renderização 2D e texto em bitmap; e VertexTypes.h para formatos de vértice comuns. XboxDDSTextureLoader.h fornece uma variante exclusiva para Xbox One. Os arquivos-fonte ficam em Src\ e Audio\, enquanto MakeSpriteFont e XWBTool são ferramentas de linha de comando para gerar recursos binários SpriteFont e wave banks no estilo XACT. Um diretório build\ contém arquivos e scripts de build diversos, e um diretório skills\ contém skills publicadas do CoPilot. A documentação está disponível na wiki do GitHub, e a assistência do CoPilot CLI pode ser instalada via comandos winget e gh skill. O projeto é licenciado sob MIT. As notas de versão descrevem várias mudanças notáveis: os pacotes NuGet directxtk_desktop_win10 e directxtk_uwp estão obsoletos em favor do vcpkg; projetos CMake requerem 3.21 ou posterior; o suporte a Direct3D Hardware Feature Level 9.x foi retirado a partir da versão de julho de 2026, com shaders compilados usando Shader Model 4 exigindo D3D_FEATURE_LEVEL_10_0 ou superior; o suporte a Windows 7 e Windows 8.0 foi retirado a partir da versão de março de 2025; e várias mudanças de API ao longo do tempo, incluindo flags de bitmask de enum tipadas, namespaces inline para tipos DX11 versus DX12, e mudanças nas flags de DDSTextureLoader e no skinning de DGSLEffect. O comportamento de movimento relativo da classe Mouse foi atualizado em fevereiro de 2023 para acumular deltas entre chamadas de GetState, com EndOfInputFrame disponível para redefinições explícitas. O suporte é oferecido através do Stack Overflow com a tag directxtk e do DirectX Discord Server, enquanto relatórios de bugs e solicitações de recursos vão para as issues do GitHub. Contribuições exigem um Contributor License Agreement, e testes para novos recursos devem ser enviados ao repositório separado Test Suite. O projeto segue o Microsoft Open Source Code of Conduct e inclui orientações sobre marcas registradas. Os créditos listam Shawn Hargreaves e Chuck Walbourn como autores principais, com contribuições de vários outros para formatos de arquivo, shaders, ferramentas e revisões de código.