DirectXTK12

The DirectX Tool Kit (aka DirectXTK12) is a collection of helper classes for writing DirectX 12 code in C++

MIT License

Stars
1.5K
Committers
11

Bot releases are visible (Hide)

DirectXTK12 - October 13, 2021

Published by walbourn about 3 years ago

  • Added skinning support for NormalMapEffect and PBREffect
  • Common states updated with support for reverse z-buffer rendering with DepthReverseZ and DepthReadReverseZ methods.
  • Effect factory updates
    • Updated to use SkinnedNormalMapEffect / SkinnedPBREffect as appropriate.
    • PBR now supports 'untextured' models (always requires texture coordinates) with use of diffuse color for constant albedo, and specular power for an estimated constant roughness.
  • Model loader updates
    • SDKMESH loader no longer requires precomputed vertex tangents for normal mapping as we don't use them.
    • Added ModelLoader_DisableSkinning flag when dealing with legacy SDKMESH files with too many skinning bone influences for MaxBone
  • Fix for BGRA auto-generation of mipmaps on some hardware
  • Minor update for the Mouse implementation for GameInput
  • Project and code cleanup

This version is also available on NuGet as version 2021.10.15

This version is available via vcpkg.

DirectXTK12 - September 2021

Published by walbourn about 3 years ago

  • Added ModelBone support for transformation hierarchies
    • Rigid-body & skinned animation Draw support added to Model
  • Support for loading Visual Studio CMO models added using BasicEffect or SkinnedEffect materials
  • Added type aliases Model::EffectCollection, ModelMeshPart::InputLayoutCollection, GeometricPrimitive::VertexCollection and IndexCollection
  • Fixed handle leak in ResourceUploadBatch
  • Updated ScopeBarrier to conform with C++14 std::initializer_list
  • VS 2017 projects updated to require the Windows 10 SDK (19401) and make use of Shader Model 6.0
  • Code review updates

This version is also available on NuGet as version 2021.10.1

This version is available via vcpkg.

DirectXTK12 - August 2021

Published by walbourn about 3 years ago

  • DebugEffect, NormalMapEffect, and PBREffect updated with instancing support
  • GeometricPrimitive updated with DrawInstanced method
  • ToneMapPostProcess updated with SetColorRotation method
  • Added VS 2022 Preview projects
  • Minor code review

This version is also available on NuGet as version 2021.8.2

This version is available via vcpkg.

DirectXTK12 - June 2021

Published by walbourn over 3 years ago

  • VS 2019 projects now use Shader Model 6 to build shaders (CMake has build option)
  • DirectX Tool Kit for Audio updates:
    • Fixed mono source panning
    • Added EnableDefaultMultiChannel helper to AudioEmitter for multi-channel source setup
    • Added GetChannelCount accessor to SoundEffectInstance and SoundStreamInstance
    • Apply3D can now use X3DAUDIO_LISTENER and X3DAUDIO_EMITTER directly or the library helper structs.
  • Minor code review

This version is also available on NuGet as version 2021.6.10

This version is available via vcpkg.

DirectXTK12 - April 2021

Published by walbourn over 3 years ago

  • DDSTextureLoader updated to accept nVidia Texture Tool v1 single-channel and dual-channel files marked as RGB instead of LUMINANCE
  • Fixed ScreenGrab for reserved and MSAA resources
  • Minor code and project cleanup

This version is also available on NuGet as version 2021.4.7

DirectXTK12 - January 14, 2021

Published by walbourn over 3 years ago

This was a CMake only release of January 2021 for vcpkg.

DirectXTK12 - December 21, 2020

Published by walbourn almost 4 years ago

This was a CMake only release of November 2020 for vcpkg

DirectXTK12 - January 9, 2021

Published by walbourn almost 4 years ago

  • Code review for improved conformance
  • CMake updated to support package install

This version is also available on NuGet as version 2021.1.10

DirectXTK12 - November 11, 2020

Published by walbourn almost 4 years ago

  • Fixed /analyze warnings in GameInput usage
  • Updated D3DX12 internal copy with latest change from GitHub
  • Sync'd DirectX Tool Kit for Audio with DX11 version
  • Minor code and project cleanup

This version is also available on NuGet as version 2020.11.12

DirectXTK12 - September 30, 2020

Published by walbourn about 4 years ago

  • GamePad class updated with c_MostRecent constant for -1 player index special behavior
    • For GameInput API implementation, also added c_MergedInput
  • Fixed bug in WICTextureLoader that resulted in WINCODEC_ERR_INSUFFICIENTBUFFER for some resize requests
  • Fixed .wav file reading of MIDILoop chunk
  • Minor code cleanup

This version is also available on NuGet as version 2020.9.30

DirectXTK12 - August 15, 2020

Published by walbourn about 4 years ago

  • breaking change Converted default bool parameters on some effects to EffectFlags:
    • Added new effects flags Specular, Emissive, Fresnel, and Velocity
    • Removed EnvironmentMapEffect fresnelEnabled, specularEnabled parameters
    • Removed NormalMapEffect specularMap parameter
    • Removed PBREffect emissive, generateVelocity parameters
    • Removed SkinnedEffect weightsPerVertex parameter (always uses 4 bones)
  • EnvironmentMapEffect now supports cubemaps, spherical, and dual-parabola environment maps
  • Fixed bug with ScreenGrab with 'small alignment' textures
  • Code review and project updates
  • Added GDK projects

This version is also available on NuGet as version 2020.8.15

DirectXTK12 - July 2, 2020

Published by walbourn over 4 years ago

  • Improved SpriteFont drawing performance in Debug builds
  • Regenerated shaders using Windows 10 May 2020 Update SDK (19041)
  • Code cleanup for some new VC++ 16.7 warnings and static code analysis
  • CMake updates

This version is also available on NuGet as version 2020.7.2

DirectXTK12 - June 15, 2020

Published by walbourn over 4 years ago

  • DescriptorHeap / DescriptorPile updated with additional ctor
  • EffectTextureFactory ctor parameter updated with default value
  • Code cleanup for some new VC++ 16.7 warnings and static code analysis

This version is also available on NuGet as version 2020.6.15

DirectXTK12 - June 1, 2020

Published by walbourn over 4 years ago

  • Added BufferHelpers header with functions CreateStaticBuffer and CreateTextureFromMemory
  • Added IsPowerOf2 helper to DirectXHelpers
  • SpriteBatch now supports providing a new heap-based sampler on calls to Begin
  • Converted to typed enum bitmask flags (see this blog post for details on this potential breaking change)
    • AUDIO_ENGINE_FLAGS, DDS_LOADER_FLAGS, ModelLoaderFlags, SOUND_EFFECT_INSTANCE_FLAGS, and WIC_LOADER_FLAGS
  • WICTextureLoader for PNG codec now checks gAMA chunk to determine colorspace if the sRGB chunk is not found for legacy sRGB detection.
  • WIC_LOADER_SRGB_DEFAULT flag added when loading image via WIC without explicit colorspace metadata
  • CMake project updates

This version is also available on NuGet as version 2020.6.2

DirectXTK12 - May 10, 2020

Published by walbourn over 4 years ago

  • ResourceUploadBatch updated to support usage with copy & compute queues
  • Transition methods added for GeometricPrimtive and Model for use with static VBs/IBs
  • WICTextureLoader updated with new loader flags: FORCE_RGBA32, FIT_POW2, and MAKE_SQUARE
  • SimpleMath no longer forces use of d3d11.h or d3d12.h (can be used with d3d9.h for example)
  • DirectX Tool Kit for Audio updated with SoundStreamInstance class for async I/O playback from XACT-style streaming wavebanks
  • Code cleanup
  • Updated D3DX12 internal copy to Windows 10 SDK (19041) version

This version is also available on NuGet as version 2020.5.11

DirectXTK12 - April 3, 2020

Published by walbourn over 4 years ago

  • Updated D3DX12 internal copy to latest version
  • SpriteFont MeasureString / MeasureDrawBounds fixes for !ignoreWhitespace
  • Regenerated shaders using Windows 10 SDK (19041)
    • Upgraded to use root signature 1.1 which requires Windows 10 (14393) or later
  • Code review (constexpr / noexcept usage)
  • CMake updated for PCH usage with 3.16 or later
DirectXTK12 - February 24, 2020

Published by walbourn over 4 years ago

  • breaking change Model::CreateFrom* parameter order changed and addded ModelLoaderFlags
  • Added ignoreWhitespace defaulted parameter to SpriteFont Measure methods
  • Sync'd DirectX Tool Kit for Audio and GamePad with DX11 version
  • Fixed encoding issue with Utilities.fxh
  • Code and project cleanup
  • Retired VS 2015 projects

This version is also available on NuGet as version 2020.2.24

Note that NuGet package id directxtk12_desktop_2017 replaced directxtk12_desktop_2015

See this blog post for more information.

DirectXTK12 - December 17, 2019

Published by walbourn almost 5 years ago

  • Added ARM64 platform to VS 2019 Win32 desktop Win10 project
  • Added Vector operator/ by float scalar to SimpleMath
  • Added GetStatistics method to GraphicsMemory
  • Reduced fence object usage in GraphicsMemory's LinearAllocator
  • Updated CMake project
  • Code cleaup

This version is also available on NuGet as version 2019.12.17

This is the last release I plan to support for VS 2015. See this issue for details and feedback.

DirectXTK12 - October 17, 2019

Published by walbourn about 5 years ago

  • Added optional forceSRGB parameter to SaveWICTextureToFile
  • GamePad updated to report VID/PID (when supported)
  • Minor code cleanup

This version is also available on NuGet as version 2019.10.17

DirectXTK12 - August 21, 2019

Published by walbourn about 5 years ago

  • Updated D3DX12 internal copy to latest version
  • Code cleanup

This version is also available on NuGet as version 2019.8.23