Commit Graph

2174 Commits

Author SHA1 Message Date
Rémi Verschelde 25bfae8ff9 Remove RenderingServer::map_scaling_option_to_stretch_mode and cleanup boot splash code
Removes RS as a dependency in `project_settings.cpp` (which was a bug,
`core` shouldn't include `servers`). This doesn't have a big impact on
incremental rebuild time by itself.

Also move helper `get_splash_stretched_screen_rect` to RenderingServerTypes.
2026-02-25 20:17:27 +01:00
Rémi Verschelde a3cb56dd38 Decouple RenderingServer from XR/OpenXR headers
Move BlitToScreen to RenderingServerTypes.
2026-02-25 20:17:23 +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
Thaddeus Crews 2adf91e71f Merge pull request #114890 from allenwp/fix-spatial-scaler-debanding
Fix viewport debanding not working with spatial scalers.
2026-02-25 11:25:09 -06:00
Thaddeus Crews e8c69d4108 Merge pull request #116720 from allenwp/fix-reinhard-agx-mobile-subpass
Fix Reinhard and AgX tonemapper in Mobile renderer when using subpass.
2026-02-25 09:27:47 -06:00
Thaddeus Crews c521ed8f71 Merge pull request #116519 from celyk/fix-omni-projector
Clamp uv coordinates of omni light projector
2026-02-25 09:27:38 -06:00
Allen Pestaluky 662770a33d Fix Reinhard and AgX tonemapper in Mobile renderer when using subpass. 2026-02-24 10:58:08 -05:00
Frank Becker dc67bdaab4 Fix LCD batching flag for StyleBoxTexture 2026-02-22 19:59:09 -08:00
celyk d2933f04b7 Clamp uv coordinates of omni light projector 2026-02-21 11:06:27 +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
Thaddeus Crews 2d5b30c476 Merge pull request #115963 from blueskythlikesclouds/reduce-includes-to-rd
Reduce includes to rendering device.
2026-02-12 08:19:16 -06:00
Josh Jones b8389cc76b Support output to HDR monitors
Co-authored-by: Alvin Wong <alvinhochun@gmail.com>
Co-authored-by: Allen Pestaluky <allenpestaluky@gmail.com>
2026-02-11 22:13:26 -07:00
Thaddeus Crews 0808e47eff Merge pull request #115904 from HEX-23/feature-fix_ssr
Fix inconsistent SSR blurriness on rough surfaces.
2026-02-10 10:34:34 -06:00
Skyth 8fbf2f1e14 Reduce includes to rendering device.
Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2026-02-10 16:58:50 +03:00
X23 fe8709d077 Fix inconsistent SSR blurriness on rough surfaces. 2026-02-10 21:12:35 +08:00
Clay John 2343d36b43 Use transmittance instead of opacity in the early-out branch when calculating volumetric fog 2026-02-09 09:45:12 -08:00
Allen Pestaluky ec394025f1 Fix viewport debanding not working with spatial scalers. 2026-02-06 12:05:43 -05:00
Stuart Carnie b815c88dec Metal: Refactor for future Metal 4, switch to C++; fix dynamic uniforms 2026-02-06 07:07:10 +11:00
Thaddeus Crews 7e91c61fec Merge pull request #115874 from clayjohn/sky-crash
Avoid reading from sky pointer when rendering background without sky
2026-02-05 09:32:29 -06:00
Thaddeus Crews 79eb6694a1 Merge pull request #112381 from Ivorforce/no-right-align
Don't right-align escaped newlines (e.g. for `#define`)
2026-02-05 09:18:36 -06:00
Lukas Tenbrink c5df0cb82b Don't right-align escaped newlines, e.g. for #define. This has previously led to long diffs in the commit history. 2026-02-04 19:31:28 +01:00
clayjohn da7540f3f1 Avoid reading from sky pointer when rendering background without sky 2026-02-04 09:44:15 -08:00
Dario 703b3f3dc2 Add structure padding where necessary for push constants.
Co-authored-by: Skyth <19259897+blueskythlikesclouds@users.noreply.github.com>
2026-02-04 12:12:19 +01:00
Thaddeus Crews 0a843c13f8 Merge pull request #111464 from LiveTrower/clearcoat-improvements
Clearcoat improvements and fixes
2026-02-03 08:14:00 -06:00
Thaddeus Crews c4e9378020 Merge pull request #107234 from jon1solution/select-near-lights-gles3-mobile
Select relevant 3D lights per mesh on GLES3 and Mobile renderers
2026-02-03 08:13:57 -06:00
jon1solution 979d3e58d0 Keeping the top N lights per mesh in the culling phase.
Previously, each mesh was paired up with the first N of each Omni- and Spot-lights.
Now each light is scored based on its distance to the mesh, energy, and range.
The new code uses a heap to track the best N lights (of each type) for predictability.
2026-02-02 08:59:30 -08:00
Skyth 482d9313a2 Fix accidental write-combined memory reads in canvas renderer. 2026-02-02 15:55:12 +03:00
Thaddeus Crews 6d67a99925 Merge pull request #115606 from clayjohn/sky-border-fix
Ensure that uv border size is passed in to sky rendering functions
2026-01-30 09:32:13 -06:00
Thaddeus Crews fbbb8a921b Merge pull request #115309 from Ivorforce/localvector-explicit-copy
Change copy constructor of `LocalVector` from implicit to explicit
2026-01-30 09:32:07 -06:00
Thaddeus Crews fd6e80d4e9 Merge pull request #105701 from ColinSORourke/DrawableTexture
Implement DrawableTextures
2026-01-30 09:32:05 -06: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
Colin O'Rourke 63f6e3691c DrawableTextures
Implementing DrawableTextures based on: https://github.com/godotengine/godot-proposals/issues/7379
2026-01-29 01:16:06 -08:00
Thaddeus Crews 135cd6eea0 Merge pull request #115530 from clayjohn/render-target-discard
Remove `is_discardable` flag on render target
2026-01-28 17:58:14 -06:00
Clay John 3cf0881c36 Remove is_discardable flag on render target since it is not needed and creates issues on NVidia devices 2026-01-28 11:08:40 -08:00
Thaddeus Crews ef313ecc46 Merge pull request #115177 from blueskythlikesclouds/unique-buffers-per-pass
Give every pass its own unique environment uniform buffer.
2026-01-28 12:27:13 -06:00
Nintorch eb019511ed Optimize files that #include input.h header 2026-01-28 14:21:00 +05:00
LiveTrower 60097eb3ce clearcoat fixes and improvements 2026-01-27 18:02:01 -06:00
Thaddeus Crews 75cd151cb0 Merge pull request #113781 from clayjohn/rd-discardable
Mark more textures as discardable
2026-01-27 15:18:31 -06:00
Thaddeus Crews 04a2ae7ed4 Merge pull request #99119 from Fahien/fahien/raytracing-base
Vulkan raytracing plumbing
2026-01-27 15:18:24 -06: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
Antonio Caggiano 27e4f24800 raytracing: Initial Vulkan support
- Vulkan implementations in `RenderingDeviceDriverVulkan`.
- Raytracing instruction list in `RenderingDeviceGraph`.
- Functions to create acceleration structures and raytracing pipelines
  in `RenderingDevice`.
- Raygen, Miss, and ClosestHit shader stages support.
- GDScript bindings.
- Update classes documentation.
- Unimplemented placeholders for Metal and D3D12.
- Build acceleration structure command.
- Expose a shader preprocessor define.
- Align build scratch address.
- Create STB after creating the pipeline.
- Separate acceleration structure barriers.
- Use transforms in TLAS instances.
- AnyHit and Intersection stages.
- Optionally set acceleration structure build input buffer usage.
- Introduce instances buffer.
- Move scratch buffers to RenderingDevice.
- Rename AccelerationStructureGeometryBits.
- Use regular buffer creation and free routines for scratch buffer.
- Store trackers in acceleration structures.
- Bump Shader SPIR-V version to 1.4
- Add Position attribute location in blas_create.
- Encapsulate MoltenVK check in preprocessor macro.
- Split SUPPORTS_RAYTRACING for pipeline and query.
2026-01-27 16:17:45 +01:00
Thaddeus Crews b3af0f641a Merge pull request #114821 from rsanchezsaez/apple/override-improvements
AppleEmbedded: `renderer_compositor_rd.h` override improvements
2026-01-26 15:01:37 -06:00
Thaddeus Crews b268b1013d Merge pull request #115292 from luzader/patch-1
Use sky's corrected camera projection for `combined_reprojection`
2026-01-26 13:14:28 -06:00
Thaddeus Crews 4738ce72e3 Merge pull request #115026 from rothej/fix-94567-fog-shader-compilation-with-fog-disabled
Fix shader compilation error when writing to `FOG` when `render_mode fog_disabled`
2026-01-26 13:14:27 -06:00
Thaddeus Crews 0f8a1c9db2 Merge pull request #115147 from BastiaanOlij/fix_multiview_fixed_size
Apply fixed size properly for mono/stereo rendering.
2026-01-26 13:14:23 -06:00
Thaddeus Crews 3dc64a564b Merge pull request #115124 from blueskythlikesclouds/2x-msaa-pick-first
Pick the sample closer to the camera when resolving 2x MSAA.
2026-01-26 13:14:20 -06:00
Lukas Tenbrink 63272b23ef Make LocalVector copy constructor explicit. 2026-01-23 20:52:03 +01:00
Zac Luzader 56e646c217 Use sky's corrected camera projection for combined_reprojection 2026-01-22 19:26:17 -07:00
Skyth 1d9910cac4 Give every pass its own unique environment uniform buffer. 2026-01-20 19:24:20 +03:00
Bastiaan Olij aac883849e Apply fixed size properly for mono/stereo rendering. 2026-01-20 23:19:45 +11:00