summaryrefslogtreecommitdiffstats
path: root/servers/physics_server_3d.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add a method to set the number of physics solver iterations in 3DHugo Locurcio2021-07-101-0/+2
| | | | | This is only for GodotPhysics, and adds a 3D counterpart to the 2D method that was recently added.
* Remove unused PhysicsShapeQueryResult3D & PhysicsShapeQueryResult2DPouleyKetchoupp2021-07-051-31/+0
|
* Expose body_test_motion in 3D physics serverPouleyKetchoupp2021-07-021-0/+88
| | | | | | | Results are exposed through PhysicsTestMotionResult3D, the same way it's done for 2D. Also cleaned a few things in the 2D version.
* Safe margin cleanupPouleyKetchoupp2021-06-041-3/+0
| | | | | | | | Safe margin property on CharacterBody only, used as argument in move_and_collide. Removed kinematic_safe_margin in 3D physics server, not really useful and now harmonized with 2D.
* More explanatory names for RigidBody modesPouleyKetchoupp2021-06-041-2/+2
| | | | | | | | | MODE_DYNAMIC instead of MODE_RIGID MODE_DYNAMIC_LOCKED instead of MODE_CHARACTER No more special case for sleeping behavior for MODE_DYNAMIC_LOCKED (MODE_CHARACTER was forcing the body not to sleep, which is redundant with can_sleep and wasn't done in Bullet).
* Rename Variant TRANSFORM to TRANSFORM3DAaron Franke2021-06-031-2/+2
| | | Also _transform to _transform3d
* Rename Transform to Transform3D in coreAaron Franke2021-06-031-4/+4
|
* Prevent setting too big or too small Collision Mask and LayerRafał Mikrut2021-04-301-2/+2
|
* Unexpose _direct_state_changed in PhysicsBodyrafallus2021-04-221-1/+1
| | | | | | | Removed _direct_state_changed bindings Affects 2D and 3D nodes Callbacks now use Callable Tests were changed accordingly
* SoftBody support in GodotPhysics 3DPouleyKetchoupp2021-03-181-0/+5
| | | | | | | | | | | | - Fixed SoftBody surface update with new rendering system - Added GodotPhysics implementation for SoftBody - Added support to get SoftBody rid to interact with the physics server - Added support to get SoftBody bounds from the physics server - Removed support for unused get_vertex_position and get_point_offset from the physics server - Removed SoftBody properties that are unused in both Bullet and GodotPhysics (angular and volume stiffness, pose matching) - Added RenderingServerHandler interface to PhysicsServer3D so the physics servers don't need to reference the class from SoftBody node directly
* doc: Sync classref with current sourceRémi Verschelde2021-02-191-1/+1
| | | | And fix various bogus bindings following previous PRs.
* Make Servers truly Thread Safereduz2021-02-101-15/+53
| | | | | | | | | -Rendering server now uses a split RID allocate/initialize internally, this allows generating RIDs immediately but initialization to happen later on the proper thread (as rendering APIs generally requiere to call on the right thread). -RenderingServerWrapMT is no more, multithreading is done in RenderingServerDefault. -Some functions like texture or mesh creation, when renderer supports it, can register and return immediately (so no waiting for server API to flush, and saving staging and command buffer memory). -3D physics server changed to be made multithread friendly. -Added PhysicsServer3DWrapMT to use 3D physics server from multiple threads. -Disablet Bullet (too much effort to make multithread friendly, this needs to be fixed eventually).
* Use real_t in physics codeAaron Franke2021-01-281-5/+5
|
* Correctly expose transform as 3D transformWinston Yallow2021-01-271-1/+1
|
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
* Variant: Rename Type::_RID to Type::RIDRémi Verschelde2020-11-091-2/+2
| | | | | | | | The underscore prefix was used to avoid the conflict between the `RID` class name and the matching enum value in `Variant::Type`. This can be fixed differently by prefixing uses of the `RID` class in `Variant` with the scope resolution operator, as done already for `AABB`.
* Reorganized core/ directory, it was too fatty alreadyreduz2020-11-071-2/+2
| | | | | | -Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
* Refactor MethodBind to use variadic templatesreduz2020-10-181-1/+0
| | | | Removed make_binders and the old style generated binders.
* Merge pull request #37350 from aaronfranke/force-impulseRémi Verschelde2020-07-021-7/+7
|\ | | | | Refactor physics force and impulse code to use (force, position) order
| * Refactor physics force and impulse codeAaron Franke2020-06-021-7/+7
| |
* | Expose shape property for shape query parameters classesAndrii Doroshenko (Xrayez)2020-06-261-5/+14
| | | | | | | | Co-authored-by: PouleyKetchoupp <pouleyketchoup@gmail.com>
* | Check for motion in cast_motion() before doing Bullet convexSweepTest().Marcel Admiraal2020-06-211-1/+1
|/ | | | | Also ensure that default closest_safe and closest_unsafe values are defined in cast_motion() and before cast_motion() is called.
* Style: Enforce braces around if blocks and loopsRémi Verschelde2020-05-141-9/+18
| | | | | Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
* Style: Enforce separation line between function definitionsRémi Verschelde2020-05-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-37/+0
| | | | | | | | | | | | | | Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
* Replace NULL with nullptrlupoDharkael2020-04-021-5/+5
|
* More server renames for consistency after #37361Rémi Verschelde2020-03-281-1/+1
|
* Renaming of servers for coherency.Juan Linietsky2020-03-271-0/+800
VisualServer -> RenderingServer PhysicsServer -> PhysicsServer3D Physics2DServer -> PhysicsServer2D NavigationServer -> NavigationServer3D Navigation2DServer -> NavigationServer2D Also renamed corresponding files.