12 Commits

Author SHA1 Message Date
Chris Robinson
58a9549a58 Handle the listener position separate from the rotation matrix
It's too unstable with larger vectors. Even when the source and listener
positions are the same, floating point precision can cause noticeable rounding
errors.
2021-05-25 14:08:16 -07:00
Chris Robinson
20057b848c Calculate the square root after checking the limit 2021-01-29 09:56:38 -08:00
Chris Robinson
3702ee669b Add a panning "deadzone" for spatialized sources
It is now the greater of 'epsilon' (1 / 2**23) or ref_distance/1024.
2021-01-28 08:36:49 -08:00
Chris Robinson
f38919eecc Avoid using a hidden unnamed template parameter 2020-12-15 23:47:47 -08:00
Chris Robinson
e64c52ce8c Use doubles to calculate the listener matrix translation
To help stablize sources near the listener, when away from origin. Also clean
up some related methods and move them to more appropriate places.
2020-11-13 23:33:40 -08:00
Chris Robinson
6de861a75c Remove a constexpr that needs C++17 2020-10-23 20:00:09 -07:00
Chris Robinson
7cb1cc8ab5 Add some constexpr 2020-10-23 18:40:54 -07:00
Chris Robinson
fcb496bb5c Avoid unnecessary explicit copy methods 2019-09-08 00:31:55 -07:00
Chris Robinson
f0408809d6 Cleanup common sources' includes 2019-07-29 09:29:35 -07:00
Chris Robinson
334b3a905a Clean up some math stuff 2018-12-22 16:01:14 -08:00
Chris Robinson
5a283c66ee Use proper classes for Vector and Matrix types 2018-12-12 04:22:11 -08:00
Chris Robinson
e79d9bdd1a Move the vector and matrix declarations to a separate header 2018-11-17 23:21:37 -08:00