Commit Graph

7371 Commits

Author SHA1 Message Date
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
Lynix
d7d5c09428 Graphics/FrameGraph: Remove SwapchainFactors attachment size and fully handle multiple viewer sizes 2023-11-21 23:02:07 +01:00
Lynix
dca8555d34 Fix compilation 2023-11-21 22:18:20 +01:00
Lynix
5f796666f0 Minor fixes 2023-11-21 22:07:00 +01:00
Lynix
80cab34088 Graphics: Add RenderTextureBlit 2023-11-21 22:06:44 +01:00
Lynix
f3aacc0cd2 Graphics/FrameGraph: Rename AddBackbufferOutput to AddOutput 2023-11-21 22:06:24 +01:00
Lynix
6a19ab7ba2 Graphics/FrameGraph: Rename BindAttachmentToExternalTexture 2023-11-21 20:46:22 +01:00
Lynix
a018701251 Graphics/ForwardFramePipeline: Fix render size mixup 2023-11-21 19:41:08 +01:00
Lynix
6268acbf04 Graphics: Fix compilation with clang 2023-11-21 08:05:35 +01:00
Lynix
c93a5f1975 Graphics: Fix texture reuse when backbuffer is a proxy 2023-11-21 08:05:26 +01:00
Lynix
c352e78e11 Compilation fixes 2023-11-21 07:44:44 +01:00
SirLynix
eddd4e992b Fix previous commit 2023-11-20 23:19:41 +01:00
SirLynix
7991071e41 Graphics/RenderTexture: Remove no longer used config 2023-11-20 23:12:20 +01:00
SirLynix
448cf3b86e Math/Ray: Fix Intersect(Box) 2023-11-20 23:00:29 +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
d06f9bda89 Fix compilation again 2023-11-20 12:36:34 +01:00
SirLynix
f6c417ba8f Fix compilation 2023-11-20 12:36:34 +01:00
SirLynix
aaf3d97954 Graphics: Add RenderTexture class 2023-11-20 12:36:34 +01:00
Lynix
4f08d0b3c1 Fix compilation 2023-11-20 10:16:00 +01:00
SirLynix
674610e9f8 Graphics/BakedFrameGraph: Don't resize fixed-size textures
Fixed-size attachments such as shadows maps were recreated on resize (oops)
2023-11-20 00:01:24 +01:00
SirLynix
2ef9cd0128 Graphics/ForwardFramePipeline: Optimize out merge pass when only one viewer renders to a target 2023-11-17 17:00:08 +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
SirLynix
f2e77fb8a5 Rename Nz::Functor to Nz::AbstractFunctor 2023-11-17 13:19:21 +01:00
SirLynix
da49b39465 XMake: Improve natvis rules 2023-11-17 13:16:05 +01:00
SirLynix
5a14808a57 Minor fixes 2023-11-17 11:58:03 +01:00
SirLynix
ddc8cc6797 Core: Rework ParameterFile
Improve parsing and usage
2023-11-17 11:57:05 +01:00
SirLynix
592845e353 Graphics: Fix default atlas check 2023-11-16 09:00:33 +01:00
SirLynix
b7aca4b22a Graphics: Update material shaders 2023-11-16 09:00:21 +01:00
SirLynix
3b61face6f xmake: Update dependencies version 2023-11-15 08:09:41 +01:00
SirLynix
f5df12e740 JoltPhysics3D: Update for v4 2023-11-15 08:08:45 +01:00
SirLynix
ddf0dc88bc Minor fixes 2023-11-15 08:07:06 +01:00
SirLynix
5e643bca7b Fix MinGW compilation 2023-11-15 08:06:50 +01:00
SirLynix
cf222941ec Utility/Image: Fix functions taking a Color 2023-11-14 15:41:59 +01:00
SirLynix
a4b10749f7 C++20 fixes 2023-11-14 15:40:48 +01:00
Lynix
e5789d1749 Switch Nazara to C++20 2023-11-14 14:24:28 +01:00
Lynix
35b4da0d4b Set file encoding to UTF-8
Set minimal xmake version to 2.8.3
2023-11-14 14:24:04 +01:00
Lynix
592780562e Try to fix MinGW compilation error
It shouldn't make a difference since static constexpr already implies inline but we're talking about MinGW
2023-11-12 22:31:01 +01:00
SirLynix
f0fd3b232c Core: Add generic ParameterConfig
This still needs to be improved
2023-11-12 12:54:34 +01:00
SirLynix
86e26008b3 Minor fixes 2023-11-12 12:51:56 +01:00
SirLynix
2ff2cd4a9c Build: Fix asan check 2023-11-12 12:13:14 +01:00
SirLynix
949573636d Graphics: RegisterDebugDrawPipelinePass 2023-11-06 21:30:49 +01:00
SirLynix
db58921cc4 Graphics/PipelinePassList: Add support for attachment proxy 2023-11-06 21:30:49 +01:00
SirLynix
578240cd6f Graphics/PipelinePassListLoader: Replace Result by exception to improve readability 2023-11-06 21:30:49 +01:00
SirLynix
886991f86d Graphics: Add PipelinePassList loader (able to load from a file)
Fix compilation
2023-11-06 21:30:49 +01:00
SirLynix
ef0a34b7b1 Graphics: Add FramePipelinePassFlag to fix shadows 2023-11-06 21:30:49 +01:00
SirLynix
8fb6ea728d Graphics: Add data-driven pipeline passes
Fix compilation
2023-11-06 21:30:49 +01:00
SirLynix
4995364418 Graphics/UberShader: Don't set debug level to regular by default 2023-11-04 17:55:26 +01:00
SirLynix
5382dd3ccd Graphics/UberShader: Hotreload shader when an imported module is modified 2023-11-04 17:55:04 +01:00
SirLynix
fa54f1a3e4 Graphics/Material: Fix error message when module is not init 2023-11-04 17:52:47 +01:00
SirLynix
c80e06226f Graphics/Graphics: Create default depth texture in preferred depth format 2023-11-04 17:52:27 +01:00