Commit Graph

3459 Commits

Author SHA1 Message Date
Lynix 5472514f4b Core: Add EnvironmentVariables 2023-12-02 13:56:23 +01:00
Lynix 36dcc03c11 Audio/OpenALDevice: Improve error when buffer/source creation fails 2023-12-02 13:56:06 +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 f57fc3c1d5 Fix previous commit 2023-11-28 20:33:21 +01:00
Lynix 63ddf35a86 Renderer/RenderResources: Fix PushReleaseCallback forwarding ref
Using a concept here breaks perfect forwarding
2023-11-28 20:20:36 +01:00
Lynix 079f153640 Minor fixes 2023-11-28 20:05:09 +01:00
SirLynix 962a2e71c7 Renderer/Texture: Allow to keep the texture format in TextureViewInfo 2023-11-26 21:29:49 +01:00
SirLynix f09175228d JoltPhysics3D: Skip the rigid body update if no physics step took place
This improves the framerate if FPS > physics rate
2023-11-26 21:28:40 +01:00
SirLynix 72182327dd Core/PrimitiveList: Rework and inline the class 2023-11-26 21:27:24 +01:00
SirLynix e8eebc1dfc Core/ParameterList: Take advantage of movement 2023-11-26 14:01:23 +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 4cc8b78f5f Renderer/RenderResource: Half the number of virtual calls required on cleanup
Since most of the time objects are directly pushed for release instead of callbacks, it makes sense to optimize this case by not storing the object in a callback and removing the call to the virtual Release method. The virtual destructor does the job here.
2023-11-21 23:58:59 +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 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 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 f2e77fb8a5 Rename Nz::Functor to Nz::AbstractFunctor 2023-11-17 13:19:21 +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 5e643bca7b Fix MinGW compilation 2023-11-15 08:06:50 +01:00
Lynix e5789d1749 Switch Nazara to C++20 2023-11-14 14:24:28 +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 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 4749e6ec80 Core: Fix NazaraAssert in release mode 2023-11-02 15:49:51 +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 8fb53f467b Core/ResourceLoader: Fix format error 2023-11-02 08:27:37 +01:00
SirLynix 2c6b507e62 Graphics/AbstractViewer: Make Project/Unproject const 2023-10-30 18:36:41 +01:00
Lynix bb9f907691 Math/Ray: Fix return 0 to return false 2023-10-25 20:22:29 +02: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