Hlslpp Versions Save

Math library using hlsl syntax with SSE/NEON support

3.4

4 months ago
  • 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

1 year ago

· Quaternion nlerp bugfix

3.3

1 year ago
  • 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

1 year ago
  • Fix integer abs function

3.2.2

1 year ago
  • Add [ ] operators for select matrices (3x3 and 4x4) and vector types
  • Fix bug with float1 / floatN and float1 - floatN operators

3.2.1

1 year ago
  • Fix integer division and casting. Wrong instructions were being used in both NEON and SSE

3.2

1 year ago
  • 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

3 years ago

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

3.0

3 years ago

· 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

2.0

3 years ago

· Greatly improved compilation times by removing most SFINAE · Added NEON64 support · Added scalar version of library for platforms without hardware vectors · Added float8 type, backed by AVX · Improved float4x4 matrix by using AVX vectors when available · Added doubleN types. Both SSE and AVX · Added uintN types · Added missing hlsl functions like fmod, mad, sincos