Latest news on DirectX Tool Kit
direct3d, github, xbox-
Last year, in the early days of quarantine, I updated DirectX Tool Kit for Audio with streaming support per this blog post, and in the winter holidays I added CMake and vcpkg support to all my GitHub projects. Over this past summer we took a long-overdue family trip, but I also had some time to work on my Issues backlog for DirectX Tool Kit DX11 / DX12.
Since my last major post on the state of DirectX Tool Kit, I’ve added:
- BufferHelpers provides functions for creating static vertex buffers/index buffers, plus for DirectX 11 includes the ConstantBuffer helper moved to the public header space.
- Effects now includes NormalMapEffect, PBREffect, and DebugEffect. These are all Shadel Model 4+ shader effects, and now support GPU hardware instancing. The normal-map implementation includes
BC5_UNORM
handling, and all effects support optional ‘2x biased normals’ for compressed vertex normal DXGI formats. - GeometricPrimitive and Model have
DrawInstanced
methods to support GPU hardware instancing usage. - PostProcess
ToneMapPostProcess
now has a color-rotation matrix property for HDR10 output signal prep. using alternative color-spaces like DCI-P3-D65. - WICTextureLoader supports additional loader flags
FORCE_RGBA32
,FIT_POW2
, andMAKE_SQUARE
. - Publicly available Microsoft GDK support for the
Gaming.*.x64
platforms. - Windows ARM64 platform support.
- Introduction of SDKMESH v2 format and PBREffectFactory.
The focus the past few weeks has been in catching up on the documentation backlog.
- Both the DirectX 11 and DirectX 12 tutorials have been refreshed to focus on the DeviceResources variant of my templates.
- The tutorials now cover Multistream rendering and instancing, Authoring an Effect, and Physically-based rendering. I also added a DirectX 12 version of Writing custom shaders on using custom shaders with
SpriteBatch
. - Post-processing content in the wiki DX11 / DX12 now includes examples.
- The utilities DX11 / DX12 page now includes a MSAAHelper and SkyboxEffect as well as a Compressing assets topic.
Work in progress
I’m finally making progress on a ModelBone implementation for both SDKMESH
and CMO
, with the associated Draw methods for hierarchical bone drawing and skinned models. I’m also adding CMO model loading support to the DirectX Tool Kit for DX12, although I have no plans to support the DGSL effect system for DirectX 12 since it is strongly tied to HLSL Shader Model 4.
Update: This functionality has shipped in the September 2021 releases.
Much like XNA Game Studio, I don’t have a specific animation system implementation, but I do have some example code for both SDKMESH and CMO animations. I’m currently working on tutorials for rigid-body animation, skinned animation, and skinning support for the normalmap effect.