summaryrefslogtreecommitdiff
path: root/scene/3d
AgeCommit message (Collapse)Author
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
2022-01-13CameraMatrix: Pre-allocate Vector in get_projection_planes().Anilforextra
2022-01-12Merge pull request #55446 from Calinou/spritebase3d-remove-opacityRémi Verschelde
2022-01-12Merge pull request #56492 from akien-mga/remove-author-docstringsRémi Verschelde
2022-01-11Fixed incorrect property typesArnav Vijaywargiya
2022-01-08Use fill() to fill an entire image instead of setting pixels individually.Anilforextra
2022-01-07Fix NavigationObstacle errorsPawel Lampe
* `NavigationObstacle2D` premature radius estimation (before entering the tree) * `NavigationObstacle3D` premature radius estimation (before entering the tree)
2022-01-06Fix incorrect default transform values on foreign 3D nodesSaracenOne
2022-01-05Merge pull request #53684 from TokageItLab/orthogonal-modeRémi Verschelde
2022-01-05Added material_overlay property to MeshInstance3DFernando Cosentino
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-05Merge pull request #56491 from hinlopen/n3d-minor-improvementRémi Verschelde
Minor code improvements in Node3D
2022-01-04Minor code improvements in Node3D. Refactor Node3D::show/hide/set_visible to ↵Stijn
a shared implementation.
2022-01-04Style: Remove inconsistently used `@author` docstringsRémi Verschelde
Each file in Godot has had multiple contributors who co-authored it over the years, and the information of who was the original person to create that file is not very relevant, especially when used so inconsistently. `git blame` is a much better way to know who initially authored or later modified a given chunk of code, and most IDEs now have good integration to show this information.