SirLynix
97fa4d98be
Rework EnTT integration
...
- Update EnTT to 3.11.1
- Moved EnTT wrapper to EnTTWorld, inheriting EntityWorld
- AppEntitySystemComponent can now handles multiple EntityWorld
- Headers relying on EnTT are now automatically included if NAZARA_ENTT is defined
- Renamed SystemGraph to EnttSystemGraph (as it depends on it for now)
2023-01-28 19:28:43 +01:00
SirLynix
d27ca55943
Core/AppFilesystemComponent: Add support for default resource parameters
2023-01-28 11:27:49 +01:00
SirLynix
ca0c4a5db7
Core: Add AppFilesystemComponent
2023-01-22 18:00:26 +01:00
SirLynix
f98cbcd00a
Copyright year update
2023-01-22 17:41:18 +01:00
SirLynix
2b7ff9274c
Core/Application: Add updaters
2023-01-22 12:37:58 +01:00
SirLynix
a71d4885f9
Core/Application: Accept module configuration
2023-01-22 12:37:58 +01:00
SirLynix
d3c05c9ade
Update globalheaders and fix includes/header guards
2023-01-22 12:37:58 +01:00
SirLynix
da9eb14ebe
Handle windows and EnTT with application components
2023-01-22 12:37:58 +01:00
SirLynix
18851c9185
Replace RenderWindow with swapchains
2023-01-22 12:37:58 +01:00
Lynix
8db1c04568
Make Application template and responsible for modules init
2023-01-22 12:37:58 +01:00
SirLynix
04bfa97579
Add Application base classes (WIP)
2023-01-22 12:37:58 +01:00
SirLynix
ba3f26d074
Minor fixes
2023-01-21 19:10:51 +01:00
SirLynix
a1480fc2db
Graphics: Fix text atlas resizing
2023-01-21 19:10:40 +01:00
Lynix
cc1246dcac
VulkanRenderer: Fix 32bits compilation
2023-01-02 22:11:00 +01:00
SirLynix
a8b6d9cb42
Renderer/RenderFrame: Use FunctionRef instead of std::function to avoid allocations
2023-01-01 19:48:51 +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
2243d0b1a7
Move free operator overloads inside Nz namespace
2022-12-29 12:15:22 +01:00
SirLynix
763bef3fdd
Core: Make Uuid constexpr
2022-12-29 12:13:18 +01:00
SirLynix
9a553e5e9d
Core: Make Color constexpr
2022-12-29 12:13:00 +01:00
SirLynix
fe8715f1fb
Renderer: Working compute implementation
2022-12-25 19:19:16 +01:00
SirLynix
4605eed0da
Add compute demo (WIP) + fixes creation of compute pipelines
2022-12-25 19:19:16 +01:00
SirLynix
9578ba3ef5
Add initial support for compute pipelines
2022-12-25 19:19:16 +01:00
SirLynix
e4064997d8
Renderer: Split OpenGL and OpenGL ES in two RenderAPI enums
2022-12-25 16:11:28 +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
627b7a1972
Graphics/Light: Fix warning in release
2022-12-18 15:04:01 +01:00
SirLynix
3c86b84e13
Graphics: Rework tilemap class (and fix its AABB)
2022-12-18 14:57:40 +01:00
SirLynix
830eee78a8
Math: Rework Box and Rect classes
2022-12-18 14:57:14 +01:00
SirLynix
d4422c4102
Graphics: Add origin to all sprite-based renderables (and made it a factor)
2022-12-17 14:48:50 +01:00
Jérôme Leclercq
0537be3201
Graphics/Sprite: Fix SetTextureRect
2022-12-14 09:53:23 +01:00
SirLynix
8b101114d1
Minor fixes
2022-12-08 19:20:54 +01:00
SirLynix
f8238a6e6c
Graphics: Implement point-light shadow-mapping
2022-12-08 18:17:13 +01:00
SirLynix
39f206d60e
Fix rebase error
2022-12-08 18:17:13 +01:00
SirLynix
5a57976b4b
Graphics/FrameGraph: Add support for cubemap and slice rendering
2022-12-08 18:17:13 +01:00
SirLynix
4ae3f51174
VulkanRenderer: Fix views and arrays support
2022-12-08 18:17:13 +01:00
SirLynix
56acbb2694
Renderer: Improve texture view support (and support emulation for OGL)
2022-12-08 18:17:13 +01:00
SirLynix
08ea4c87a7
Improve texture view support
2022-12-08 18:17:13 +01:00
SirLynix
42f8cdb151
Add initial support for texture views
2022-12-08 18:17:13 +01:00
SirLynix
902dee6121
Renderer/TextureInfo: Separate layerCount from size
2022-12-08 18:17:13 +01:00
SirLynix
1768f20365
Graphics: Move shadow-mapping related code to LightShadow classes
2022-12-08 18:17:13 +01:00
SirLynix
ec3bc45544
Graphics/LightComponent: Replace AttachLight with AddLight
2022-12-08 18:17:13 +01:00
SirLynix
d7eab778fb
Graphics/FrameGraph: Add FramePassAttachmentSize enum instead of boolean
2022-12-08 18:17:13 +01:00
SirLynix
f580ba523d
Graphics: Send shadow map res to shader
2022-12-08 18:17:13 +01:00
SirLynix
3623f4ccc4
Add support for moving shadow-casting lights
2022-12-08 18:17:13 +01:00
SirLynix
a5d4b8f28d
Renderer/DebugDrawer: Add support for Frustum
2022-12-08 18:17:13 +01:00
SirLynix
6ef4c14772
Renderer: Change binding members order
2022-12-08 18:17:13 +01:00
SirLynix
e990a320cc
WIP
2022-12-08 18:17:13 +01:00
SirLynix
4a10c1f8fe
Add shadow mapping (wip)
2022-12-08 18:17:13 +01:00
SirLynix
b79718404c
Fix OpenAL extensions functions
2022-12-06 12:54:22 +01:00
Jérôme Leclercq
346fbdda05
Remove wrongly committed file
2022-12-06 09:14:15 +01:00
SirLynix
75bbc5df09
Minor fixes
2022-12-06 09:07:18 +01:00
SirLynix
f2c83df8ff
OpenGLRenderer: Print GL call and parameters on failure
2022-12-06 07:53:32 +01:00
SirLynix
ccf77ac459
OpenGLRenderer: Setup draw buffers only once
2022-12-06 07:49:41 +01:00
SirLynix
2dd0e7d9c8
Audio: Add an option to directly link OpenAL
2022-12-06 07:48:03 +01:00
SirLynix
98cf8b3d33
Fix compilation
2022-12-03 11:48:58 +01:00
SirLynix
77642cf431
Renderer: Implement and use debug names
2022-12-02 22:46:43 +01:00
Lynix
02387b8fe3
Graphics: Add Tilemap
2022-11-25 19:28:22 +01:00
SirLynix
85b7e06ae8
Fix some additional warnings
2022-11-19 13:44:33 +01:00
SirLynix
5ca2cf9320
Fix a bunch of warnings
2022-11-19 11:02:16 +01:00
SirLynix
842e797cc4
Fix a bunch of warnings
2022-11-13 16:12:49 +01:00
SirLynix
640d877761
Forgot this file
2022-11-07 02:16:47 +01:00
SirLynix
ad1f3bc321
Graphics/Graphics: Add preferred depth format
2022-11-06 23:45:37 +01:00
Lynix
0133a91c4d
OpenGLRenderer: Fix FBO clearing when scissor is enabled
2022-11-06 15:31:55 +01:00
SirLynix
45d4195527
Math/Box|Rect: Fix Intersect method with zero-sized boxes
2022-11-05 00:49:38 +01:00
SirLynix
fe0d70d9e1
Graphics/MaterialInstance: Add LoadFrom*
2022-11-05 00:28:33 +01:00
SirLynix
1205155466
Graphics/Material: Rename CreateInstance to Instantiate
2022-11-05 00:14:16 +01:00
SirLynix
6b8be23fa0
Switch index/vertex count to UInt32
2022-10-31 19:54:25 +01:00
Jérôme Leclercq
dc6ce8427c
Refactor material system ( #382 )
2022-10-31 19:53:41 +01:00
SirLynix
364d1bafb4
Math: Add support for Turn angles
2022-09-26 19:09:30 +02:00
SirLynix
6372f9cad8
Fix compilation
2022-09-24 16:02:32 +02:00
SirLynix
6d0b53b39e
Core: Rework HardwareInfo
2022-09-24 15:52:29 +02:00
SirLynix
9cd7976a91
Remove "MemoryManager" and very old code
2022-09-24 14:25:52 +02:00
SirLynix
6bf4ccaae1
Core/ParameterList: Rework Parameter getter using Result
2022-09-09 13:47:06 +02:00
SirLynix
e063c7b45e
Network/ENet: Add DisconnectTimeout event
2022-09-09 12:56:50 +02:00
SirLynix
99c9df5731
Graphics: Add default materials
2022-09-08 08:57:11 +02:00
SirLynix
fbdc1faf8c
Graphics: Add TextureLoader
2022-09-07 13:31:21 +02:00
SirLynix
47cb878f9d
Major ResourceLoader rework (using Nz::Result)
2022-09-07 13:31:04 +02:00
SirLynix
131faa4fbd
OpenGLRenderer: Take advantage of glClipControl if available
2022-09-06 13:01:44 +02:00
SirLynix
359c176b03
Network/ENetHost: Expose AllocatePacket
2022-09-01 20:21:27 +02:00
SirLynix
25f44a624a
Fix compilation
2022-08-30 19:45:05 +02:00
SirLynix
04d2f4a6c2
Graphics/MaterialPipeline: Rework GetRenderPipeline
...
Decrease the need for memory allocations in most cases (especially for sprites)
2022-08-30 19:29:23 +02:00
SirLynix
017a6c7af3
Graphics: Use memory pools for render elements
2022-08-30 19:27:52 +02:00
SirLynix
7949c57f16
Utility: Add a better way to attach objects to joints
2022-08-30 18:31:04 +02:00
Lynix
45c947faf1
Core/PoolByteStream: Fix pool returning on Reset
2022-08-28 17:54:49 +02:00
SirLynix
50ed8b4028
Add initial support for skeletal entities / components
2022-08-27 03:07:48 +02:00
SirLynix
642d043fd8
Fix MinGW compilation
2022-08-25 12:59:01 +02:00
SirLynix
9e56592211
Skeleton: Fix method name
2022-08-25 12:59:01 +02:00
SirLynix
133caac5b5
Minor fixes
2022-08-25 12:59:01 +02:00
SirLynix
8d39441bd1
Utility/Skeleton: Add GetRootJoint method
2022-08-25 12:59:01 +02:00
SirLynix
7ada266917
Graphics: Add PredefinedSkeletalData
2022-08-25 12:59:01 +02:00
SirLynix
987c23c3ef
Fix link issues
2022-08-25 12:59:01 +02:00
SirLynix
3a366cc1e4
Core: Rewrite plugin system
2022-08-25 12:59:01 +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
a7ab2fbaf4
Utility: Replace Skin* by SkinLinearBlend function
2022-08-25 12:59:01 +02:00
SirLynix
e5e3026005
Push current work
2022-08-25 12:59:01 +02:00
SirLynix
104f60f3e7
Add support for GPU skinning (WIP)
2022-08-25 12:59:01 +02:00
SirLynix
507a4f16be
Fix compilation
2022-08-17 20:22:49 +02:00
SirLynix
c669c68533
Minor fixes
2022-08-17 20:13:00 +02:00
SirLynix
f1549b934c
Graphics: Add DebugDrawer support
2022-08-17 20:12:49 +02:00
SirLynix
4a5f866754
Renderer: Add DebugDrawer
2022-08-17 20:11:06 +02:00
SirLynix
099528758c
OpenGLRenderer: Fix explicit texture/block binding (fixes GLSL ES 3.0 support)
2022-08-12 23:01:58 +02:00
SirLynix
a108e6ce65
VulkanRenderer: Update headers and VMA
2022-08-10 00:24:13 +02:00
SirLynix
117f7c2a4b
Renderer: Allow to enable or disable API validation layers using config
2022-08-10 00:04:46 +02:00
SirLynix
38e32025e9
Add a way to embed renderer backends code into NazaraRenderer
2022-08-07 20:19:04 +02:00
SirLynix
09d21b4a45
Fix usage from C++20
2022-08-03 20:11:25 +02:00
SirLynix
27dab13484
Fix BoxLayout
2022-08-02 08:13:17 +02:00
SirLynix
caa9d4c11e
Remove ProgressBarWidget for now
2022-08-02 08:13:17 +02:00
SirLynix
e51695274c
Widgets: Fix ScrollAreaWidget
2022-08-02 08:13:17 +02:00
SirLynix
0fcf24f336
Widgets: Rework event dispatching
2022-08-02 08:13:17 +02:00
SirLynix
05c78da22a
WIP
2022-08-02 08:13:17 +02:00
Lynix
c728e0cf5d
Add initial support for PBR material data
2022-07-19 20:02:40 +02:00
Lynix
ad8b46db38
Rename Diffuse to BaseColor
2022-07-19 20:02:01 +02:00
SirLynix
ccd7885213
Fix compilation
2022-07-18 22:04:44 +02:00
SirLynix
3e21b4bea6
Add PBR rendering (WIP)
2022-07-18 22:04:44 +02:00
SirLynix
96599d1116
Graphics: Add LinearSlicedSprite class
2022-07-12 08:45:02 +02:00
SirLynix
6203d5f0d1
Graphics/SlicedSprite: Fix GetTopLeftCorner linking
2022-07-12 08:44:43 +02:00
SirLynix
3507ec570f
Network: Fix ENetPacket
2022-07-07 08:50:18 +02:00
SirLynix
2229dfd6e5
Core/VirtualDirectory: Handle physical directories as virtual directories
2022-07-07 08:50:03 +02:00
SirLynix
e7f4714747
Core/SystemGraph: Fix GetSystem
2022-07-07 08:45:02 +02:00
SirLynix
1b678defae
Add system graph (wip)
2022-07-02 19:45:50 +02:00
SirLynix
4d24be2ae9
Utility/NodeComponent: Use entt::handle for SetParent
2022-07-02 19:45:33 +02:00
SirLynix
d5f70279a1
Utility: Add velocity component and system
2022-07-02 19:43:58 +02:00
SirLynix
99b4397d78
Core: Add Lifetime component and system
2022-07-02 19:43:02 +02:00
SirLynix
a61ebb7806
OpenGLRenderer: enable GL_TEXTURE_CUBE_MAP_SEAMLESS on OpenGL
...
to match other API behavior
2022-07-02 19:28:20 +02:00
SirLynix
093d9d344e
Renderer: Add support for storage buffers
2022-06-17 20:15:16 +02:00
SirLynix
6f18a02999
Add fullscreen vertex shader module
2022-06-16 19:26:57 +02:00
SirLynix
62ba4f172b
Graphics/GraphicalMesh: Allow to update submeshes
2022-06-16 18:19:48 +02:00
SirLynix
8e8bee7037
Temp fix for NZSL update
2022-06-15 20:26:14 +02:00
SirLynix
16922a9519
Audio/Music: Fix datarace
2022-06-07 20:18:26 +02:00
SirLynix
c7b6d83bbc
Last nzsl version update
2022-06-07 20:18:16 +02:00
SirLynix
d335c5d73c
Add FFmpeg plugin
2022-05-27 18:53:16 +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
SirLynix
3f8f1c4653
Core/TypeList: Improve ListConcat compile-time
...
seriously I have no idea why I implemented it like that
2022-05-19 09:04:06 +02:00
Lynix
0e82c2893a
Core/VirtualDirectory: Prevent storing . and .. entries
2022-05-16 21:32:59 +02:00
Lynix
52f822fbcb
Math/Matrix4: Add TransformInverse(translation, rotation, scale)
2022-05-15 22:29:20 +02:00
Lynix
dd4be081aa
Core/VirtualDirectory: Add Uproot property
2022-05-14 10:22:22 +02:00
SirLynix
b6ab3ba1b3
Graphics: Add light type
2022-05-12 23:09:40 +02:00
SirLynix
5544d336ab
Shader: Fix index remapping when importing a text shader in a precompiled shader
2022-05-12 23:08:21 +02:00
SirLynix
6469ab5fde
Utility: Refactor some algorithms
2022-05-12 18:15:20 +02:00
SirLynix
7c2b8e0576
Core/File: Add WriteWhole static function
2022-05-12 18:11:41 +02:00
SirLynix
b0ecb64f19
OpenGLRenderer: Fix loading of glSpecializeShader
2022-05-09 13:19:31 +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
Lynix
5f389ef0a4
Core/File: Add ReadWhole
2022-05-08 15:50:29 +02:00
Lynix
17b1c2407d
Audio/AudioSource: Add GetSampleOffsetAndLatency
2022-05-08 15:44:41 +02:00
SirLynix
41712a3f18
Minor fixes
2022-05-08 13:21:20 +02:00
SirLynix
4794073b73
Audio: Add support for AL_SOFT_source_latency
2022-05-08 13:20:55 +02:00
SirLynix
81085508ec
Minor fixes
2022-05-05 20:20:44 +02:00
SirLynix
973b589b08
Shader: Fix conditional statement handling in partial compilation mode
2022-05-05 20:19:27 +02:00