Commit Graph

387 Commits

Author SHA1 Message Date
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
SirLynix 8784ec9b47 Add shader compiler (nzslc) and use it 2022-04-06 09:04:09 +02:00
SirLynix aa43db956c Shader: Fixes some errors and add unit tests 2022-04-02 16:07:13 +02:00
SirLynix 52d0c5b0bc UnitTests/Shader: Add intrinsic tests 2022-04-01 18:19:50 +02:00
SirLynix a4bca0f169 Shader: Add lexer tests 2022-03-31 13:34:43 +02:00
Jérôme Leclercq a54f70fd24 Shader: Fix parsing of unary/dot/indices/and/or 2022-03-21 23:11:28 +01:00
Jérôme Leclercq 4fa3de519c Adjust sound unit tests 2022-03-20 19:41:46 +01:00
Lynix cf5e4b72e1 Core/StringExt: Add overloads of EndsWith 2022-03-19 14:19:52 +01:00
Lynix dc24ff33a4 Audio: Add sound stream test 2022-03-19 12:36:55 +01:00
Lynix 45f0825a6e Audio: Final fixes 2022-03-19 12:16:52 +01:00
Jérôme Leclercq 82641c6653 Audio: Add dummy device (in case OpenAL fails to load) and unifiate unit tests 2022-03-18 19:03:57 +01:00
Jérôme Leclercq 615509d1ba Add support for shader hotreloading 2022-03-17 21:36:36 +01:00
Jérôme Leclercq 6165b3a101 Audio: Rewrite audio module 2022-03-17 18:15:53 +01:00
Jérôme Leclercq 0f55779a8a Fix compilation 2022-03-15 12:44:21 +01:00
Jérôme Leclercq 0a4fd8f56d Enable unity build on modules that support it 2022-03-15 12:44:21 +01:00
Jérôme Leclercq bf44672354 Shader: Add support for exported functions 2022-03-14 18:30:55 +01:00
Jérôme Leclercq e9543b20a2 Shader: Fix function calls with OpenGL 2022-03-14 18:30:55 +01:00
Jérôme Leclercq e40e8eb204 Shader: Change module system (no longer based on path) 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 80f9556f8c Shader/LangWriter: Make LangWriter able to output AST before sanitization as well 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 5a9a55ee7e Shader/MultiStatement: Remove sectionName 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 33554cf5a0 Shader: Remove struct and functions that aren't required 2022-03-14 18:30:55 +01:00
Jérôme Leclercq 3d4271706a Core/VirtualDirectory: Fix some bugs and add more tests 2022-03-14 18:30:55 +01:00
Jérôme Leclercq db98b86eaf Core: Rewrite VirtualDirectory class and add more tests 2022-03-14 18:30:55 +01:00
Jérôme Leclercq db0c1e6e8c Shader: Add module resolver + use modules for engine shaders 2022-03-14 18:30:55 +01:00
Jérôme Leclercq bf7f06ac4c Shader: Fix shader serialization 2022-03-14 18:30:55 +01:00