Commit Graph

7190 Commits

Author SHA1 Message Date
SirLynix
ad81b8642e CI: Add sanitizers to macOS build 2023-11-29 11:41:22 +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
dependabot[bot]
c7579fb9be Bump mymindstorm/setup-emsdk from 12 to 13
Bumps [mymindstorm/setup-emsdk](https://github.com/mymindstorm/setup-emsdk) from 12 to 13.
- [Release notes](https://github.com/mymindstorm/setup-emsdk/releases)
- [Commits](https://github.com/mymindstorm/setup-emsdk/compare/v12...v13)

---
updated-dependencies:
- dependency-name: mymindstorm/setup-emsdk
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-28 13:26:23 +01:00
Lynix
8d2d2901ba Fix compilation 2023-11-28 00:53:21 +01:00
SirLynix
e6c5d95278 JoltPhysics3D/RigidBody: Fix mass being overriden by Jolt 2023-11-26 21:30:27 +01:00
SirLynix
962a2e71c7 Renderer/Texture: Allow to keep the texture format in TextureViewInfo 2023-11-26 21:29:49 +01:00
SirLynix
00935efbe0 OpenGLRenderer/Texture: Fix update of non-2D image types 2023-11-26 21:29:19 +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
4cbb5b91a3 OpenGLRenderer/FboFramebuffer: Fix texture view emulation with attachment != color0 2023-11-22 14:09:05 +01:00
Jérôme Leclercq
b4611afc4b Update README.md 2023-11-22 00:37:37 +01:00
Lynix
fb425e310f Fixed compilation 2023-11-22 00:13:37 +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
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
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
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
Lynix
4f08d0b3c1 Fix compilation 2023-11-20 10:16:00 +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
f2e77fb8a5 Rename Nz::Functor to Nz::AbstractFunctor 2023-11-17 13:19:21 +01:00
SirLynix
da49b39465 XMake: Improve natvis rules 2023-11-17 13:16:05 +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
3b61face6f xmake: Update dependencies version 2023-11-15 08:09:41 +01:00
SirLynix
f5df12e740 JoltPhysics3D: Update for v4 2023-11-15 08:08:45 +01:00
SirLynix
ddf0dc88bc Minor fixes 2023-11-15 08:07:06 +01:00