Commit Graph

52 Commits

Author SHA1 Message Date
SirLynix 9ada93b995 Remove spaces before line feed 2024-01-25 14:38:06 +01:00
SirLynix d2e2c075b4 Update copyright year 2024-01-02 12:02:14 +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 f3aacc0cd2 Graphics/FrameGraph: Rename AddBackbufferOutput to AddOutput 2023-11-21 22:06:24 +01:00
Lynix c93a5f1975 Graphics: Fix texture reuse when backbuffer is a proxy 2023-11-21 08:05:26 +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 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 a08850946a Graphics/FrameGraph: Fix texture 2D array reuse 2023-10-14 14:46:49 +02:00
SirLynix 98fe974fc8 Fix some Vulkan errors
Depth buffers were not tagged as output on passes writing on it
Handle holes in clear values
2023-10-08 13:47:15 +02:00
SirLynix 4723c92a65 Graphics/FrameGraph: Reuse memory when building physical passes 2023-09-10 14:46:09 +02:00
SirLynix b1487a04fd Graphics/FrameGraph: Add support for texture arrays 2023-08-31 18:00:58 +02:00
SirLynix a578b061b4 Graphics/FrameGraph: Fix bug introduced in 97f1c2c56c 2023-05-01 17:05:07 +02:00
SirLynix 97f1c2c56c Refactor xmake.lua and make some warnings as errors 2023-04-30 21:11:30 +02:00
SirLynix 9b4d297c04 Update includes for new NazaraUtils version 2023-03-19 13:01:56 +01:00
SirLynix f98cbcd00a Copyright year update 2023-01-22 17:41:18 +01:00
SirLynix f8238a6e6c Graphics: Implement point-light shadow-mapping 2022-12-08 18:17:13 +01:00
SirLynix 5a57976b4b Graphics/FrameGraph: Add support for cubemap and slice rendering 2022-12-08 18:17:13 +01:00
SirLynix d7eab778fb Graphics/FrameGraph: Add FramePassAttachmentSize enum instead of boolean 2022-12-08 18:17:13 +01:00
SirLynix e990a320cc WIP 2022-12-08 18:17:13 +01:00
SirLynix 4a10c1f8fe Add shadow mapping (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
SirLynix 2fd2e190b9 FrameGraph: Fix texture pool 2022-11-15 18:01:51 +01:00
Jérôme Leclercq 03e2801dbe Split engine to packages NazaraUtils and NZSL (#375)
* Move code to NazaraUtils and NZSL packages

* Reorder includes

* Tests: Remove glslang and spirv-tools deps

* Tests: Remove glslang init

* Remove NazaraUtils tests and fix Vector4Test

* Fix Linux compilation

* Update msys2-build.yml

* Fix assimp package

* Update xmake.lua

* Update xmake.lua

* Fix shader compilation on MinGW

* Final fixes

* The final fix 2: the fix strikes back!

* Disable cache on CI

* The return of the fix™️
2022-05-25 19:36:10 +02:00
SirLynix ca9854d06a Graphics/FrameGraph: Fix pipeline barrier from output to input 2022-04-08 13:36:07 +02:00
Jérôme Leclercq 6bd9f1a9e4 Add unity build support 2022-03-15 12:44:21 +01:00
Jérôme Leclercq 99e07e6e1e Shader: Add module statement 2022-03-14 18:30:55 +01:00
SirLynix 89c7bbf197 Update copyright date 2022-01-01 15:30:09 +01:00
Jérôme Leclercq 5963f4c848 Graphics/FrameGraph: Fix texture pool issue 2021-12-19 18:29:20 +01:00
Jérôme Leclercq a8fefeb833 Some fixes 2021-12-16 23:11:48 +01:00
Jérôme Leclercq 07199301df Graphics/FrameGraph: Handle invalidation and flush barriers 2021-12-16 18:29:40 +01:00
Jérôme Leclercq 90ab0e9438 Graphics/FramePass: Add SetReadInput method 2021-12-13 23:44:34 +01:00
Jérôme Leclercq dfa2a0040a Graphics/FrameGraph: Add AttachmentProxy 2021-12-13 23:44:14 +01:00
Jérôme Leclercq 4eb96849db Graphics/FrameGraph: Reuse textures if possible 2021-12-05 16:53:02 +01:00
Jérôme Leclercq ecd1e43890 Graphics: Add support for multi-viewer rendering (a bit hacky) 2021-11-13 20:08:03 +01:00
Jérôme Leclercq a02b1952c0 Apply header order fix 2021-10-28 09:53:56 +02:00
Jérôme Leclercq ed7ab31933 Apply copyright fix to all files 2021-10-26 14:31:35 +02:00
Jérôme Leclercq 9a311da2c8 Graphics: Add MaterialPassRegistry 2021-08-19 18:47:11 +02:00
Jérôme Leclercq 08921b36a6 Graphics: Add RenderElement and ElementRenderer (WIP) 2021-08-19 18:47:11 +02:00
Jérôme Leclercq 7fb5109dfa Graphics/FrameGraph: Make use of RenderPassCache 2021-08-19 18:47:11 +02:00
Jérôme Leclercq 52ec5d88f0 Graphics/FrameGraph: Fix depth stencil input not being taken into account for graph dependency 2021-08-19 18:47:11 +02:00
Jérôme Leclercq d2144c8941 Graphics/FrameGraph: Mark subpass deps tilables 2021-06-20 14:12:58 +02:00
Jérôme Leclercq 9ee3a0d6be DeferredShading: Add bloom 2021-06-01 20:28:19 +02:00
Jérôme Leclercq 6fe7e5b16b Graphics/FrameGraph: Fix infinite recursion when traversing graph 2021-06-01 16:24:14 +02:00
Jérôme Leclercq 43b73da3f4 Graphics/FrameGraph: Add support for loading a previous output texture 2021-06-01 16:24:00 +02:00
Jérôme Leclercq c2b61b6732 A lot of fixes 2021-05-28 22:58:40 +02:00
Jérôme Leclercq cce32a64d4 Upgrade Utility 2021-05-25 10:40:07 +02:00
Lynix 13feaf4aab Renderer: RenderWindow now requires a RenderDevice 2021-05-16 23:13:00 +02:00
Jérôme Leclercq 61dbd91346 Lot of small fixes/improvements 2021-05-14 01:48:47 +02:00