Commit Graph

844 Commits

Author SHA1 Message Date
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 0c7efa05e2 Fix a bunch of warnings 2023-05-30 12:34:38 +02:00
SirLynix dfe6b2ddcf Make use of the new EnumMap class 2023-05-30 12:32:37 +02:00
SirLynix 14c9c7fffd Graphics/GuillotineTextureAtlas: Disable mipmaps for now 2023-05-15 19:02:17 +02:00
SirLynix 1d32af53c5 Renderer: Add mipmaps generation support 2023-05-14 18:55:41 +02:00
SirLynix e1d38abc04 Graphics/ForwardFramePipeline: Fix crash with multiple viewers 2023-05-12 19:14:18 +02:00
SirLynix bbbd3f88c1 Core: Add DisabledComponent (to temporary disable an entity) 2023-05-07 22:43:48 +02:00
SirLynix 0c64c3d68b Graphics/ForwardFramePipeline: Use camera viewport 2023-05-01 18:36:29 +02:00
SirLynix a578b061b4 Graphics/FrameGraph: Fix bug introduced in 97f1c2c56c 2023-05-01 17:05:07 +02:00
SirLynix 97f1c2c56c Refactor xmake.lua and make some warnings as errors 2023-04-30 21:11:30 +02:00
SirLynix 2f5db80183 Remove empty source files 2023-04-11 13:51:11 +02:00
SirLynix 2c6191987f Graphics/PhongMaterial: Add option to disable shadow mapping (and disable it by default on web) 2023-04-10 17:25:18 +02:00
SirLynix f952c64642 Graphics/BasicMaterial: Fix compilation error when no UV are available ...
... but textures are mapped
2023-04-10 17:12:40 +02:00
SirLynix 9b4d297c04 Update includes for new NazaraUtils version 2023-03-19 13:01:56 +01:00
SirLynix c700a7e45d Graphics/ForwardFramePipeline: Fix shadow maps not showing up until scene update 2023-03-14 18:08:05 +01:00
SirLynix 88b6ff63b7 Graphics/AbstractViewer: Add Project & Unproject methods 2023-03-14 18:07:03 +01:00
SirLynix 780e7e2def Graphics/Phong: Set default AmbientColor to white 2023-03-10 13:27:47 +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 5e6a20f479 Fix text outline render order 2023-02-26 13:46:19 +01:00
SirLynix 2e8ea0e887 Graphics/TextSprite: Fix outline showing up over glyphs 2023-02-22 19:12:15 +01:00
SirLynix 5833ce573d Graphics: Switch glyph atlases to R8 instead of A8
A8 can't be supported efficiently on API lacking texture swizzle support (DX, WebGL, WebGPU), so we swizzle in the shader instead
2023-02-22 19:11:41 +01:00
SirLynix e96204a2ab Graphics/AbstractViewer: Set virtual destructor 2023-02-15 16:33:02 +01:00
SirLynix 5567a39a65 Fix widgets 2023-02-02 20:34:25 +01:00
SirLynix 292ca60592 WIP 2023-02-02 20:34:25 +01:00
SirLynix c144435d4a Graphics: Set default sprites size to the base color texture size, if any 2023-02-02 13:24:22 +01:00
SirLynix 8bc953240d Core/FilesystemComponent: Add a way to fix indices accross DLL boundaries 2023-01-29 18:13:35 +01:00
SirLynix d27ca55943 Core/AppFilesystemComponent: Add support for default resource parameters 2023-01-28 11:27:49 +01:00
SirLynix c0024dfa34 Fix warnings 2023-01-28 11:14:02 +01:00
SirLynix f98cbcd00a Copyright year update 2023-01-22 17:41:18 +01:00
SirLynix d3c05c9ade Update globalheaders and fix includes/header guards 2023-01-22 12:37:58 +01:00
SirLynix 18851c9185 Replace RenderWindow with swapchains 2023-01-22 12:37:58 +01:00
SirLynix a1480fc2db Graphics: Fix text atlas resizing 2023-01-21 19:10:40 +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 fe8715f1fb Renderer: Working compute implementation 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 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
SirLynix 780359eb8b Graphics: Fix point light shadowmaps 2022-12-08 18:28:17 +01:00
SirLynix f8238a6e6c Graphics: Implement point-light shadow-mapping 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 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 d7eab778fb Graphics/FrameGraph: Add FramePassAttachmentSize enum instead of boolean 2022-12-08 18:17:13 +01:00
SirLynix 34348b2dde Minor fixes 2022-12-08 18:17:13 +01:00