Commit Graph

209 Commits

Author SHA1 Message Date
Jérôme Leclercq 6c35b0be57 Minor fixes 2022-02-05 21:30:36 +01:00
Jérôme Leclercq 33dddf6d41 UnitTests: Try to fix leak 2022-02-05 16:24:05 +01:00
Jérôme Leclercq e6951d54a5 Shader: Switch type<subtype> to type[subtype] 2022-01-26 19:24:46 +01:00
Jérôme Leclercq 64efd81bf8 Shader: Handle matrix cast properly 2022-01-23 19:58:04 +01:00
Jérôme Leclercq 756fd773a9 Shader: Add support for numerical fors 2022-01-06 20:38:55 +01:00
Jérôme Leclercq 2bdcc045cd Shader: Replace const for with [unroll] attribute 2022-01-03 20:21:09 +01:00
Jérôme Leclercq 4fe44339c5 Shader: Add support for for-each statements and improve arrays 2022-01-02 22:02:11 +01:00
Jérôme Leclercq 3a4e006106 UnitTests/Shader: Update scalar swizzle test 2021-12-28 20:09:26 +01:00
Jérôme Leclercq 101a3d70da Shader/AstOptimizer: Add swizzle optimization 2021-12-28 20:09:04 +01:00
Jérôme Leclercq 22651255df UnitTests/Shader: Add cond/const if tests 2021-12-28 13:36:11 +01:00
Jérôme Leclercq a8bb5291f2 Update Optimizations.cpp 2021-12-28 11:54:49 +01:00
Jérôme Leclercq 2f64e493de UnitTests/Shader: Add sanitization and optimizations unit tests 2021-12-28 11:49:53 +01:00
Jérôme Leclercq 47e2ec35e3 UnitTests/Shader: Improve GLSL handling (detect shader point type instead of assuming fragment) 2021-12-28 11:49:20 +01:00
Jérôme Leclercq a0f66d9e88 Shader/SPIRV: Fix multiple branch handling (by splitting) 2021-12-28 11:48:19 +01:00
Jérôme Leclercq e21b45946f Shader/SPIRV: Fix double termination of blocks when branching
Which could happen when using OpKill (discard) for example
2021-12-26 22:00:44 +01:00
Jérôme Leclercq b98fd65a01 Fix a lot of small bugs/warnings 2021-12-25 20:07:53 +01:00
Jérôme Leclercq b9642b0662 UnitTests: Add a lot of shader generation tests 2021-12-25 19:13:32 +01:00
Jérôme Leclercq f798901c23 UnitTests: Use glslang to validate GLSL shaders 2021-12-24 14:54:35 +01:00
Jérôme Leclercq b53d2a0560 Rework shader module unit tests 2021-12-23 17:39:24 +01:00
Jérôme Leclercq e497faabaf Fix compilation 2021-12-21 14:45:53 +01:00
Jérôme Leclercq 2f9e495739 Fix unit tests 2021-08-28 19:09:53 +02:00
Jérôme Leclercq 2b9d8becea Math: Rework Frustum class 2021-08-23 18:43: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 1f6937ab1b Shader: Implement const if and const values 2021-07-07 22:38:24 +02:00
Jérôme Leclercq dfa46ebaa5 Fix shader generation unit tests 2021-06-16 16:50:00 +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 d72984380d Replace Catch header by a xmake package 2021-06-04 20:09:35 +02:00
Jérôme Leclercq 4b3b595a99 Minor fixes 2021-06-04 18:02:28 +02:00
Jérôme Leclercq 8fe11711a3 UnitTests: Rename .cpp (it was confusing the debugger) 2021-06-04 14:12:26 +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 d0d65be35f Tests: Fix Shader/AccessMember
It turns out the Sanitizer AccessMember refactor also optimized the SPIRV output by merging the resulting AccessIndex
2021-06-01 17:00:55 +02:00
Jérôme Leclercq d5c27a756b Audio: Fix AudioFormat names (U16 -> I16) 2021-05-30 16:45:50 +02:00
Jérôme Leclercq 874fb3542e Convert all remaining enums to enum classes (!) 2021-05-25 10:40:07 +02:00
Jérôme Leclercq 8cdd0b51cb Upgrade Audio (part 2) 2021-05-25 10:40:07 +02:00
Jérôme Leclercq ac57b3fbf4 Shader/GlslWriter: Accepts mono-functions shader without specifying entry points 2021-05-25 10:40:07 +02:00
Jérôme Leclercq 7140e322c1 Commit missing files 2021-05-25 10:40:07 +02:00
Jérôme Leclercq ba7c56ddfa Upgrade Platform 2021-05-25 10:40:07 +02:00
Jérôme Leclercq 8b0b5295f7 Upgrade Physics2D and Physics3D 2021-05-25 10:40:07 +02:00
Jérôme Leclercq a52103a641 Rework ResourceLoader, ResourceManager and ObjectLibrary
They're no longer static
2021-05-25 10:40:07 +02:00
Jérôme Leclercq e716b44aa3 Add tests and SDK 2021-05-17 23:08:37 +02:00
Jérôme Leclercq 044195b209 Minor fixes 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 54c34869a4 Fix Shader unit tests 2021-04-20 18:18:27 +02:00
Jérôme Leclercq 65337c6a38 Fix a lot of warnings and some errors 2020-09-26 11:44:09 +02:00
Jérôme Leclercq 267bd74a97 Merge branch 'master' into nazara-next 2020-09-26 10:49:32 +02:00
Jérôme Leclercq 2b6a463a45 Remove Nz::String and Nz::StringStream 2020-09-25 19:31:01 +02:00
Jérôme Leclercq 602de2e772 Update Ray.cpp 2020-09-22 17:40:57 +02:00
Jérôme Leclercq 98e20ecbb7 Last modules fixes 2020-09-17 18:54:33 +02:00
Jérôme Leclercq 7ea0b223ec Linux fixes 2020-09-01 19:18:27 +02:00
Jérôme Leclercq 2a875c8bdc Remove Graphics module and fix compilation 2020-08-27 19:43:31 +02:00
Jérôme Leclercq 8fb7bb78a5 Add a shader generation unit test 2020-08-27 19:26:59 +02:00
Jérôme Leclercq e0a3cab457 Fix UnitTest compilation 2020-08-27 19:26:27 +02:00
Lynix 68208f5426 Merge branch 'master' into vulkan 2020-05-27 19:48:22 +02:00
Jérôme Leclercq 1425f99edf Merge branch 'master' into SDL2 2020-05-27 11:11:21 +02:00
Lynix 43ee75b75f Replace #include <NDK/ by #include <NazaraSDK/ 2020-02-24 17:57:46 +01:00
Lynix eb8800f812 Remove Lua and Noise modules 2020-02-24 17:52:06 +01:00
Lynix 3d22321109 Big f***ing cleanup part 1 2020-02-23 00:42:22 +01:00
Lynix aee9a38f76 Tests/StackVector: Disable max_size() check when using std::vector 2019-09-30 18:41:06 +02:00
Lynix 4e6eda40fb Core/StackVector: Add unit tests 2019-09-30 18:35:24 +02:00
Lynix 489e3e0b5e StackVector: Test destruction
Before this commit, only clear() was checked, destructor was not
2019-09-25 16:29:48 +02:00
Lynix acc2c072ba Core/StackVector: Fix erase method (+ add tests) 2019-09-25 16:17:07 +02:00
Lynix f5dc27ba03 Fix unit test 2019-07-07 00:32:57 +02:00
Lynix ab5188c57d Add scancode and virtual key and fix some sdl stuff on Windows 2019-05-19 16:34:29 +02:00
Lynix 2f5e9e481b Fix unit tests 2019-04-03 22:15:53 +02:00
Lynix 5b48012dee Fix unit test 2019-03-28 00:02:22 +01:00
Lynix 00ca0248c6 Fix unit tests (WIP) 2019-03-26 19:05:41 +01:00
Jérôme Leclercq ed46c87781 Refactor the way resources are loaded (#191)
* WIP

* WIP

* Font works

* WIP: Only Music remains

* Looks like it's working

* Fix oopsie

* Core/ObjectRef: Add cast functions

* Update ChangeLog.md

* Audio/SoundStream: Make sound stream thread-safe
2018-10-28 01:53:11 +02:00
Lynix 3933d5007d Physics2D/RigidBody2D: AddTorque now takes a RadianAnglesf instead of a float 2018-10-11 00:08:26 +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
Lynix dc6fbfc90f Replace floating point angle by Angle class instance 2018-10-09 23:20:53 +02:00
Lynix b631f3d3da Fix some units test 2018-09-05 22:42:34 +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 702b0cb7a4 Merge branch 'master' into 2d-angles 2018-09-05 15:58:44 +02:00
Jérôme Leclercq 97cdb110ae Unit test fixes 2018-09-05 15:15:26 +02:00
Jérôme Leclercq 9e0b61f30d Math/Angle: Add sine, cosine, tangent methods 2018-09-05 15:14:31 +02:00
Lynix f59810b68e Math: Add Angle class 2018-09-02 22:06:03 +02:00
Jérôme Leclercq 46e3de90ed Fix units tests :derp: 2018-08-02 15:49:29 +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 7da0fffe07 Core: Add StackVector class 2018-07-02 17:56:27 +02:00
S6066 da044bd21c Make lua binding for std::vector (#164)
* Make LuaImplQueryArg impl for std::vector

* Fix shadowed argument

* Make unit tests

* Bugfix

* Bugfix, for real this time

* We didn't need these tests anyway

* Revert "We didn't need these tests anyway"

This reverts commit be88d4496a9cf62beb4d3ce1f30825589a4bacb2.

* Add change to changelog

* Update ChangeLog.md

* Bugfix & use CallOnExit to pop stack
2018-06-17 19:04:15 +02:00
Lynix 31fc8c9dad Try to fix units tests on Linux 2018-04-07 13:10:55 +02:00
Lynix 830dae1b27 Core/HandledObject: Fix move assignement operator behavior
It will now unregister all previous handles (notifying about object destruction) before stealing moving object handles
2018-04-06 21:14:09 +02:00
Lynix 31c272ab98 Core/HandledObject: Fix move assignement operator 2018-04-03 22:05:35 +02:00
Lynix 3036c32d9d Core/Bitset: 2018-03-06 20:25:29 +01:00
Lynix 0063ca9950 Math/VectorI: Remove array constructor 2018-02-18 18:57:30 +01:00
Lynix 9bfcd02730 Fix unit tests 2018-02-12 20:18:51 +01:00
Jérôme Leclercq fb3eb9443e Core/Clock: Restart now returns the elapsed time in milliseconds 2018-02-07 15:02:44 +01:00
Gawaboumga dfd28160a0 Lua tests (#158)
* Fix float comparison in tests

* Lua tests
2018-01-31 15:27:23 +01:00
Lynix 234aa90f51 Fix unit tests 2018-01-07 03:50:35 +01:00
Gawaboumga f991a9529e General bug fixes (#142)
* Core/Bitset: Fix TestAll method

* Fix documentation

* Fix color and their conversions

* Core/ByteStream: Fix return of Write

* Fix compiler warnings

* Math/Algorithm: Fix angle normalization

* Math/BoundingVolume: Fix lerp

* Math: Fix relation between Matrix4 and Quaternion

* More tests

* X11/Window: Fix mouse moved event generated when doing Mouse::SetPosition

* Update ChangeLog

* Should fix compilation on Windows

* Should fix compilation on Windows

Forgot to include array for Windows
2017-11-21 12:16:46 +01:00
Lynix ee06fffd03 Fix StringStream tests 2017-10-15 14:54:28 +02:00
Gawaboumga bbac0838dd Include-What-You-Use (#137)
* IWYU Core

* IWYU Noise

* IWYU Utility

* IWYU Audio

* IWYU Platform

* IWYU Lua

* IWYU Network

* IWYU Physics2D

* IWYU Physics3D

* IWYU Renderer

* IWYU Graphics

* IWYU NDKServer

* IWYU Fix

* Try to fix compilation

* Other fixes
2017-10-01 11:17:09 +02:00
Lynix bccbc0dbf1 Move warning fixes! 2017-09-30 15:23:05 +02:00
Jérôme Leclercq 3153af485c Physics2D: Handle kinematic objects properly 2017-09-07 16:16:11 +02:00
Gawaboumga 5aa072cee3 New module: Platform - Split window management from Utility module (#128)
* New module: Platform - Split window management from Utility module

Final touch

* NDK/SDK: Bring back initialization of Utility
2017-08-30 10:22:50 +02:00
Gawaboumga 41a1b5d493 Physics2D tests (#129)
* Quaternion: Fix singularity on Z axis when converting to euler angles

* CollisionComponent2D: Add method to retrieve AABB

* Collider2D: Fix constructor for Box with Vector2

* Physics2D: Fix rotation (Chipmunk works with radian and Nazara degrees) and copy constructor of RigidBody2D

* Colider2D: Add New for convex and tests for the new classes
2017-08-20 21:47:23 +02:00
Jérôme Leclercq bc4a533b96 Core/ParameterList: Use double and long long instead of float and int 2017-05-29 19:55:02 +02:00
Lynix 999cb13f00 Fix test compilation 2017-05-16 09:19:37 +02:00
Lynix d8a2d08e27 UnitTest: Add some checks 2017-04-22 15:08:21 +02:00