Commit Graph

81 Commits

Author SHA1 Message Date
9fbf5808a0 Rename server "free" functions to "free_rid" to match exposed API 2025-09-30 16:52:25 -07:00
98a4b46b6a Add more PROPERTY_HINT_GROUP_ENABLE uses 2025-09-20 21:11:12 +02:00
149a4b4ca1 Merge pull request #107868 from lawnjelly/quick_ancestry4
Provide quick access to `Object` ancestry
2025-09-20 13:41:39 -05:00
14a814586a Provide quick access to Object ancestry 2025-06-23 07:11:11 +01:00
55978b5024 Revert "FTI - Reduce VisualInstance3D xform notifications"
This reverts commit e10003ce33.
2025-06-22 15:44:52 +01:00
e10003ce33 FTI - Reduce VisualInstance3D xform notifications 2025-05-30 06:32:07 +01:00
ae04a3a5dd Physics Interpolation - Move 3D FTI to SceneTree
Moves 3D interpolation from server to the client code (`SceneTree`).
Complete rework of 3D physics interpolation, but using the same user API.
2025-04-26 14:13:30 +01:00
a4a5f4ed01 allow moving meshes without motion vectors 2025-04-25 14:25:06 +02:00
4aba15eec3 Fixed Timestep Interpolation (3D): Fix warning spam 2025-01-19 11:42:47 +01:00
055b418e4d Fix Selection Game View 2025-01-10 09:53:17 -05:00
1e5f0a86ca Allow more flexible adjustments of VisualInstance3D Lightmap Scale
Any floating-point value greater than 0.01 can now be used.
Prior to this change, only factors of 1×, 2× and 4× and 8× could be used.
2024-11-14 17:28:05 +01:00
9dc231366d Fix super call in various get_configuration_warnings methods 2024-09-05 16:08:35 +02:00
2f8ab4a654 Fixed Timestep Interpolation (3D)
Adds 3D fixed timestep interpolation to the rendering server.
This does not yet include support for multimeshes or particles.

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-07-07 22:15:23 +02:00
59f05ed31a Cleanup unused/underused singleton StringNames 2024-05-14 18:18:29 +02:00
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
a262d2d881 Add shorthand for using singleton string names 2024-05-11 18:53:08 +02:00
471ddf4327 Merge pull request #87231 from Calinou/geometryinstance3d-transparency-warn-mobile-compatibility
Show warning for GeometryInstance3D transparency in Mobile/Compatibility
2024-05-04 11:52:06 +02:00
8caa1b8783 Add Gizmo to display 3D custom AABB 2024-04-19 02:31:30 +03:00
21f0529aa9 Revert "Update Node::get_configuration_warnings signature"
This reverts commit d3852deaa4.
2024-02-17 19:03:21 +01:00
d3852deaa4 Update Node::get_configuration_warnings signature 2024-02-08 23:05:20 +01:00
a9893e278f Show warning for GeometryInstance3D transparency in Mobile/Compatibility
This feature is currently only supported when using Forward+.
2024-01-15 20:51:22 +01:00
96a95cb974 Add const lvalue ref to container parameters 2024-01-05 14:49:57 -03:00
ce488930ea Remove GI methods in parentheses from light baking options 2023-11-22 08:42:40 -06:00
4296f0a771 Fill remaining global scope constant descriptions 2023-11-13 15:17:10 +01:00
49bebf2bfb Sort decals and lights based on camera origin
Also implement sort_offset for decals

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2023-01-20 09:58:17 -08:00
d95794ec8a One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
ea33001b95 Add safety-checks before some servers free() 2022-12-29 16:23:38 -05:00
1cab6c91e9 Merge pull request #69998 from BastiaanOlij/sorting-pivot-4
Added options for sorting transparent objects (port of PR #63040)
2022-12-23 09:47:24 +01:00
6f4f38db07 Added options for sorting transparent objects (port of PR 63040) 2022-12-23 19:30:33 +11:00
7972107c48 Merge pull request #70114 from clayjohn/custom-aabb
Expose GeometryInstance3D.custom_aabb property
2022-12-17 12:27:46 +01:00
5d51478d70 Expose GeometryInstance3D.custom_aabb property 2022-12-15 10:03:40 -08:00
bf3966abf9 Fix the update of the inspector when instance shader uniform has changed 2022-12-15 18:39:30 +03:00
c07d13182c Some fixes for instance shader parameters 2022-11-09 21:20:11 +03:00
0b480c7d99 Fix typo in method of visual_instance_3d 2022-11-03 19:42:14 +01:00
be126d42d4 Merge pull request #67588 from KoBeWi/if(!GDVIRTUAL_CALL)don't
Simplify GDVIRTUAL_CALL calls
2022-10-31 11:55:56 +01:00
d06a8320e5 Simplify GDVIRTUAL_CALL calls 2022-10-19 00:05:48 +02:00
9ebd8c5bb5 Remove the global space get_transformed_aabb helper method 2022-10-18 07:30:31 -05:00
aed3822a93 Change return type of get_configuration_warnings to PackedStringArray 2022-09-19 16:43:15 +01:00
8191b3c110 Rename uniform to parameter across the engine 2022-09-01 11:42:57 +03:00
db22b7ded0 Rename shader parameter uniform setter/getter methods for consistency
`shader_uniform` is now consistenly used across both per-shader
and per-instance shader uniform methods. This makes methods easier
to find in the class reference when looking for them.
2022-08-04 23:17:06 +02:00
a151a74a98 Tweak Decal distance fade defaults and add property hints
The new default values are more usable in real world scenarios
when smooth fading of distant decals is desired for performance reasons.

The Decal distance fade property hints were adjusted based on the
GeometryInstance3D visibility range fade property hints. `or_greater`
was also added to allow specifying larger values if needed.
2022-07-27 03:15:46 +02:00
610363add0 Use the Static global illumination mode in GeometryInstance3D by default
This makes VoxelGI and SDFGI work out of the box with primitive meshes,
loaded OBJ meshes and CSG nodes.
2022-06-23 22:34:23 +02:00
4678736a39 Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
8f57d9519e Fix errors when materials attached to 3d object are not freed 2022-05-26 09:42:59 +03:00
5dc3bfb80e Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
7119d355eb String: Remove TTR and DTR defines in non-tools build
This ensures we don't use TTR in runtime code, as it's specifically meant
to source translations for the editor.
2022-03-28 20:26:35 +02:00
6f51eca1e3 Discern between virtual and abstract class bindings
* Previous "virtual" classes (which can't be instantiated) are not corretly named "abstract".
* Added a new "virtual" category for classes, they can't be instantiated from the editor, but can be inherited from script and extensions.
* Converted a large amount of classes from "abstract" to "virtual" where it makes sense.

Most classes that make sense have been converted. Missing:

* Physics servers
* VideoStream
* Script* classes.

which will go in a separate PR due to the complexity involved.
2022-03-10 12:28:11 +01:00
0f5455230c Use switch consistently in _notification (scene folder) 2022-02-15 18:44:55 +01:00
7e3b92f81f Merge pull request #55360 from Calinou/rename-bake-mode-properties 2022-01-20 17:35:32 +01:00
ca79373d13 Added material_overlay property to MeshInstance3D
Applying overlay materials into multi-surface meshes currently
requires adding a next pass material to all the surfaces, which
might be cumbersome when the material is to be applied to a range
of different geometries. This also makes it not trivial to use
AnimationPlayer to control the material in case of visual effects.
The material_override property is not an option as it works
replacing the active material for the surfaces, not adding a new pass.

This commit adds the material_overlay property to GeometryInstance3D
(and therefore MeshInstance3D), having the same reach as
material_override (that is, all surfaces) but adding a new material
pass on top of the active materials, instead of replacing them.
2022-01-05 11:47:51 +01:00