Commit Graph

392 Commits

Author SHA1 Message Date
SirLynix f5fefc7b86 Math: Add AngleBetween and RotateTowards for Vector3 and Quaternion 2023-12-07 16:50:22 +01:00
SirLynix 2622951144 Minor fixes 2023-11-26 11:25:52 +01:00
SirLynix 448cf3b86e Math/Ray: Fix Intersect(Box) 2023-11-20 23:00:29 +01:00
SirLynix 4b8a475bbd Split error macro into two versions (format vs non-formating) to allow format checking at compile-time 2023-11-02 15:18:03 +01:00
Lynix bb9f907691 Math/Ray: Fix return 0 to return false 2023-10-25 20:22:29 +02:00
SirLynix c826b537ab Math/VectorI: Add Apply static method 2023-10-14 14:46:49 +02:00
SirLynix 9aebb4f745 Graphics: Rework shadowing (add cascaded shadow mapping)
- Add support for per-viewer shadows
- Add cascaded shadow mapping for directional lights (wip)
- Rework the way lights are sent to the shaders (they are now selected once per viewer)
- Fixes PointLight shadow mapping (using a dedicated pass)
- Lights out of frustum for every viewers are no longer processed (wip)
2023-10-14 14:46:49 +02:00
SirLynix aef8b01f15 Math/Box: Rename FromExtends to FromExtents 2023-09-08 09:06:26 +02:00
SirLynix 1b9c19fd78 Minor fixes 2023-08-31 18:01:59 +02:00
SirLynix 5b11e53d33 Remove useless includes 2023-08-31 17:59:05 +02:00
SirLynix 9ff1dcc42a Math/Frustum: Fix GetAABB dangling ref 2023-08-28 19:16:39 +02:00
SirLynix 4f4d0a3373 Math/Frustum: Fix Near and Far plane extraction (they were swapped) 2023-08-28 19:16:15 +02:00
Lynix a234f2e7bd Fix compilation 2023-08-25 20:27:10 +02:00
SirLynix 627400f4f2 Minor fixes 2023-08-25 17:14:33 +02:00
SirLynix 5b9f79a554 Math/Frustum: Fix Far plane extraction 2023-08-25 17:14:23 +02:00
SirLynix efe36ca6e8 Math/OrientedBox: Make GetCorners return an EnumArray ref 2023-08-25 17:13:39 +02:00
SirLynix 532b1b2c4d Math/Frustum: Add ComputeCorners and GetAABB 2023-08-25 17:13:07 +02:00
SirLynix a741672a51 Allow error message to be formatted 2023-08-15 01:10:01 +02:00
Jérôme Leclercq 501e779be4
Fix mistake 2023-08-13 18:40:02 +02:00
SirLynix 28d69ab552 Math/Box,Rect: Add GetCorners method 2023-08-13 18:14:22 +02:00
SirLynix 1ef61cc5ad Math/VectorI: Add modulo overloads 2023-08-12 12:02:12 +02:00
SirLynix e2808192aa Minor fixes 2023-07-30 19:46:01 +02:00
SirLynix 99471e8e65 Remove useless includes 2023-07-23 13:06:09 +02:00
SirLynix 20f000c8dc Fix missing include 2023-07-23 11:12:05 +02:00
SirLynix c25113fea9 xmake check-files -f 2023-07-21 09:01:52 +02:00
SirLynix ce2693114c Fix includes 2023-07-17 19:18:15 +02:00
SirLynix f2bc1bff7a Update for latest nazarautils update 2023-07-17 19:05:15 +02:00
SirLynix ff491eddc7 Math/Angle: Fix Zero() 2023-07-14 14:18:28 +02:00
SirLynix 96618cbb5b Fix some warnings 2023-06-27 19:31:24 +02:00
SirLynix 161c4f6aca Math/Frustum: Fix Contains(Box) and Intersect(points, n) 2023-06-25 09:50:10 +02:00
SirLynix 2f1e2f94d7 Math/Plane: Fix construction from 3 points 2023-06-23 13:23:26 +02:00
SirLynix b2538028b4 Math/Plane: Rename Distance method to SignedDistance 2023-06-22 17:56:18 +02:00
SirLynix 622b6cbec9 Math: Reverse plane direction (to make it more standard) 2023-06-21 19:50:03 +02:00
SirLynix 9eb4c43997 Math/Frustum: Add GetPlanes() 2023-06-21 19:49:32 +02:00
SirLynix 2a9ec4f3bb Minor fixes 2023-06-16 13:06:11 +02:00
SirLynix 8eefb2f101 Add missing include 2023-06-07 18:54:44 +02:00
SirLynix 05996d11c2 Add missing include 2023-06-07 08:17:28 +02:00
SirLynix caf8446707 Math: Remove Algorithm file and move string functions to StringExt 2023-06-06 08:59:58 +02:00
Jérôme Leclercq 1a55b550fb
Improve math module (#396)
* Improve math module

- Mark almost everything constexpr
- Equality (a == b) is now exact, down to the bit level. If you want approximate equality use the new ApproxEqual method/static method
- Rename Nz::Extend to Nz::Extent
- Removed Make[] and Set[] methods in favor of their static counterpart and operator=
2023-06-02 22:30:51 +02:00
SirLynix 2886a2e0c0 Rename EnumMap to EnumArray after nazarautils update 2023-05-30 13:49:19 +02:00
SirLynix dfe6b2ddcf Make use of the new EnumMap class 2023-05-30 12:32:37 +02:00
SirLynix 741dc6b7e8 Math/Box: Add ScaleAroundCenter 2023-05-16 15:43:05 +02:00
SirLynix 147f1bc1cf Math/Vector3: Add GetAbs method 2023-05-01 17:05:26 +02:00
SirLynix 9b4d297c04 Update includes for new NazaraUtils version 2023-03-19 13:01:56 +01:00
SirLynix 27996d16d9 Math/Quaternion: Fix RotationBetween with non-normalized vecs 2023-03-19 12:06:29 +01:00
SirLynix b354f7f87d Math/Quaternion: Fix RotationBetween not handling parallel vectors 2023-03-17 19:24:57 +01:00
SirLynix 99c8027fd0 Remove .inl inclusion of their .hpp files
It has no real purpose and is breaking Clang parsing
2023-03-10 13:33:10 +01:00
SirLynix 7e18c4a46e Math/Quaternion: Fix LookAt forward vector 2023-03-09 17:48:14 +01:00
SirLynix f98cbcd00a Copyright year update 2023-01-22 17:41:18 +01:00
SirLynix ba3f26d074 Minor fixes 2023-01-21 19:10:51 +01:00