Skip to content

Morton Code HLSL/C++ library, CMake 4.x support and Vertex Welder

Choose a tag to compare

@devshgraphicsprogramming devshgraphicsprogramming released this 14 Dec 11:38
· 1064 commits to master since this release

What's Changed

New Features

  • VS2026 CMake 4.2 support by @AnastaZIuk in #951
  • CMake build targets for SPIR-V shaders, CI now tests example shaders building by @Przemog1 in #944
  • Dump info about all Vulkan Physical Devices to JSON (not just ones that meet Nabla core profile), by @YasInvolved in #938
  • llvm-pipe preliminary integration into CI pipeline (however llvm-pipe does not meet Nabla Core Profile - see Mesa issues we've filed)
  • New morton class with arithmetic and comparison operators by @Fletterio and @kevyuu in #860
  • Iridescent Fresnel draft (subject to change) by @keptsecret in #918
  • Geometry Vertex Welder utility
  • emulated_uint64_t for Vulkan devices without shaderInt64 support like the Quest 2
  • other minor features like system::to_string for HLSL vectors, nbl/builtin/hlsl/colorspace.hlsl, polar coordinate header

Improvements

  • BxDF HLSL Library Interfaces and API finalized
  • Vertex Hash Grid is its own utility now to be shared between algorithms
  • more functional.hlsl functors like equal_to and shift operator equivalents
  • nbl::hlsl::truncate
  • nbl::hlsl::sincos_accumulator finalized
  • Image, font and zlib 3rdparty library updates
  • radix sort does histogramming and scatter in alternating directions keeping cache warm
  • more SPIR-V inline intrinsics
  • more nbl::hlsl::mpl functions

Bugfixes

  • Clean up the NBL_ C++/HLSL compatibility headers (esp for constexpr) hence the API breakage
  • DXC Updates
  • Smooth normal computation uses proper O(1) algorithms
  • nbl::hlsl::math::linalg::promote_affine actually fills the diagonal of expanded matrix with 1s now
  • nbl::hlsl::extent specialization clean up for vector and matrix

Full Changelog: v0.8.0.1...v0.9.0.0