Commit Graph

169 Commits

Author SHA1 Message Date
Thaddeus Crews 9268bc73a0 Merge pull request #117619 from BastiaanOlij/fix_117303
Fix assymmetrical rendering of reflections in SDFGI
2026-04-10 10:32:35 -05:00
clayjohn 63c49cc668 Ensure that sky shader automatic mode consistently uses the fallback
This is necessary so that the proper backing textures can be allocated for the sky shader
2026-04-08 10:49:18 -07:00
Bastiaan Olij 2f07ccd68a Fix assymmetrical rendering of reflections in SDFGI
Co-authored-by: retrotails
2026-03-24 13:25:48 +11:00
Rémi Verschelde f1d63278d7 Remove unused includes in servers with clangd-tidy 2026-03-10 21:42:23 +01:00
Thaddeus Crews 4296a0c158 Merge pull request #116752 from BastiaanOlij/cleanup_is_frustum
Clean up `is_frustum` projection code
2026-03-04 14:32:33 -06:00
Rémi Verschelde 0ce92073ae Move RS::ShaderNativeSourceCode to RenderingServerTypes to reduce dependencies on RS
On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 1s, and paves the way for more decoupling in
rendering code.
2026-02-25 20:17:27 +01:00
Rémi Verschelde f5a290ac46 Move RenderingServer enums to a dedicated RenderingServerEnums (RSE) namespace
A number of headers in the codebase included `rendering_server.h` just for
some enum definitions. This means that any change to `rendering_server.h` or
one of its dependencies would trigger a massive incremental rebuild.

With this change, we decouple a number of classes from `rendering_server.h`,
greatly speeding up incremental rebuilds for that area.

On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 60s (from 2m57s).
2026-02-25 19:43:03 +01:00
Bastiaan Olij 2c49923c39 Cleanup projection code so we don't need our frustum override in the renderer 2026-02-25 21:16:38 +11:00
Lukas Tenbrink 0ea5ece984 Move binary math functions to Math namespace in math_funcs_binary header. 2026-02-17 12:24:35 +01:00
clayjohn da7540f3f1 Avoid reading from sky pointer when rendering background without sky 2026-02-04 09:44:15 -08:00
Clay John b4b20e95ed Ensure that uv border size is passed in to sky rendering functions both when rendering the octmap and when rendering the sky as a background 2026-01-29 14:14:49 -08:00
Lukas Tenbrink c56c297cee Remove geometry_3d include from rendering_server.h, to reduce compile time.
Change `Geometry3D` from class to namespace.
2026-01-27 18:12:38 +01:00
Zac Luzader 56e646c217 Use sky's corrected camera projection for combined_reprojection 2026-01-22 19:26:17 -07:00
clayjohn 24c2c452de Fix downsampled radiance map generation.
Reduce the mipmap levels so that the border is pixel perfect

Always use the high quality downsample to reduce jaggies

Fix the jacobian approximation so that it actually helps account for the octahedral distortion
2026-01-12 18:56:10 -08:00
Kaleb Reid 05830dfbfb Check if sun scatter is enabled when using SKY_MODE_AUTOMATIC 2025-12-04 22:58:05 -08:00
Dario c78c3ba894 Rewrite Radiance and Reflection probes to use Octahedral maps.
Co-authored-by: clayjohn <claynjohn@gmail.com>
2025-12-02 17:48:12 -08:00
Dario ba268416d5 Push pipeline compilation of various effects to the worker thread pool. 2025-10-13 12:00:23 -03:00
Thaddeus Crews 2b7f39ea28 Merge pull request #110505 from Calinou/tweak-draw-command-labels
Tweak draw command label names for consistency
2025-09-30 20:10:37 -05:00
Aaron Franke 9fbf5808a0 Rename server "free" functions to "free_rid" to match exposed API 2025-09-30 16:52:25 -07:00
clayjohn fc951855ed Move check for sky cubemap array back into the SkyRD initializer so it is set before being used.
Previously it was moved out of this function becuase we relied on RenderingServer::get_video_adapter_name which wasn't available yet.

However, that was unnecessary since it is just a wrapper around RenderingDevice::get_device_name() which is available.
2025-09-17 11:41:56 -07:00
Hugo Locurcio 204e310914 Tweak draw command label names for consistency
- Use Title Case for all labels, and add hyphens where relevant.
- Mention Roughness in SSR Filter's label name, as it's only enabled
  when the SSR roughness quality is not set to Disabled.
2025-09-14 01:23:47 +02:00
Dario b962b38e74 Check for Vulkan Memory Model support and make it a variant. 2025-07-25 09:24:58 -03:00
Pāvels Nadtočajevs 9c325d0f91 Remove selective shader baking. 2025-07-23 23:02:43 +03:00
Pāvels Nadtočajevs 87e91f7c7a [macOS] Selectively bake "no image atomics" shader variants. 2025-07-12 21:05:48 +03:00
retrotails a5e681df77 Fix crash when creating voxel GI data 2025-07-07 23:26:56 -04:00
Stuart Carnie 5230f6c60c Apple: Use image atomic operations on supported Apple hardware
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2025-07-05 05:59:00 +10:00
Kaleb Reid e659daf6e0 Always send lights to sky shader if using sun scatter 2025-06-24 14:24:49 -07:00
Rémi Verschelde e6d0b32566 Merge pull request #106673 from retrotails/master
Fix light range in VoxelGI
2025-06-06 17:37:09 +02:00
Dario 5a30a7e7cd Add shader baker to project exporter.
Metal Support contributed by Migeran (https://migeran.com) and Stuart Carnie.

Co-authored-by: Stuart Carnie <stuart.carnie@gmail.com>
Co-authored-by: Gergely Kis <gergely.kis@migeran.com>
2025-05-27 12:45:27 -03:00
Lukas Tenbrink 4cb8a0c77e Add resize_initialized and resize_uninitialized to Vector. These functions serve as replacements for resize, to make sure the caller understands whether elements need to be initialized 'by hand' after the call. 2025-05-26 18:35:41 +02:00
retrotails ba06234309 Fix light range in voxel GI 2025-05-21 06:49:35 -04:00
Ricardo Sanchez-Saez 457299449d Introduce 'drivers/apple_embedded' abstract platform for code reuse 2025-05-19 15:37:13 -07:00
Pāvels Nadtočajevs 472090dd88 Fix RendererRD crash on start on Intel Macs. 2025-04-15 20:35:56 +03:00
Thaddeus Crews c7e9dc96a4 Rendering: Fix Math constant conversion 2025-04-11 12:33:57 -05:00
Thaddeus Crews 94282d88f9 Core: Use Math namespace for constants 2025-04-10 16:29:30 -05:00
Thaddeus Crews ae80141a54 Merge pull request #103306 from Calinou/macos-intel-vulkan-disable-texture-array-reflections
Disable texture array reflections on Intel GPUs on macOS due to driver bugs
2025-04-09 18:11:52 -05:00
Yufeng Ying 4f4031a675 Replace size() == 0 with is_empty(). 2025-04-02 19:18:43 +08:00
kobewi 10f6c01b9c Remove ABS in favor of Math::abs 2025-03-19 13:52:40 +01:00
Lukas Tenbrink f4de2cd22a Use resize_zeroed instead of resize then fill(0) in several places. 2025-03-14 12:09:39 +01:00
Thaddeus Crews a77a28c029 Merge pull request #101971 from clayjohn/sky-light-size-fix
Pass angular diameter into light size constants for sky shaders.
2025-03-11 09:35:09 -05:00
Thaddeus Crews 324512e11c Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
Hugo Locurcio 92f3173794 Disable texture array reflections on Intel GPUs on macOS due to driver bugs
The check is only present in x86 builds, since Apple Silicon never
uses an Intel GPU by definition.
2025-02-26 02:28:36 +01:00
clayjohn 74989c639e Pass angular diameter into light size constants for sky shaders.
This flew under the radar for so long since tan is nearly linear at small values
2025-01-23 17:32:44 -08:00
Rémi Verschelde 469808f66b Merge pull request #101112 from clayjohn/skyrd-fov
Ensure Sky with custom fov has correction matrix applied to it in RD renderers
2025-01-09 20:51:26 +01:00
Aarni Koskela f134769506 Fix various typos
* Add TODO notes for typos that should be fixed for 5.0

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-08 14:47:42 +02:00
clayjohn 96ce5c0001 Ensure Sky with custom fov has correction matrix applied to it in RD renderers 2025-01-03 17:11:02 -08:00
Thaddeus Crews 4665faaaa9 Merge pull request #100427 from Namey5/fog-sky-luminance
Separate sky luminance and brightness calculations for consistent fog
2024-12-19 19:59:50 -06:00
Alex Threlfo e4fd2f003f Support custom sky rotation in SDFGI 2024-12-20 11:26:28 +11:00
Alex Threlfo 5f617663aa fix: separate sky luminance and user brightness calculations around fog 2024-12-20 11:25:11 +11:00
CrazyRoka d9ef826c54 Optimize RenderForwardClustered::_setup_render_pass_uniform_set by reducing Vector allocations during push_back operations 2024-12-02 15:03:50 +01:00