Releases: redorav/hlslpp
Releases · redorav/hlslpp
3.5.3
3.5.2
3.5.1
3.5
- IMPORTANT: reworked headers to follow a more logical folder structure. Compatibility headers are provided to aid migration so existing code will work as is, they will be removed in future versions! Easy way is to replace "hlsl++_" with "hlsl++/"
- Added WebAssembly intrinsics: most functionality has been tested but there are still some rough edges, it has been tested with the Emscripten Visual Studio Target plugin
- Improve matrix compile times by putting rarely-used swizzles behind define (the hlsl spec defines _mNM and __NM)
- Separate matrix_type and matrix headers to improve compile times for users
- Improve compile times for our custom type_traits
- Fix trunc for the SSE2 double type changing the rounding mode and other shenanigans. The solution is more "by the book"
3.4
- Fixed all unit test warnings. Unit tests now run as part of build
- Added clamp to int and uint
- Fix round, floor and ceil to better conform to hlsl
- Add option to specify reverse z and and infinite far plane when creating perspective matrices
- Add missing vector-matrix multiplication functions
- Add matrix constructors from vectors
- Small performance improvement to SSE permutation intrinsic to avoid computing parameter twice
- Add distance() function
- Add normalize() to doubleN
- Add cross() for doubleN
- Further improve compile times for swizzleN for all types of vectors
3.3.1
3.3
- Add the select() function now that HLSL 2021 has standardized it
- Have separate type headers for vector and quaternion (matrix not implemented yet)
- Further addressed compile times for swizzles and third-party headers
- Disambiguate equality and comparison operators
- Fix quaternion slerp producing nans
- Fix uintN swizzle
- Added uintN to the natvis
- Make division safer in scalar mode
- Fix float1x3 matrix move constructor