Commit Graph

704 Commits

Author SHA1 Message Date
SirLynix
5130a2ff84 Remove Config.hpp options and refactor headers
- Rename Config.hpp to Export.hpp
- Remove Debug.hpp and DebugOff.hpp (not used anymore)
2024-02-19 15:11:34 +01:00
SirLynix
63c526cecc Core/Node: Refactor interface
- Removed overloads taking multiple scalars
- Removed CoordSys parameter (functions exists in two sets, local and global)
2024-02-19 09:44:01 +01:00
SirLynix
e4c339293b Renderer: Fix warning and comment 2024-02-11 22:49:48 +01:00
SirLynix
e64c2b036e Remove Utility module and move its content to Core and TextRenderer modules 2024-02-11 22:48:38 +01:00
SirLynix
f06752b08d Renderer/WindowSwapchain: Fix calls to GetSize() happening after window destruction 2024-01-28 13:56:06 +01:00
SirLynix
6757de1be8 Add end-of-line spaces checker 2024-01-26 10:43:00 +01:00
SirLynix
9ada93b995 Remove spaces before line feed 2024-01-25 14:38:06 +01:00
SirLynix
5c7059c8fc Minor fixes 2024-01-13 16:19:46 +01:00
SirLynix
2125b80b8d Use std::string_view for strings 2024-01-04 14:40:50 +01:00
SirLynix
d2e2c075b4 Update copyright year 2024-01-02 12:02:14 +01:00
Lynix
e1b3832643 Minor cleanup 2023-12-25 21:02:24 +01:00
Lynix
4065fbfb1a Core/OpenMode: Rename ReadOnly/WriteOnly to Read/Write 2023-12-25 19:49:03 +01:00
Lynix
dc9c1e14c4 Allow to use env vars to override module configs 2023-12-02 13:56:23 +01:00
Lynix
1e81b38c0f Graphics: Replace RenderFrame by RenderResources
This changes makes the whole rendering independent from the RenderFrame acquired from the Swapchain.
This may allow to do offscreen rendering (= without swapchain), or multi-window rendering in the future
2023-11-21 23:33:18 +01:00
SirLynix
938ba09d45 Graphics: Rework RenderTargets
- RenderTarget have been moved to the Graphics module and are now lightweight objects between the target of rendering (swapchain or texture)
- RenderTexture no longer require a blit between the framegraph texture and the target texture (the target texture is now directly rendered onto using a new feature of the framegraph)
- ForwardFramePipeline viewers are now properly ordered by render order
2023-11-20 23:00:06 +01:00
SirLynix
aaf3d97954 Graphics: Add RenderTexture class 2023-11-20 12:36:34 +01:00
SirLynix
97d5640967 Renderer: Blit texture to window instead of using a full renderpass
This may improve performance and allow for render targets to customize how they blit the final texture (allowing for render-to-texture)
2023-11-17 16:59:31 +01:00
Lynix
e5789d1749 Switch Nazara to C++20 2023-11-14 14:24:28 +01:00
SirLynix
8fb6ea728d Graphics: Add data-driven pipeline passes
Fix compilation
2023-11-06 21:30:49 +01:00
SirLynix
4b8a475bbd Split error macro into two versions (format vs non-formating) to allow format checking at compile-time 2023-11-02 15:18:03 +01:00
SirLynix
a741672a51 Allow error message to be formatted 2023-08-15 01:10:01 +02:00
SirLynix
816d9d1174 Allow to setup/override module configuration from commandline 2023-07-30 12:44:43 +02:00
SirLynix
e3da81dff4 ComputeTest: Fix Vulkan error 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
2886a2e0c0 Rename EnumMap to EnumArray after nazarautils update 2023-05-30 13:49:19 +02:00
SirLynix
dfe6b2ddcf Make use of the new EnumMap class 2023-05-30 12:32:37 +02:00
SirLynix
1d32af53c5 Renderer: Add mipmaps generation support 2023-05-14 18:55:41 +02:00
SirLynix
44aec8d5a5 Allow to load image and textures cubemap/arrays from file using the AppFilesystemComponent
Renames LoadCubemap and LoadArray to Load with additional parameters and allows AppFilesystemComponent to pass additional parameters to them
2023-04-04 08:24:52 +02:00
SirLynix
9b4d297c04 Update includes for new NazaraUtils version 2023-03-19 13:01:56 +01:00
SirLynix
6df919eb70 Renderer/WindowSwapchain: Don't create swapchain on minimized window
This is mainly to prepare for Android "windows" where the window is considered minimized when app is in the background (and thus has no ANativeWindow to render to)
2023-02-26 13:45:18 +01:00
SirLynix
3e41400a63 Renderer/Renderer: Cleanup a bit 2023-02-26 13:43:55 +01:00
Jérôme Leclercq
20f70533c0 Fix wasm ci (#391)
* Update wasm-build.yml

* Set embed_rendererbackends with wasm

* wasm fixes

* Fix CI

* Update wasm-build.yml

* More wasm fixes

* Final fixes
2023-02-05 15:03:48 +01:00
REMqb
f172330aaf ~ WIP port emscripen (WebGL) 2023-02-02 20:34:25 +01:00
SirLynix
511a45cf6a Renderer: Fix backend loading on Linux 2023-01-29 15:00:14 +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
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
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
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
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
e4064997d8 Renderer: Split OpenGL and OpenGL ES in two RenderAPI enums 2022-12-25 16:11:28 +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
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
77642cf431 Renderer: Implement and use debug names 2022-12-02 22:46:43 +01:00