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
Jérôme Leclercq
39a2992791
Shader: Minor module fixes
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
da40a2db28
UnitTests: Add shader module tests
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
e8fceeb2f5
UnitTests: Rename shader tests files
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
05cf98477e
Shader: Add proper support for alias
2022-03-14 18:30:55 +01:00
Lynix
83d26e209e
WIP2
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
012712b8d0
WIP
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
d72ac9cc73
Core/Uuid: Add FromString builder method
2022-03-14 18:30:55 +01:00
Lynix
8dcce73738
Fix after rebase
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
a7acf32886
Shader: Replace indices-based option keys by CRC32
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
505d996c88
Core: Add constexpr CRC32 function
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
1919bd3302
Fix compilation
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
3e556a72b6
Build: Add usepch option to use precompiled headers
2022-03-09 20:06:38 +01:00
Jérôme Leclercq
4a8ebf869b
Minor fixes
2022-03-09 20:05:33 +01:00
Jérôme Leclercq
f90888261f
UnitTests/Shader: Add serialization unit tests
2022-03-06 13:19:47 +01:00
Jérôme Leclercq
95742b6ba3
Update UuidTest.cpp
2022-03-05 00:44:54 +01:00
Jérôme Leclercq
72b664f42c
Core: Add Uuid class
2022-03-04 20:40:41 +01:00
Jérôme Leclercq
142f15d538
Fix dependency checker and add unit test
2022-02-28 13:28:59 +01:00
Jérôme Leclercq
d827477de2
UnitTests/TCPTest: Don't use a random port
2022-02-24 13:03:30 +01:00
Jérôme Leclercq
05e56d627d
Improve unit tests
2022-02-24 12:56:53 +01:00
Jérôme Leclercq
7dbaed9aa5
Network: Fix minor issues with IP address parsing and add tests
2022-02-24 12:38:08 +01:00
Jérôme Leclercq
86cc814f1b
Utility/GuillotineImageAtlas: Add max layer size
2022-02-23 23:48:58 +01:00
Jérôme Leclercq
6c318b915f
Tests/Utility: Add font loading test
2022-02-23 13:20:20 +01:00
Jérôme Leclercq
7ece44b4f4
Shader: Rename Optimize to ConstantPropagation
2022-02-22 13:28:01 +01:00