Commit Graph

411 Commits

Author SHA1 Message Date
SirLynix a4b10749f7 C++20 fixes 2023-11-14 15:40:48 +01:00
Lynix e5789d1749 Switch Nazara to C++20 2023-11-14 14:24:28 +01:00
SirLynix 2ff2cd4a9c Build: Fix asan check 2023-11-12 12:13:14 +01:00
SirLynix 8fb6ea728d Graphics: Add data-driven pipeline passes
Fix compilation
2023-11-06 21:30:49 +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
SirLynix 929b599337 Graphics/ViewerData: Add near and far plane 2023-10-14 14:46:49 +02:00
SirLynix b09b4d2419 Graphics: Add a way to set which passes are enabled in a frame pipeline
This will be replaced soon with a better system
2023-10-08 23:44:24 +02:00
SirLynix e1ccb3187d Core/Color: Add ApproxEqual and make equality exact 2023-09-10 14:43:57 +02:00
SirLynix 21680171a2 Replace GetPlatformEndianness() by PlatformEndianness constexpr
from nazarautils
2023-09-08 09:13:04 +02:00
SirLynix aef8b01f15 Math/Box: Rename FromExtends to FromExtents 2023-09-08 09:06:26 +02:00
SirLynix 557da10dc6 Rework TextDrawer interface 2023-08-24 17:47:20 +02:00
Lynix 216686e7c1 Add support for static compilation on all platforms 2023-08-22 08:17:03 +02:00
SirLynix 03e63cb664 Fix WebRequestTest once for all 2023-08-17 18:31:12 +02:00
SirLynix 6537864abd Fix WebRequest test (in case headers are lowercased) 2023-08-17 18:18:33 +02:00
SirLynix acf0c35e0c Add WebRequest test 2023-08-17 18:05:25 +02:00
SirLynix ab8bac2575 Use fmt store instead of ToString fallback
Thanks to @jonathanpoelen for the idea
2023-08-15 01:10:01 +02:00
SirLynix a741672a51 Allow error message to be formatted 2023-08-15 01:10:01 +02:00
SirLynix 25957c4b7f PresentModeTest: Try to make screen tearing more visible 2023-08-15 00:30:12 +02:00
SirLynix e8620894f7 Renderer: Expose present mode and allow to query/set it 2023-08-13 18:16:03 +02:00
SirLynix 5a299da930 Fix unit tests 2023-08-12 14:43:59 +02:00
SirLynix 4642ea778c ChipmunkPhysics2D/PhysicsSystem: Add query functions wrappers 2023-08-10 12:05:31 +02:00
SirLynix 5484967498 ChipmunkPhysics2D/RigidBody2D: Add unique body index and remove userdata 2023-08-10 08:40:21 +02:00
SirLynix cf6fdf258f Graphics: Add new functions to get default material types/presets 2023-08-08 18:17:58 +02:00
SirLynix 32f8141bd8 ChipmunkPhysics2D: Rework RigidBody2D 2023-08-07 18:17:00 +02:00
SirLynix 888d273695 Tests/ComputeParticlesTest: Fix mapping with OpenGL 2023-08-06 10:14:30 +02:00
SirLynix 31dd74c503 Fix test compilation on macOS
Parallel algorithms are not implemented on macOS
2023-08-04 18:02:16 +02:00
SirLynix b418ed6a32 Tests/ComputeParticlesTest: Change behavior when pressing space
And try to minimize hang by multithreading particle update
2023-08-04 16:42:54 +02:00
SirLynix e2808192aa Minor fixes 2023-07-30 19:46:01 +02:00
SirLynix 218b75558a Core: Add CommandLineParameters 2023-07-30 11:46:55 +02:00
SirLynix b191dacc58 Reenable unit tests in release mode 2023-07-30 10:55:38 +02:00
SirLynix a06769ab2c ComputeParticlesTest: Press key to explode logo 2023-07-27 15:10:14 +02:00
SirLynix cb485cb20b ComputeParticlesTest: Improve demo 2023-07-23 11:11:53 +02:00
SirLynix 1d3190ac24 ComputeParticlesTest: Improve test to actually use Nazara logo 2023-07-21 18:30:47 +02:00
SirLynix d94d5415a3 Add compute shaders as filegroup on VS 2023-07-21 12:12:10 +02:00
SirLynix e3da81dff4 ComputeTest: Fix Vulkan error 2023-07-21 12:12:10 +02:00
SirLynix dee47c6f15 Renderer: Fix BuildMipmaps 2023-07-21 12:12:10 +02:00
SirLynix 4db5b59ec9 Renderer: Refactor transient resources (allow access at any time) 2023-07-21 12:12:10 +02:00
SirLynix de68033a0e Update ComputeParticlesTest 2023-07-21 12:12:10 +02:00
SirLynix e34ba8c05d Add ComputeParticlesTest
Renderer: Add a way to execute commands on the device
2023-07-21 12:12:10 +02:00
SirLynix f2bc1bff7a Update for latest nazarautils update 2023-07-17 19:05:15 +02:00
SirLynix 602361e8e1 Core/Time: Add support for AsSeconds<integer> 2023-06-28 07:04:20 +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 4494249dc1 UnitTests/Plane: Fix tests (since plane distance was reversed) 2023-06-23 13:23:45 +02:00
SirLynix b2538028b4 Math/Plane: Rename Distance method to SignedDistance 2023-06-22 17:56:18 +02:00
SirLynix 091a50715e UnitTests: Move number <=> string tests 2023-06-06 18:40:01 +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 0c7efa05e2 Fix a bunch of warnings 2023-05-30 12:34:38 +02:00
SirLynix 741dc6b7e8 Math/Box: Add ScaleAroundCenter 2023-05-16 15:43:05 +02:00
SirLynix f1cd5ad048 Fix ShaderNode compilation 2023-05-14 18:51:46 +02:00
SirLynix 9aeaaa9495 Core/Application: Fix updater elapsed time 2023-05-06 15:44:52 +02:00
SirLynix 3e4f32140e Core/ApplicationBase: Fix elapsedTime in updaters for non-fixed intervals 2023-05-01 18:03:01 +02:00
SirLynix de5e7bd8a8 Core/ApplicationBase: Add support for updaters with intervals 2023-04-23 19:45:33 +02:00
SirLynix 26b23ccce6 Rename Physics2D to ChipmunkPhysics2D 2023-04-10 17:12:23 +02:00
SirLynix bd4c2d6ee7 Rename Physics3D to BulletPhysics3D 2023-04-10 17:12:23 +02:00
SirLynix 55f2937678 Graphics/GraphicalMesh: Add AABB 2023-03-09 17:50:38 +01:00
SirLynix 36dd245564 Core: Rework VirtualDirectory to allow custom directory resolving 2023-03-03 13:21:48 +01:00
SirLynix 5a57aca66a Last changes 2023-02-02 20:34:25 +01:00
SirLynix cee75dcc11 Merge fixes 2023-02-02 20:34:25 +01:00
SirLynix 292ca60592 WIP 2023-02-02 20:34:25 +01:00
SirLynix ea5c5240fc Improve emscripten support 2023-02-02 20:34:25 +01:00
REMqb f172330aaf ~ WIP port emscripen (WebGL) 2023-02-02 20:34:25 +01:00
SirLynix 88a0bf95ca Utility/ImageStream: Use Time class instead of UInt64 for frametime 2023-02-02 13:27:21 +01:00
SirLynix 4a91f3d470 Renderer: Make WindowSwapchain a RenderTarget
To make it easier to handle window re-creation
2023-01-29 10:38:35 +01:00
SirLynix c216780fe9 Tests: Fix headers 2023-01-22 12:37:58 +01:00
SirLynix 4668a1d158 Update examples and tests code 2023-01-22 12:37:58 +01:00
SirLynix 18851c9185 Replace RenderWindow with swapchains 2023-01-22 12:37:58 +01:00
SirLynix 6ac94bdf4a Tests/ComputeTest: Reload pipeline on main thread 2023-01-01 19:49:46 +01:00
SirLynix 8555b3d6ef ComputeTest: Handle hot-reload compilation errors 2022-12-29 21:49:37 +01:00
Jérôme Leclercq dd421a6385
Replace float/UInt64 durations by a more precise Time class (#388)
Improve Clock class with atomic RestartIfOver method and allows to choose required precision
2022-12-29 21:31:46 +01:00
SirLynix 9a553e5e9d Core: Make Color constexpr 2022-12-29 12:13:00 +01:00
SirLynix 3d88746060 Move unit tests to the unittests asset folder 2022-12-29 12:07:52 +01:00
SirLynix 98f2feecc7 Tests/ComputeTest: Load shader from file (and support hot-reload) 2022-12-29 12:04:11 +01:00
SirLynix 4b804dc613 Move ComputeTest,GraphicsTest,RenderTest and Std140Debug to the tests folder
Also renamed NazaraUnitTests to UnitTests
2022-12-26 08:44:11 +01:00
SirLynix fd29d8d031 Add a yield to make TCPTest more resilient 2022-12-18 17:19:40 +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
Lynix 71c5133c7a XMake: Use new syntax 2022-11-13 13:05:45 +01:00
SirLynix 0a8048809c XMake: simplifies option syntax 2022-10-10 08:49:52 +02:00
SirLynix 364d1bafb4 Math: Add support for Turn angles 2022-09-26 19:09:30 +02:00
SirLynix 6bf4ccaae1 Core/ParameterList: Rework Parameter getter using Result 2022-09-09 13:47:06 +02:00
SirLynix 481702c109 Tests: Update Catch2 to 3.x 2022-08-01 18:05:33 +02:00
SirLynix 1e1dc3ebce Build: Don't install private headers 2022-07-27 18:11:00 +02:00
SirLynix e63bb072da Install private header files to a private folder
until xmake supports https://github.com/xmake-io/xmake/issues/2577
2022-07-18 08:47:57 +02:00
SirLynix 2229dfd6e5 Core/VirtualDirectory: Handle physical directories as virtual directories 2022-07-07 08:50:03 +02:00
SirLynix 5507b98f2f Remove assets from repository and download them using xmake 2022-05-27 08:34:36 +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 dd4be081aa Core/VirtualDirectory: Add Uproot property 2022-05-14 10:22:22 +02:00
SirLynix 6dc2cefc2c Add some missing includes 2022-05-09 09:00:17 +02:00
Lynix df55a02fa7 Core/VirtualDirectory: Add GetFileContent method 2022-05-08 15:50:59 +02:00
SirLynix 95dc7aa15c Try to fix MusicTest 2022-05-07 15:31:07 +02:00
SirLynix 21a38fb31b Audio: Add some fixes and tests 2022-05-06 12:41:02 +02:00
SirLynix 8db95b445b UnitTests: Add GIF decoding tests 2022-04-27 18:24:00 +02:00
SirLynix e7274b24e9 Core/Color: Switch formal from RGBA8 to RGBA32F 2022-04-23 16:08:15 +02:00
SirLynix a10682628d Warning fixes 2022-04-23 12:25:54 +02:00
SirLynix c209552f81 Math/Matrix4: Rework "transform matrix" support 2022-04-19 18:32:16 +02:00
SirLynix 02ffbcc50b Shader: Fix scoping on unrolled for-each 2022-04-19 18:32:16 +02:00
SirLynix 138f2b88b3 Fix buffering issues 2022-04-19 13:38:44 +02:00
Lynix d9ab6720d8 Add buffering test to spot errors 2022-04-18 23:14:48 +02:00