SirLynix
b2538028b4
Math/Plane: Rename Distance method to SignedDistance
2023-06-22 17:56:18 +02:00
SirLynix
21503ffaa7
Graphics/MaterialPipeline: Use FixedVector instead of std::vector
2023-06-05 18:05:41 +02:00
SirLynix
2886a2e0c0
Rename EnumMap to EnumArray after nazarautils update
2023-05-30 13:49:19 +02:00
SirLynix
cff918f6a3
Graphics/ForwardFramePipeline: Fix unregister + register the same renderable pointer not invalidating rendering
...
This can happen with ECS components which are mostly stable in memory, when destroying a graphics entity and recreating it (even with a different mesh) its pointer may not change due to memory recycling, especially on simple scenes.
A UInt8 generation counter helps prevents this
2023-05-30 13:34:41 +02:00
SirLynix
dfe6b2ddcf
Make use of the new EnumMap class
2023-05-30 12:32:37 +02:00
SirLynix
aa441354ec
Graphics/GraphicsComponent: Fix GetAABB
2023-05-20 21:31:49 +02:00
SirLynix
bbbd3f88c1
Core: Add DisabledComponent (to temporary disable an entity)
2023-05-07 22:43:48 +02:00
SirLynix
5e5a740f24
Graphics: Add non-const GetShaderModuleResolver
2023-05-01 18:44:01 +02:00
SirLynix
dcc23ef7c2
Graphics/Tilemap: Fix layer update when enabling tiles
...
Thanks to @jube for noticing!
2023-05-01 10:37:14 +02:00
SirLynix
97f1c2c56c
Refactor xmake.lua and make some warnings as errors
2023-04-30 21:11:30 +02:00
SirLynix
3cf50221c5
Graphics/GraphicsComponent: Add constructor taking an instanced renderable
2023-04-05 08:51:58 +02:00
SirLynix
0656b388bc
Graphics/GraphicsComponent: Add GetAABB method
2023-04-04 08:25:30 +02:00
SirLynix
6fd90d63ef
Fix check-files
2023-03-21 13:21:49 +01:00
SirLynix
9b4d297c04
Update includes for new NazaraUtils version
2023-03-19 13:01:56 +01:00
SirLynix
88b6ff63b7
Graphics/AbstractViewer: Add Project & Unproject methods
2023-03-14 18:07:03 +01:00
SirLynix
488f3ca6ef
Minor fixes
2023-03-14 18:06:14 +01:00
SirLynix
99c8027fd0
Remove .inl inclusion of their .hpp files
...
It has no real purpose and is breaking Clang parsing
2023-03-10 13:33:10 +01:00
SirLynix
3edffa8399
Graphics/MaterialInstance: Add UpdatePassesStates
2023-03-09 17:51:03 +01:00
SirLynix
55f2937678
Graphics/GraphicalMesh: Add AABB
2023-03-09 17:50:38 +01:00
SirLynix
a96722d4ec
Graphics/Tilemap: Fix UpdateAABB warning
2023-03-09 17:49:25 +01:00
SirLynix
d7dda716fe
Warning fixes
2023-03-05 18:01:20 +01:00
SirLynix
36d7e98299
Graphics/PointLight: Fix bounding volume
2023-02-26 19:04:52 +01:00
SirLynix
7f06d8db2b
Graphics: Fix render queue keys
...
I have no idea how I messed this up
2023-02-26 18:51:59 +01:00
SirLynix
2e8ea0e887
Graphics/TextSprite: Fix outline showing up over glyphs
2023-02-22 19:12:15 +01:00
SirLynix
e96204a2ab
Graphics/AbstractViewer: Set virtual destructor
2023-02-15 16:33:02 +01:00
SirLynix
3f200edeb6
Graphics: Set default render mask for LightComponent and GraphicsComponent
2023-01-29 11:38:08 +01:00
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
f98cbcd00a
Copyright year update
2023-01-22 17:41:18 +01:00
SirLynix
18851c9185
Replace RenderWindow with swapchains
2023-01-22 12:37:58 +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
9578ba3ef5
Add initial support for compute pipelines
2022-12-25 19:19:16 +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
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
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
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
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
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
Jérôme Leclercq
dc6ce8427c
Refactor material system ( #382 )
2022-10-31 19:53:41 +01:00
SirLynix
9cd7976a91
Remove "MemoryManager" and very old code
2022-09-24 14:25:52 +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
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
50ed8b4028
Add initial support for skeletal entities / components
2022-08-27 03:07:48 +02:00
SirLynix
7ada266917
Graphics: Add PredefinedSkeletalData
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
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
1b678defae
Add system graph (wip)
2022-07-02 19:45:50 +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
c7b6d83bbc
Last nzsl version update
2022-06-07 20:18: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
b6ab3ba1b3
Graphics: Add light type
2022-05-12 23:09:40 +02:00
SirLynix
c209552f81
Math/Matrix4: Rework "transform matrix" support
2022-04-19 18:32:16 +02:00
SirLynix
f9d4451b4a
OCD fix
2022-04-19 18:32:16 +02:00
SirLynix
9d526741b9
Add proper support for IndexType and uint32 indices
2022-04-04 09:02:00 +02:00
SirLynix
f14b10baf4
Graphics/ViewerInstance: fix typo
2022-03-31 13:35:08 +02:00
SirLynix
8146ec251a
Shader: Add support for partial sanitization
2022-03-25 12:54:51 +01:00
Jérôme Leclercq
615509d1ba
Add support for shader hotreloading
2022-03-17 21:36:36 +01:00
Jérôme Leclercq
0e92ef823d
Graphics: Use module name to retrieve material shaders
2022-03-15 13:14:43 +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
db0c1e6e8c
Shader: Add module resolver + use modules for engine shaders
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
99e07e6e1e
Shader: Add module statement
2022-03-14 18:30:55 +01:00
Jérôme Leclercq
8a097afb1b
Graphics/FramePass: Replace render rect parameter of CommandCallback by FramePassEnvironment
2022-02-27 18:37:05 +01:00
Jérôme Leclercq
fe16584c8c
Minor fixes
2022-02-23 23:48:20 +01:00
Jérôme Leclercq
0dd8c21543
Graphics/ForwardFramePipeline: Fix scissor update
2022-02-22 13:31:22 +01:00
Jérôme Leclercq
20a86312ff
Graphics/FramePipeline: Replace maps with memory pools and indices
2022-02-21 20:47:11 +01:00
Jérôme Leclercq
cc0fc53bd3
Graphics: Move scissor box from InstancedRenderable to GraphicsComponent
2022-02-21 20:44:54 +01:00
Jérôme Leclercq
402e16bd2b
Shader: Handle type as expressions
2022-02-17 13:23:56 +01:00
Jérôme Leclercq
5ce8120a0c
Graphics: Move FramePipeline passes to separate classes
2022-02-16 18:29:27 +01:00