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_UNORMhandling, and all effects support optional ‘2x biased normals’ for compressed vertex normal DXGI formats.
- GeometricPrimitive and Model have
DrawInstancedmethods to support GPU hardware instancing usage.
ToneMapPostProcessnow has a color-rotation matrix property for HDR10 output signal prep. using alternative color-spaces like DCI-P3-D65.
- WICTextureLoader supports additional loader flags
- Publicly available Microsoft GDK support for the
- 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
- 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
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.