summaryrefslogtreecommitdiff
path: root/scene/3d
AgeCommit message (Collapse)Author
2022-04-04Zero initialize all pointer class and struct membersRémi Verschelde
This prevents the pitfall of UB when checking if they have been assigned something valid by comparing to nullptr.
2022-04-01Merge pull request #59331 from bartekd97/navigation-agent-layersRémi Verschelde
2022-03-28Merge pull request #59644 from akien-mga/template-no-editor-depRémi Verschelde
2022-03-28Merge pull request #59525 from fire-forge/fix-group-namesRémi Verschelde
2022-03-28Remove last editor code dependencies in template buildRémi Verschelde
SConstruct change also makes it possible to outright delete the `editor` folder in a `tools=no` build, which we use in CI to ensure no invalid cross-dependencies are added.
2022-03-28Fix inspector group name capitalizationFireForge
2022-03-28String: Remove TTR and DTR defines in non-tools buildRémi Verschelde
This ensures we don't use TTR in runtime code, as it's specifically meant to source translations for the editor.
2022-03-26Object: Remove unused category boilerplateRémi Verschelde
We might want to re-add something like this if/when we find a good use case for it and do the effort to categorize all objects in the API properly. Until then, it's better to remove that boilerplate since it's not needed. Closes #18711.
2022-03-20Expose navigable layers for NavigationAgent2D/3DBARTEK-PC\Bartek
2022-03-18Merge pull request #55399 from RPicster/particlesmaterial-sphere-emittershapeRémi Verschelde
ParticleMaterial: Sphere emission shape emitting from the volume.
2022-03-17Replace DirectionalLight3D's `use_in_sky_only` with `sky_mode` enumHugo Locurcio
3 options are available: - Light and Sky (default) - Light Only (new) - Sky Only (equivalent to `use_in_sky_only = true`) Co-authored by: clayjohn <claynjohn@gmail.com>
2022-03-15Create GDExtension clases for PhysicsServer3Dreduz
* Allows creating a GDExtension based 3D Physics Server (for Bullet, PhysX, etc. support) * Some changes on native struct binding for PhysicsServer This allows a 3D Physics server created entirely from GDExtension. Once it works, the idea is to port the 2D one to it.
2022-03-15Merge pull request #45263 from KoBeWi/😕Rémi Verschelde
2022-03-10Discern between virtual and abstract class bindingsreduz
* 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-09Change some math macros to constexprkobewi
Changes `MAX`, `MIN`, `ABS`, `CLAMP` and `SIGN`.
2022-03-09Avoid directional correction when the motion is downwardfabriceci
2022-03-08Merge pull request #49447 from Calinou/remove-shadow-color-propertyRémi Verschelde
Remove unused `shadow_color` property from Light3D
2022-03-05Rename StreamTexture* to CompressedTexture*reduz
* Its not and will not be used for streaming. * Streaming will be implemented in 4.1 and it will work different. * It makes more sense to be called CompressedTexture since it imports and compresses texture files.
2022-03-04Remove unused `shadow_color` property from Light3DHugo Locurcio
This shadow color property was no longer effective since the shaders were optimized to improve occupancy.
2022-03-04Merge pull request #58717 from CrezyDud/masterRémi Verschelde
2022-03-04Merge pull request #58512 from Calinou/light3d-add-distance-fadeRémi Verschelde
2022-03-03Add linear_velocity and angular_velocity to PhysicalBone3DMrSwedish
2022-02-28Joint2D and Joint3D: make set_exclude_nodes_from_collision respect signalsRicardo Buring
2022-02-28Joint2D and Joint3D: update joint on NOTIFICATION_POST_ENTER_TREERicardo Buring
This allows reparenting, etc.
2022-02-28Merge pull request #58596 from rburing/joints_disconnect_connected_signalsRémi Verschelde
`Joint2D` and `Joint3D`: disconnect only connected signals
2022-02-28Fix AnimatedSprite infinite loopHaoyu Qiu
2022-02-27Joint2D and Joint3D: disconnect only connected signalsRicardo Buring
2022-02-25Implement distance fade properties in OmniLight3D and SpotLight3DHugo Locurcio
This can be used to fade lights and their shadows in the distance, similar to Decal nodes. This can bring significant performance improvements, especially for lights with shadows enabled and when using higher-than-default shadow quality settings. While lights can be smoothly faded out over distance, shadows are currently "all or nothing" since per-light shadow color is no longer customizable in the Vulkan renderer. This may result in noticeable pop-in when leaving the shadow cutoff distance, but depending on the scene, it may not always be that noticeable.
2022-02-23Implementing OpenXR driverBastiaan Olij
2022-02-22Rename motion_velocity to velocityChris Bradfield
2022-02-16Style: Cleanup single-line blocks, semicolons, dead codeRémi Verschelde
Remove currently unused implementation of TextureBasisU, could be re-added later on if needed and ported.
2022-02-15Use `switch` consistently in `_notification` (`scene` folder)Rémi Verschelde
2022-02-12Improve compilation speed (forward declarations/includes cleanup)Hendrik Brucker
2022-02-10Fix typos with codespellRémi Verschelde
Using codespell 2.2-dev from current git. Added `misc/scripts/codespell.sh` to make it easier to run it once in a while and update the skip and ignore lists.
2022-02-08Merge pull request #57627 from JFonS/occluder_improvementsRémi Verschelde
2022-02-08Fix RayCast{2,3}D.clear_exceptions clears parentHaoyu Qiu
2022-02-07Improvements and fixes to occludersjfons
Improvements: * Occluder3D is now an abstract type inherited by: ArrayOccluder3D, QuadOccluder3D, BoxOccluder3D, SphereOccluder3D and PolygonOccluder3D. ArrayOccluder3D serves the same purpose as the old Occluder3D (triangle mesh occluder) while the rest are primitives that can be used to manually place simple occluders. * Occluder baking can now apply simplification. The "bake_simplification_distance" property can be used to set a world-space distance as the desired maximum error, set to 0.1 by default. * Occluders can now be generated on import. Using the "occ" and "occonly" keywords (similar to "col" and "colonly" for colliders) or by enabling on MeshInstance3Ds in the scene's import window. Fixes: * Fixed saving of occluder files after bake. * Fixed a small error where occluders didn't correctly update in the rendering server. Bonus content: * Generalized "CollisionPolygon3DEditor" so it can also be used to edit Resources. Renamed it to "Polygon3DEditor" since it was already being used by other things, not just colliders. * Fixed a small bug in "EditorPropertyArray" where a call to "remove" was left after the "remove_at" rename.
2022-02-06Add missing SNAME macro optimization in some function callsjmb462
2022-02-04String: Add contains().Anilforextra
2022-02-01Merge pull request #57355 from akien-mga/method-bindings-clearer-typesRémi Verschelde
2022-01-29simplify formatting scripts, add a clang-tidy script, and run clang-tidyNathan Franke
2022-01-28Merge pull request #56601 from Scony/fix-navigation-obstacle-errorsRémi Verschelde
2022-01-28Improve some method bindings to use specific `Object` subtypesRémi Verschelde
This was made possible by changes to `VariantCaster` which now make it possible to pass any `Object`-derived type as pointer.
2022-01-26Revert #53174 (applying the delta in move and collide), rename rec_vel to ↵fabriceci
distance and improve the doc description
2022-01-25Store ObjectID instead of raw pointer for Shape OwnersHaoyu Qiu
2022-01-24Merge pull request #57144 from AnilBK/fix-pos-draggingRémi Verschelde
2022-01-25Node2D/Node3D: Fix Undraggable Position Property.Anilforextra
2022-01-24rename free mode to floating modefabriceci
2022-01-20Merge pull request #55360 from Calinou/rename-bake-mode-propertiesRémi Verschelde
2022-01-13Merge pull request #56740 from AnilBK/camera-pre-allocateRémi Verschelde