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
SirLynix
2243d0b1a7
Move free operator overloads inside Nz namespace
2022-12-29 12:15:22 +01:00
SirLynix
46fe1c550c
Fixes unit tests
2022-12-18 17:08:03 +01:00
SirLynix
5ca7b398c2
More Math cleanup
2022-12-18 16:33:05 +01:00
SirLynix
830eee78a8
Math: Rework Box and Rect classes
2022-12-18 14:57:14 +01:00
SirLynix
8b101114d1
Minor fixes
2022-12-08 19:20:54 +01:00
SirLynix
a5d4b8f28d
Renderer/DebugDrawer: Add support for Frustum
2022-12-08 18:17:13 +01:00
SirLynix
45d4195527
Math/Box|Rect: Fix Intersect method with zero-sized boxes
2022-11-05 00:49:38 +01:00
SirLynix
364d1bafb4
Math: Add support for Turn angles
2022-09-26 19:09:30 +02:00
SirLynix
d60fce169a
Fix merge
2022-08-25 12:59:01 +02:00
SirLynix
b8ea79c40e
Commit current work
2022-08-25 12:59:01 +02:00
SirLynix
e5e3026005
Push current work
2022-08-25 12:59:01 +02:00
Jérôme Leclercq
03e2801dbe
Split engine to packages NazaraUtils and NZSL ( #375 )
...
* Move code to NazaraUtils and NZSL packages
* Reorder includes
* Tests: Remove glslang and spirv-tools deps
* Tests: Remove glslang init
* Remove NazaraUtils tests and fix Vector4Test
* Fix Linux compilation
* Update msys2-build.yml
* Fix assimp package
* Update xmake.lua
* Update xmake.lua
* Fix shader compilation on MinGW
* Final fixes
* The final fix 2: the fix strikes back!
* Disable cache on CI
* The return of the fix™️
2022-05-25 19:36:10 +02:00
Lynix
52f822fbcb
Math/Matrix4: Add TransformInverse(translation, rotation, scale)
2022-05-15 22:29:20 +02:00
SirLynix
6469ab5fde
Utility: Refactor some algorithms
2022-05-12 18:15:20 +02:00
SirLynix
c209552f81
Math/Matrix4: Rework "transform matrix" support
2022-04-19 18:32:16 +02:00
Jérôme Leclercq
01061380ee
Audio/AudioDevice: Improve GetListenerRotation
2022-03-17 18:15:53 +01:00
Jérôme Leclercq
6165b3a101
Audio: Rewrite audio module
2022-03-17 18:15:53 +01:00
Jérôme Leclercq
fe16584c8c
Minor fixes
2022-02-23 23:48:20 +01:00
Jérôme Leclercq
6457854e03
Minor fixes
2022-02-04 13:54:26 +01:00
Jérôme Leclercq
8a3a8547dc
Add light support (WIP)
2022-02-02 12:55:39 +01:00
SirLynix
89c7bbf197
Update copyright date
2022-01-01 15:30:09 +01:00
Jérôme Leclercq
01cd4986cc
Minor fixes
2021-11-28 20:19:37 +01:00
Jérôme Leclercq
a1b5e5b4f4
Math/Vector3: Fix ToString()
2021-11-21 19:06:33 +01:00
Jérôme Leclercq
32c204e95f
Minor fixes
2021-10-29 13:29:49 +02:00
Jérôme Leclercq
f491ee1e38
Apply inclusion fix
2021-10-27 18:09:19 +02:00
Jérôme Leclercq
93ec196dc4
Apply header guard check
2021-10-26 15:52:46 +02:00
Jérôme Leclercq
ed7ab31933
Apply copyright fix to all files
2021-10-26 14:31:35 +02:00
Jérôme Leclercq
a66f6faed1
Add widgets (WIP)
2021-10-04 09:25:45 +02:00
Jérôme Leclercq
2b9d8becea
Math: Rework Frustum class
2021-08-23 18:43:34 +02:00
Jérôme Leclercq
8546631f62
Add frustum culling (WIP)
2021-08-19 23:26:34 +02:00
Jérôme Leclercq
8db8533300
Fixes a lot of warnings and move math enums to enum classes
2021-08-19 20:27:20 +02:00
Jérôme Leclercq
f2bb1a839c
Math/Matrix4: Remove implicit conversion to pointer
2021-07-03 18:20:00 +02:00
Jérôme Leclercq
dbe4abefb8
Math: Add PidController class
2021-06-20 14:06:28 +02:00
Jérôme Leclercq
3cd9172f7a
Graphics: Make use of shader binding sets
2021-06-16 16:50:00 +02:00
Jérôme Leclercq
b85cb174ce
Reverse Y axis (+Y is now up)
2021-06-06 15:59:25 +02:00
Jérôme Leclercq
bd1f5214b8
Math: Replace M_PI defines with template constexpr constants
2021-06-05 16:35:15 +02:00
Jérôme Leclercq
12e9edd2d7
Math/Algorithm: Fix missing implementation of Clamp for Angles
2021-06-01 18:04:18 +02:00
Jérôme Leclercq
b6094bf1dd
Math/Matrix4: Update projection matrix formula
2021-06-01 17:39:15 +02:00
Jérôme Leclercq
4d74cef034
Math: Remove NAZARA_MATH_ANGLE_RADIAN and functions using it
2021-06-01 17:37:40 +02:00
Jérôme Leclercq
2ef772cec7
Merge branch 'nazara-next' into graphics-next
2021-01-28 16:37:46 +01:00
Jérôme Leclercq
a1c15a8c16
Math: Add SetBit and TestBit
2020-12-30 18:14:41 +01:00
ImperatorS79
4bf49876c6
Build Nazara on macos up to Nazara_network (not included
2020-11-21 20:05:19 +01:00
Jérôme Leclercq
2b6a463a45
Remove Nz::String and Nz::StringStream
2020-09-25 19:31:01 +02:00
Jérôme Leclercq
790815e9ee
Merge branch 'master' into nazara-next
2020-09-17 20:28:11 +02:00
Jérôme Leclercq
0cadaecbd2
Fix that clang warning
2020-09-07 16:21:43 +02:00
Jérôme Leclercq
193deb6c04
Fix some minor stuff
2020-09-06 17:09:39 +02:00
Jérôme Leclercq
0ff0425045
Some more fixes, hopefully GCC will stop shitting itself now
2020-08-27 23:22:13 +02:00
Jérôme Leclercq
b2a7e620e0
Merge branch 'master' into nazara-next
2020-08-27 20:12:36 +02:00
Jérôme Leclercq
1a12e18a36
Fix copyright dates and some defines
2020-08-11 00:01:49 +02:00
Lynix
52c24e76db
SDK/Physics2D: Fix entity rotation not being taken into account for static physics
2020-06-02 17:06:01 +02:00
Lynix
b1b9030359
Math/Vector[I]: Replace implicit pointer conversion by [] operator overload
2020-05-26 16:03:57 +02:00
Lynix
3b440254da
Math/Vector[I]: Set method: Replace array by pointer
2020-05-26 15:58:15 +02:00
Lynix
b2d3605cf4
Fix includes
2020-04-10 17:36:43 +02:00
Lynix
c23b6dfa01
Copyright year update
...
I can't wait to see the conflicts this will cause
2020-03-05 17:27:26 +01:00
Lynix
dba9bb8b47
Math: Add Rect(u)i64 using
2019-12-22 17:00:48 +01:00
Lynix
bcc10a1ee2
Math/Matrix4: Add Decompose
2019-12-10 09:49:52 +01:00
Lynix
be8e89b228
Math: Remove all Set(class) methods
2019-12-10 09:49:40 +01:00
Lynix
8c7d886f73
Math/Algorithm: Reenable constexpr
2019-04-15 14:16:57 +02:00
Lynix
b6c1bfb5d0
Math/Vector4: Fixed missing implementation
2019-03-16 15:43:37 +01:00
Lynix
c2a44f7616
Math: Added Vector[2|3|4](u)i64 typedefs
2019-03-16 15:40:52 +01:00
Jérôme Leclercq
5e45983953
Math/Angle: Fix compilation & warning on GCC < 8
2018-10-12 17:09:39 +02:00
Lynix
d2b1d51ecb
Math/Angle: Replace conversion constructors by conversion operators
2018-10-11 00:07:50 +02:00
Lynix
6653be6f2c
Math/Angle: Make use of ToRadians()
2018-10-10 23:12:45 +02:00
Lynix
fb11fe1ecf
Math/Angle: Rename angle field to value
2018-10-10 23:12:27 +02:00
Lynix
7613f50a6e
Math/Angle: Rework ToDegrees/ToRadians
...
- Rename To[Degrees|Radians] to To[Degrees|Radians]Angle
- Add To[Degrees|Radians] methods which returns an angle value
2018-10-10 23:01:23 +02:00
Lynix
9cc83aafda
Math/Angle: Add FromDegrees and FromRadians builders
2018-10-10 22:59:57 +02:00
Jérôme Leclercq
e1cfa2e184
And again
2018-09-25 15:56:35 +02:00
Jérôme Leclercq
2243749480
Math/Angle: Fix warning
2018-09-25 15:55:16 +02:00
Jérôme Leclercq
eaa3fd2f09
Fix method order
2018-09-06 13:27:06 +02:00
Jérôme Leclercq
46008531e0
Math/Angle: Fix implicit conversion to Euler Angles/Quaternion
2018-09-06 13:24:29 +02:00
Lynix
1ee75f2699
Math/Angle: Adds conversion to euler angles and quaternions
2018-09-05 21:51:32 +02:00
Jérôme Leclercq
1114bb0fdd
Fix some other oopsies
2018-09-05 16:24:10 +02:00
Jérôme Leclercq
500ad417a7
Math/Angle: Fix compilation under Linux
2018-09-05 15:59:00 +02:00
Jérôme Leclercq
4c8e40bb6c
Math/Angle: Rename parameters to prevent name clash
2018-09-05 15:18:35 +02:00
Jérôme Leclercq
f0e215f8f5
Math/Angle: Optimize SinCos on Linux
2018-09-05 15:15:02 +02:00
Jérôme Leclercq
9e0b61f30d
Math/Angle: Add sine, cosine, tangent methods
2018-09-05 15:14:31 +02:00
Jérôme Leclercq
3cc70daf3e
Fix missing file
2018-09-05 15:13:39 +02:00
Lynix
f59810b68e
Math: Add Angle class
2018-09-02 22:06:03 +02:00
Jérôme Leclercq
e4b67019cb
Math/Vector[2|3]: Removed Distancef and made Distance templated
2018-07-02 18:13:14 +02:00
Jérôme Leclercq
2f2b1f101b
Core/Quaternion: Fix Inverse method
2018-04-12 12:45:19 +02:00
Lynix
271565d1b9
And fix compilation again
2018-03-20 22:11:42 +01:00
Lynix
bca94e0955
Fix compilation
2018-03-20 21:59:27 +01:00
Lynix
8926f09511
Revert "Try to fix compilation"
...
This reverts commit a32408a4d7 .
2018-03-20 21:57:28 +01:00
Lynix
a32408a4d7
Try to fix compilation
2018-03-20 21:50:16 +01:00
Lynix
ad82de2962
Replace typedef keywords by using
2018-03-20 20:59:04 +01:00
Lynix
69f079fcc8
Core/Serialization: Add type tag parameters
2018-03-20 20:56:06 +01:00