Commit Graph

947 Commits

Author SHA1 Message Date
SirLynix f46f0da12a Graphics/Shaders: Fix point and spot lights in PhysicallyBasedMaterial 2024-01-04 00:03:32 +01:00
SirLynix 5a96ab3bf7 Graphics/PipelinePassList: Add AddPass overload taking a pass name 2024-01-03 18:18:09 +01:00
SirLynix 14f51b31ca Fix a bunch of warnings 2024-01-03 18:17:52 +01:00
SirLynix d2e2c075b4 Update copyright year 2024-01-02 12:02:14 +01:00
Jérôme Leclercq 79ec135af7
Optimize out a lot of std::string construction and allocations (#415)
Update CommandLineParameters.hpp

Update CommandLineParametersTests.cpp

Update WebContext.hpp

xmake check-files -f

Fix MaterialPassRegistry
2023-12-30 14:50:57 +01:00
SirLynix 0d3a9547fc Graphics/PipelinePassList: Fix error introduced by 9fb308a531 2023-12-26 12:41:48 +01:00
Lynix e1b3832643 Minor cleanup 2023-12-25 21:02:24 +01:00
Lynix 9fb308a531 Graphics/FramePipelinePass: Replace pointer + size by span 2023-12-25 20:05:45 +01:00
SirLynix 496800fc5c Graphics/UberShader: throw an exception if shader module couldn't be resolved 2023-12-21 00:08:30 +01:00
SirLynix 83366e93d4 Make changes for breaking NZSL update
Fix build

Fix compilation (again)

Fix global included

TextureAsset belongs to another branch

Add missing include

Fix include (should be good, finally)
2023-12-17 20:40:45 +01:00
SirLynix e8c594e325 Graphics/ForwardFramePipeline: Fix viewers ordering 2023-12-03 15:45:44 +01:00
SirLynix 27bc5d48e9 Graphics/ForwardFramePipeline: Fix crash with multiple viewers on a single target 2023-12-03 15:31:32 +01:00
Lynix dc9c1e14c4 Allow to use env vars to override module configs 2023-12-02 13:56:23 +01:00
Jérôme Leclercq 32d227628c
Integrate render target handling in frame graphs (#411)
* Graphics: Integrate RenderTarget in FrameGraph

- This handles the blit to texture/swapchain in the FrameGraph and fixes RenderTextureBlit
- Dummy attachments were added to the FrameGraph class to handle link without texture (used to setup a dependency between two passes with no texture)
- FramePass now supports custom access/layout/usage for inputs

* Graphics/RenderTarget: Allow to set any RenderTarget as output
2023-11-28 21:00:57 +01:00
Lynix 079f153640 Minor fixes 2023-11-28 20:05:09 +01:00
SirLynix 2622951144 Minor fixes 2023-11-26 11:25:52 +01:00
SirLynix 1ac992b5c7 Graphics: Add Billboard support 2023-11-25 15:52:58 +01:00
Lynix fb425e310f Fixed compilation 2023-11-22 00:13:37 +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
Lynix d7d5c09428 Graphics/FrameGraph: Remove SwapchainFactors attachment size and fully handle multiple viewer sizes 2023-11-21 23:02:07 +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
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 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 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
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 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 ddf0dc88bc Minor fixes 2023-11-15 08:07:06 +01:00
Lynix e5789d1749 Switch Nazara to C++20 2023-11-14 14:24:28 +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 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