Skip to content

Releases: redorav/hlslpp

3.5

20 May 20:58
Compare
Choose a tag to compare
  • 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

23 Dec 12:52
Compare
Choose a tag to compare
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

21 Apr 19:17
Compare
Choose a tag to compare

· Quaternion nlerp bugfix

3.3

20 Apr 20:55
Compare
Choose a tag to compare
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

3.2.3

10 Dec 00:00
Compare
Choose a tag to compare
  • Fix integer abs function

3.2.2

21 Aug 11:07
Compare
Choose a tag to compare
  • Add [ ] operators for select matrices (3x3 and 4x4) and vector types
  • Fix bug with float1 / floatN and float1 - floatN operators

3.2.1

31 Jul 13:10
bae41f0
Compare
Choose a tag to compare
  • Fix integer division and casting. Wrong instructions were being used in both NEON and SSE

3.2

15 Jul 12:37
Compare
Choose a tag to compare
3.2
  • Improved quaternion <-> matrix conversions and made their interface more consistent
  • Added store functions to more types
  • Separated headers to allow for more modular includes
  • Added noexcept to constructors and assignment
  • Added move constructors
  • Added more matrix conversions
  • Other minor fixes

3.1

21 Apr 16:58
Compare
Choose a tag to compare
3.1

· Important fixes to the swizzling code
· Matrix operator fixes
· Fixes for older compilers
· Fix to double load function taking aligned addresses

3.0

11 Mar 20:38
d48145a
Compare
Choose a tag to compare
3.0

· Added transform matrices @egorodet
· Default initialization for all types
· Added store/load functions to more types
· Added more comparison operators
· Added atan2, asfloat, asuint, asint
· axiscosangle for quaternions
· Delete manual copy constructors, lets compiler create && semantics
· Improved natvis
· General bug fixing