1
0
Fork 0
Commit Graph

4788 Commits

Author SHA1 Message Date
Rémi Verschelde 85e47d6fac
Merge pull request #109447 from jon1solution/ssao-in-gles3
Implement a very simple SSAO in GLES3.
2025-11-01 19:04:57 +01:00
Thaddeus Crews 3c1e479290
Merge pull request #110077 from clayjohn/mobile-glow
Overhaul and optimize Glow in the mobile renderer
2025-10-31 09:23:32 -05:00
Thaddeus Crews ae9732139a
Merge pull request #109433 from KoBeWi/hastension
Add `has_extension()` method to String
2025-10-31 09:23:30 -05:00
clayjohn 2e59cb41f4 Optimize glow and tonemap gather step in the mobile renderer
Mobile devices are typically bandwidth bound which means we need to do as few texture samples as possible.

They typically use TBDR GPUs which means that all rendering takes place on special optimized tiles. As a side effect, reading back memory from tile to VRAM is really slow, especially on Mali devices.

This commit uses a technique where you do a small blur while downsampling, and then another small blur while upsampling to get really high quality glow. While this doesn't reduce the renderpass count very much, it does reduce the texture read bandwidth by almost 10 times. Overall glow was more texture-read bound than memory write, bound, so this was a huge win.

A side effect of this new technique is that we can gather the glow as we upsample instead of gathering the glow in the final tonemap pass. Doing so allows us to significantly reduce the cost of the tonemap pass as well.
2025-10-30 21:56:26 -07:00
Thaddeus Crews f1f3f06843
Merge pull request #97871 from AtlaStar/fix-issue-97680
Fix NaN populating ParticleProcessMaterial Transform
2025-10-28 12:19:26 -05:00
Thaddeus Crews b72937587a
Merge pull request #110400 from Ryan-000/Optimize-Animation_track_update_hash
Optimize Animation::_track_update_hash
2025-10-27 10:01:45 -05:00
Thaddeus Crews 33df7125ec
Merge pull request #109999 from aaronfranke/shader-cleanup
Clean up some things in shader editor code
2025-10-27 10:01:42 -05:00
Michael Alexsander 687aa56ec8
Add text trimming in `LinkButton` 2025-10-27 10:53:31 -03:00
jon1solution 31ee691fbf Implemented a very simple SSAO in GLES3. 2025-10-27 06:02:04 -07:00
Aaron Franke e26e96df4b
Cleanup some things in shader editor code 2025-10-24 19:57:39 -07:00
Ryan 44856c81af Optimize Animation::_track_update_hash
Co-Authored-By: Silc Lizard (Tokage) Renew <tokage.it.lab@gmail.com>
Co-Authored-By: Luo Zhihao <luo_zhihao@outlook.com>
Co-Authored-By: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2025-10-24 15:04:24 -04:00
Thaddeus Crews ab6c6eece8
Merge pull request #110525 from Ryan-000/Fix-AudioStreamPolyphonic-to-honor-AudioStreamPlayer_pitch_scale
Fix AudioStreamPolyphonic to honor AudioStreamPlayer.pitch_scale
2025-10-24 11:23:18 -05:00
Thaddeus Crews 822fd083c4
Merge pull request #108114 from lawnjelly/fti_multimesh_reset_all
`FTI` - Add `multimesh_instances_reset_physics_interpolation()`
2025-10-24 11:23:15 -05:00
Norbert Zentai a29be8f7c7 Adjust StyleBoxFlat antialiasing to account for Viewport oversampling 2025-10-23 22:53:11 +02:00
Thaddeus Crews da593d0c16
Merge pull request #111897 from allenwp/environment-adj-prioritize-old-behaviour
Improve `Environment` adjustments (favor old behavior and quality).
2025-10-23 11:03:56 -05:00
Allen Pestaluky 0c7f013c55 Improve `Environment` color adjustments; specifically brightness and HDR 2D contrast.
This commit changes adjustments to behave as follows for all rendering configurations:

- Apply brightness to linear-encoded values, preventing contrast, saturation, and hue from being affected.
- Apply contrast to perceptually uniform (nonlinear sRGB-encoded) values, matching existing behavior when HDR 2D is disabled and producing optimal visual quality.
- Apply saturation with even color channel weights. This causes brightness of certain colors to change, but matches existing behavior when HDR 2D is disabled.

Adjustments are applied after glow and tonemapping to match existing behavior.
2025-10-23 11:08:49 -04:00
Thaddeus Crews 8f3e76c898
Merge pull request #111437 from Kaleb-Reid/compat-fix-proximity-fade
Use correct ndc for proximity fade in Compatibility
2025-10-22 13:48:38 -05:00
Skyth c128886c63 Overhaul screen space reflections. 2025-10-21 19:23:38 +03:00
Thaddeus Crews acdb8667b5
Core: Sidestep GCC false-positive 2025-10-17 18:57:34 -05:00
Thaddeus Crews 9e96c7d9b8
Merge pull request #110378 from timothyqiu/rtl-preview
Make text-related nodes translation domain aware
2025-10-16 12:48:05 -05:00
Clay John 36b92128b1
Merge pull request #110671 from allenwp/environment-glow-consistent
Blend glow before tonemapping and change default to screen.
2025-10-14 21:29:43 -07:00
Thaddeus Crews 4d3a899c64
Merge pull request #111633 from YYF233333/ccb-include
Remove `callable_bind.h` from `object.h`
2025-10-14 10:31:29 -05:00
Thaddeus Crews 79e533679c
Merge pull request #111620 from Ivorforce/node-no-display-server
Remove `display_server.h` transitive include from `node.h`.
2025-10-14 10:31:25 -05:00
Yufeng Ying 7d3c25d083 Remove callable_bind.h from object.h 2025-10-14 16:24:05 +08:00
Lukas Tenbrink 1e0b41ab27 Remove `display_server.h` transitive include from `node.h`. 2025-10-14 00:43:02 +02:00
scgm0 cbc960c997 Fix some compilation errors 2025-10-14 05:54:58 +08:00
Thaddeus Crews c9b72fcfb6
Merge pull request #111481 from Ivorforce/texture-less-includes
Remove extraneous includes from `texture.h`.
2025-10-13 12:30:13 -05:00
Lukas Tenbrink 985e6178b4 Remove extraneous includes from `texture.h`. 2025-10-10 18:39:16 +02:00
Allen Pestaluky cafc012b05 Blend `Environment` glow before tonemapping and change default blend mode to screen.
Additionally, change the minimum `tonemap_white` parameter to `1.0`; users can increase `tonemap_exposure` for a similar effect to decreasing `tonemap_white` below `1.0`.

Co-authored-by: Hei <40064911+Lielay9@users.noreply.github.com>
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2025-10-10 12:08:08 -04:00
Thaddeus Crews 16a11ac88b
Merge pull request #111358 from Ivorforce/no-variant-hasher
Remove `VariantHasher` and `VariantComparator` in favour of specialising `HashMapHasherDefault` and `HashMapComparatorDefault`.
2025-10-10 10:26:12 -05:00
Thaddeus Crews 3e1af9a12a
Merge pull request #109021 from KoBeWi/visual_code
Don't save code property of VisualShader
2025-10-10 10:26:11 -05:00
Thaddeus Crews d4a87d9bb3
Merge pull request #106636 from Ivorforce/dictionary-mutating-fix
Fix `Dictionary::operator[]` from C++ accidentally modifying `const` dictionaries.
2025-10-10 10:26:01 -05:00
Thaddeus Crews 4ab22026b6
Merge pull request #111405 from Ivorforce/node-no-mesh
Remove transitive rendering includes from `node.h`
2025-10-09 11:46:49 -05:00
Kaleb Reid 43c03e224a Use correct ndc for proximity fade in Compatibility 2025-10-08 21:18:41 -07:00
lawnjelly 1c8ef479b4 FTI - Add `multimesh_instances_reset_physics_interpolation()` 2025-10-08 16:17:18 +01:00
Lukas Tenbrink 33689d7beb Remove transitive `mesh.h`, `rendering_server.h` and `shader.h` includes from `node.h`. 2025-10-08 12:16:52 +02:00
Lukas Tenbrink 207e8c1b92 Remove `compositor.h` include from `world_3d.h`. 2025-10-08 11:25:23 +02:00
Lukas Tenbrink d2ee378d1c Remove `VariantHasher` and `VariantComparator` in favour of specializing `HashMapHasherDefault` and `HashMapComparatorDefault`. 2025-10-07 13:47:39 +02:00
Thaddeus Crews 5935a32e32
Core: Cleanup headers in `core/config`
- `MainLoop` now forward-declared in `OS`
2025-10-06 09:20:56 -05:00
Thaddeus Crews 6ece891ae6
Merge pull request #110684 from Kaleb-Reid/fix-compat-refraction
Use correct screen-space to ndc equation in Compatibility refraction
2025-10-06 09:06:43 -05:00
Thaddeus Crews 686b56fae9
Merge pull request #106434 from Ivorforce/invert-hashfuncs
Reduce cross project includes by rewriting `HashMapHasherDefault`.
2025-10-06 09:06:37 -05:00
Thaddeus Crews 30a0a41982
Merge pull request #111274 from chocola-mint/include-optimization-logger
Remove `file_access.h` and `script_backtrace.h` includes from `logger.h`.
2025-10-06 09:06:32 -05:00
Thaddeus Crews ef5ecd95d7
Merge pull request #111254 from Ivorforce/object-no-rb-rw
Remove `rw_lock.h` and `rb_map.h` includes from `object.h`.
2025-10-06 09:06:29 -05:00
Juan faddd60c40
Add unique Node IDs to support base and instantiated scene refactorings
The main goal of this PR is to safeguard when a base or instantiated scene changes (nodes renamed, moved or readded),
that the hierarchy is still maintained and the node and its overridden properties can be preserved.

What it does:
* Implements unique node IDs.
* These IDs act as a fallback to names when saving.
* The IDs are **USED AS A FALLBACK**, so they are just an addition. It should not break any current existing scene.
* If a scene renames or moves a node, inherited or instantiated scenes will no longer lose reference to it.

Unlike the previous approach, this one is intended to be a fallback, only used if the node is not found.
This makes it safer to implement and ensure that, at worst case, we fail to find the node, but nothing breaks.
2025-10-06 12:55:38 +02:00
Lukas Tenbrink 9d44b68867 Remove `rw_lock.h` and `rb_map.h` includes from `object.h`. 2025-10-05 23:29:04 +02:00
chocola-mint ead282ff13 Remove `file_access.h` and `script_backtrace.h` includes from `logger.h`. 2025-10-05 17:49:23 +09:00
Lukas Tenbrink ad600125df Rewrite `HashMapHasherDefault` based on type traits - it is now possible to declare a default hashing function for any type.
Remove cross-project includes from `hashfuncs.h`.
Improve hashing function for `Color` (based on values instead of `String`).
Move `Variant` comparison from `hash_map.h` to `dictionary.cpp` (`VariantComparatorDictionary`), where it's used.
Remove now unnecessary `HashableHasher`.
2025-10-05 01:49:11 +02:00
Kaleb Reid 96ca7a205d Use correct ndc equation in Compatibility refraction 2025-10-04 02:03:31 -07:00
Thaddeus Crews 38af23a654
Merge pull request #89409 from aaronfranke/server-folders
Move server files into their subfolders
2025-10-03 12:01:00 -05:00
Thaddeus Crews 33bfd1fac4
Merge pull request #111060 from Kaleb-Reid/fix-dof-enable
Always show settings to enable DOF near + far
2025-10-01 17:54:18 -05:00