Commit Graph

683 Commits

Author SHA1 Message Date
SirLynix
bb3b28279b Rename AppComponent classes (AppEntitySystemComponent => EntitySystemAppComponent) 2024-01-24 16:50:04 +01:00
SirLynix
db83413536 Graphics: Fix issue when unregistering viewer then adding it again before resources are cleaned 2024-01-14 16:01:55 +01:00
SirLynix
2bdd6f9351 Graphics/Model: Add model loader 2024-01-05 11:24:25 +01:00
SirLynix
e8a362b695 Graphics/MaterialInstance: Add Build method 2024-01-04 17:47:54 +01:00
SirLynix
5a96ab3bf7 Graphics/PipelinePassList: Add AddPass overload taking a pass name 2024-01-03 18:18:09 +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
4039d16df0 Graphics/Camera: Fix camera copy / movement by assignation 2023-12-27 17:13:50 +01:00
SirLynix
b37aaf6173 Fix some comments 2023-12-26 12:42:15 +01:00
Lynix
9fb308a531 Graphics/FramePipelinePass: Replace pointer + size by span 2023-12-25 20:05:45 +01:00
SirLynix
91221a9b4a Minor changes 2023-12-23 14:01:04 +01:00
SirLynix
8efebef26c Graphics/UberShader: Replace missing UInt32 by the new OptionHash using 2023-12-17 21:07:58 +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
b7bdc74f3f Graphics/SpotLight: Add UpdateAngles method 2023-12-17 15:59:53 +01:00
SirLynix
0137bd1871 Graphics/RenderTextureBlit: Fix default MemoryAccess 2023-12-03 15:29:54 +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
SirLynix
1ac992b5c7 Graphics: Add Billboard support 2023-11-25 15:52:58 +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
dca8555d34 Fix compilation 2023-11-21 22:18:20 +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
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
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
Lynix
4f08d0b3c1 Fix compilation 2023-11-20 10:16:00 +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
86e26008b3 Minor fixes 2023-11-12 12:51:56 +01:00
SirLynix
db58921cc4 Graphics/PipelinePassList: Add support for attachment proxy 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
5382dd3ccd Graphics/UberShader: Hotreload shader when an imported module is modified 2023-11-04 17:55:04 +01:00
SirLynix
c80e06226f Graphics/Graphics: Create default depth texture in preferred depth format 2023-11-04 17:52:27 +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
2c6b507e62 Graphics/AbstractViewer: Make Project/Unproject const 2023-10-30 18:36:41 +01:00
SirLynix
f7e9ee9f60 Graphics/Enums: Add GammaCorrection to FramePipelineAllExtraPasses 2023-10-14 16:43:30 +02:00
SirLynix
c191cb227b Fix compilation 2023-10-14 14:46:49 +02:00
SirLynix
413dd2ce71 Graphics/FrameGraph: Fix parameter type 2023-10-14 14:46:49 +02:00
SirLynix
96504a0a21 Graphics/FramePipeline: Fix UpdateViewerRenderMask name (=> RenderOrder) 2023-10-14 14:46:49 +02:00
SirLynix
9aebb4f745 Graphics: Rework shadowing (add cascaded shadow mapping)
- Add support for per-viewer shadows
- Add cascaded shadow mapping for directional lights (wip)
- Rework the way lights are sent to the shaders (they are now selected once per viewer)
- Fixes PointLight shadow mapping (using a dedicated pass)
- Lights out of frustum for every viewers are no longer processed (wip)
2023-10-14 14:46:49 +02:00
SirLynix
a08850946a Graphics/FrameGraph: Fix texture 2D array reuse 2023-10-14 14:46:49 +02:00
SirLynix
e10f15243d Graphics: Replace runtime structs offsets by compile-time struct offsets
now that nzsl::FieldOffsets is constexpr this is possible
2023-10-14 14:46:49 +02:00
SirLynix
929b599337 Graphics/ViewerData: Add near and far plane 2023-10-14 14:46:49 +02:00
SirLynix
2a3da7384d Graphics/RenderSystem: Add support for external swapchains 2023-10-13 20:17:31 +02:00