1
0
Fork 0
Commit Graph

4765 Commits

Author SHA1 Message Date
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
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
Thaddeus Crews 1c4760878b
Merge pull request #110843 from allenwp/fix-glow-intensity-editor-compatibility
Fix glow intensity not showing in compatibility renderer
2025-10-01 17:54:15 -05:00
Thaddeus Crews f745685f54
Merge pull request #110028 from zeux/simplify-prune
Enable component pruning during mesh simplification
2025-10-01 13:12:36 -05:00
Aaron Franke 3d1c9fd5de
Move server files into their subfolders 2025-09-30 19:39:39 -07:00
Aaron Franke 9fbf5808a0
Rename server "free" functions to "free_rid" to match exposed API 2025-09-30 16:52:25 -07:00
Thaddeus Crews b9010edcfa
Merge pull request #110951 from aaronfranke/const-arr-ref-text-bidi
Use const Array ref in `set_structured_text_bidi_override_options`
2025-09-30 18:35:20 -05:00
Thaddeus Crews 21fd4faf1b
Merge pull request #107469 from Ivorforce/vector-localvector-explicit-span-conversions
Remove implicit conversions between `LocalVector` and `Vector`
2025-09-30 11:19:17 -05:00
Kaleb Reid c79fe58939 Always show settings to enable DOF near + far 2025-09-29 22:29:24 -07:00
Aaron Franke 754d49ac81
Skip copying values constructed immediately before returning 2025-09-26 19:13:58 -07:00
Aaron Franke 1a7be001d2
Use const Array ref in `set_structured_text_bidi_override_options` 2025-09-26 14:31:38 -07:00
Thaddeus Crews c32c2606f4
Merge pull request #110837 from wheatear-dev/add-gdsoftclass-deeper
Add `GDSOFTCLASS` to deeper inheritors of `Object`
2025-09-25 12:13:56 -05:00
A Thousand Ships bd65cfa876
Revert "Replace many uses of `is_class` with `derives_from`."
This reverts commit 78b743cf4a.
2025-09-25 13:48:53 +02:00
Arseny Kapoulkine ccbece58d8 Enable component pruning during simplification
In addition to the regular edge collapse, we now allow the simplifier to
remove small isolated components. Components that are removed are below
the error threshold in size and as such should not noticeably contribute
to the overall rendering of the object.

This helps simplify topologically complex but small parts of larger
meshes and more comfortably reach the LOD targets.

In some cases, pruning can cause the last LOD to shrink to 0 triangles
which may prevent a slightly larger LOD from being used at the maximum
distance; in this case we retry simplification without pruning once.
2025-09-24 22:23:55 -07:00
Clay John 6e4e8072e1
Merge pull request #110027 from zeux/lod-iter
Switch LOD generation to use iterative simplification
2025-09-24 20:57:41 -07:00
Edward Moulsdale e366471fdc Add GDSOFTCLASS to deeper inheritors of Object 2025-09-24 19:15:56 +01:00
Thaddeus Crews 7e5c6890b2
Merge pull request #110298 from 0xcafeb33f/fix-skeleton-mirror
Fix Skeleton2D TwoBoneIK and LookAt mirroring
2025-09-24 09:59:13 -05:00
Thaddeus Crews 78b743cf4a
Merge pull request #110832 from Ivorforce/is-class-to-derives-from
Replace many uses of `is_class` with `derives_from`.
2025-09-24 09:59:09 -05:00
Allen Pestaluky 3101d75634 Fix glow intensity not showing in compatibility renderer when blend mode is set to mix. 2025-09-23 17:45:35 -04:00
Arseny Kapoulkine e40436d527 Switch LOD generation to use iterative simplification
Instead of simplifying every LOD from the original down to an
increasing number of triangles, we simplify each LOD from the previous
LOD and stop when the simplification can't proceed further.

This has a few benefits:

- It's significantly faster; using sparse flag helps ensure that
  subsequent simplifications after the first one are increasingly
  cheaper.

- It results in higher quality attributes on generated LODs; attribute
  quadrics reduce the quality of attribute preservation the more they
  are accumulated, so recomputing them from intermediate geometry helps.

- It results in monotonic appearance: if a feature is reduced in a
  higher LOD, it will stay reduced or get reduced more significantly in
  lower LODs. This is not a significant problem right now, but can be
  helpful to ensure if the number of LODs increases or some newer
  features get enabled.
2025-09-23 13:28:45 -07:00
Thaddeus Crews 96d9303b76
Merge pull request #109992 from zeux/simplify-regularize
Use regularization flag for LODs of deformable objects to improve appearance post deformation
2025-09-23 14:51:48 -05:00
Thaddeus Crews e6d25c0f73
Merge pull request #110819 from KoBeWi/overrun_with_dupes
Remove overrun code duplication
2025-09-23 14:51:45 -05:00