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
SirLynix
9066fe78bb
Graphics/Camera: Allow to enable/disable passes without re-specifying
2023-10-13 19:56:07 +02:00
SirLynix
d40b8af68d
Graphics: Add gamma correction
2023-10-13 19:56:07 +02:00
SirLynix
b09b4d2419
Graphics: Add a way to set which passes are enabled in a frame pipeline
...
This will be replaced soon with a better system
2023-10-08 23:44:24 +02:00
SirLynix
7ef9a3b93c
Graphics/DebugDrawPipelinePass: Remove unused headers
2023-09-10 14:54:17 +02:00
SirLynix
b1487a04fd
Graphics/FrameGraph: Add support for texture arrays
2023-08-31 18:00:58 +02:00
SirLynix
a741672a51
Allow error message to be formatted
2023-08-15 01:10:01 +02:00
SirLynix
de002adbb1
Graphics/GraphicsComponent: Fix clear clearing other entries
2023-08-09 18:01:01 +02:00
SirLynix
cf6fdf258f
Graphics: Add new functions to get default material types/presets
2023-08-08 18:17:58 +02:00
SirLynix
fd73d62adf
Graphics/RenderSystem: Fix skeleton not being used when added after graphics component
2023-08-06 10:14:01 +02:00
SirLynix
ee361fc48c
Graphics/GraphicsComponent: Fix GetAABB() with no renderable
2023-08-06 10:12:35 +02:00
SirLynix
816d9d1174
Allow to setup/override module configuration from commandline
2023-07-30 12:44:43 +02:00
SirLynix
f2bc1bff7a
Update for latest nazarautils update
2023-07-17 19:05:15 +02:00
SirLynix
4f3542356d
Graphics/RenderSystem: Handle visibility immediatly
...
This fixes an issue when rendermask/scissor box is updated right after making an entity visible (e.g. widgets)
2023-07-02 14:04:00 +02:00
SirLynix
b2538028b4
Math/Plane: Rename Distance method to SignedDistance
2023-06-22 17:56:18 +02:00