Commit Graph

3902 Commits

Author SHA1 Message Date
SirLynix
8fb6ea728d Graphics: Add data-driven pipeline passes
Fix compilation
2023-11-06 21:30:49 +01:00
SirLynix
4995364418 Graphics/UberShader: Don't set debug level to regular by default 2023-11-04 17:55:26 +01:00
SirLynix
5382dd3ccd Graphics/UberShader: Hotreload shader when an imported module is modified 2023-11-04 17:55:04 +01:00
SirLynix
fa54f1a3e4 Graphics/Material: Fix error message when module is not init 2023-11-04 17:52:47 +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
a803a9cff4 Core: Update UnicodeData 2023-11-02 08:27:10 +01:00
SirLynix
2c6b507e62 Graphics/AbstractViewer: Make Project/Unproject const 2023-10-30 18:36:41 +01:00
SirLynix
6a9177a109 Graphics/ShadowMapping: Replace bias by a position scale
Inspired by Godot (see https://github.com/godotengine/godot-proposals/issues/4517)
2023-10-21 19:31:07 +02:00
SirLynix
b04d7662ce Graphics/SlicedSprite: Fix UV inversion when texture coordinates don't take the whole texture 2023-10-21 19:26:26 +02:00
SirLynix
a46e61e2e5 Widgets/SimpleWidgetStyles: Fix ImageButtonWidget pressed color 2023-10-21 19:26:26 +02:00
SirLynix
da2b49d719 OpenGLRenderer: Fix depthBias constant and slope factors inversion 2023-10-21 19:26:26 +02:00
SirLynix
ca4f1b49ac Graphics/Shaders: Adjust PBR ambient 2023-10-14 16:44:36 +02:00
SirLynix
f0d809c22a Graphics/ForwardFramePipeline: Fix depth-prepass 2023-10-14 16:43:58 +02:00
SirLynix
4fc5f68f3d Graphics/ViewerInstance: Initialize far and near planes 2023-10-14 14:46:49 +02:00
SirLynix
d92a307fb8 Graphics/Shader: Add light shadow support to PBR 2023-10-14 14:46:49 +02:00
SirLynix
ceedfbabaf Graphics/Shaders: Move shadow factor to a separate file 2023-10-14 14:46:49 +02:00
SirLynix
c191cb227b Fix compilation 2023-10-14 14:46:49 +02:00
SirLynix
d6a99da2ea Graphics/Graphics: Enable depth-clamp on shadow pass if supported 2023-10-14 14:46:49 +02:00
SirLynix
35414ec5d8 Use Nz::Bitset<> for-range 2023-10-14 14:46:49 +02:00
SirLynix
addbb98671 Graphics/Shaders: Add support for DistanceDepth (aka point-light shadow maps) 2023-10-14 14:46:49 +02:00
SirLynix
b3a43eb5ed Graphics: Improve directional light stabilization and split 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
55b4e47582 Graphics/MaterialInstanceLoader: Add sRGB parameter 2023-10-13 19:56:07 +02:00
SirLynix
c2e47501e4 Graphics: Embed new NZSL modules 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
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
078542e44b VulkanRenderer: Improve performance of validation message filtering 2023-10-08 13:25:42 +02:00
SirLynix
c02a20457a VulkanRenderer: Fix best usage warning 2023-10-08 13:24:35 +02:00
SirLynix
4723c92a65 Graphics/FrameGraph: Reuse memory when building physical passes 2023-09-10 14:46:09 +02:00
Jérôme Leclercq
5203a4fb49 Fix previous fix 2023-09-08 14:00:52 +02:00
Jérôme Leclercq
18efb2016d Fix Fletcher16 and CRC64 2023-09-08 13:40:30 +02:00
Jérôme Leclercq
e8ddac4964 Fix CRC32 2023-09-08 09:58:05 +02:00
SirLynix
85d13ae436 Fix wrong commit 2023-09-08 09:14:13 +02:00
SirLynix
21680171a2 Replace GetPlatformEndianness() by PlatformEndianness constexpr
from nazarautils
2023-09-08 09:13:04 +02:00
SirLynix
a3bf80a805 Utility/PixelFormat: Fix a bunch of conversions 2023-09-08 09:10:38 +02:00
SirLynix
1009b296a1 Update for latest nazarautils 2023-09-08 09:10:22 +02:00
SirLynix
aef8b01f15 Math/Box: Rename FromExtends to FromExtents 2023-09-08 09:06:26 +02:00
SirLynix
5f8b7b361e Renderer/CommandBuffer: Add support for InsertDebugLabel 2023-09-06 13:24:31 +02:00
SirLynix
07d3ccd75d Graphics/UberShader: Log uber-shader compilation errors 2023-09-06 13:23:49 +02:00
SirLynix
7e93666224 Graphics: Give debug names to buffers 2023-09-06 13:23:07 +02:00
SirLynix
1b9c19fd78 Minor fixes 2023-08-31 18:01:59 +02:00
SirLynix
b1487a04fd Graphics/FrameGraph: Add support for texture arrays 2023-08-31 18:00:58 +02:00
SirLynix
2a41afa5af VulkanRenderer: Rewrite errors 2023-08-31 17:57:43 +02:00