summaryrefslogtreecommitdiff
path: root/servers
AgeCommit message (Collapse)Author
2021-05-01Merge pull request #48341 from sboron/fix-tangent-issueRémi Verschelde
Fix broken tangents in vulkan rendering server on godot 4
2021-05-01fix-tangents-on-rendering-serverStefan Boronczyk
2021-04-30Implement Particle Trailsreduz
-Enable the trails and set the length in seconds -Provide a mesh with a skeleton and a skin -Or, alternatively use one of the built-in TubeTrailMesh/RibbonTrailMesh -Works deterministically -Fixed particle collisions (were broken) -Not working in 2D yet (that will happen next)
2021-04-30Prevent setting too big or too small Collision Mask and LayerRafał Mikrut
2021-04-28Merge pull request #48239 from akien-mga/goodbye-copymemRémi Verschelde
Core: Drop custom `copymem`/`zeromem` defines
2021-04-27Merge pull request #48050 from JFonS/occlusion_cullingRémi Verschelde
2021-04-27Core: Drop custom `copymem`/`zeromem` definesRémi Verschelde
We've been using standard C library functions `memcpy`/`memset` for these since 2016 with 67f65f66391327b2967a20a89c3627e1dd6e84eb. There was still the possibility for third-party platform ports to override the definitions with a custom header, but this doesn't seem useful anymore.
2021-04-27Fix shader handle constant expressions in function callYuri Roubinsky
2021-04-27Merge pull request #48187 from brakhane/remove-dupe-commentsRémi Verschelde
Remove duplicate comments
2021-04-25Remove duplicate commentsDennis Brakhane
A few single line comments were duplicated, probably due to bad merges. This commit removes the obviously duplicate ones.
2021-04-24Fix AudioServer Crash when bus count equals 0Maganty Rushyendra
2021-04-23Implement occlusion cullingjfons
Added an occlusion culling system with support for static occluder meshes. It can be enabled via `Project Settings > Rendering > Occlusion Culling > Use Occlusion Culling`. Occluders are defined via the new `Occluder3D` resource and instanced using the new `OccluderInstance3D` node. The occluders can also be automatically baked from a scene using the built-in editor plugin.
2021-04-22Unexpose _direct_state_changed in PhysicsBodyrafallus
Removed _direct_state_changed bindings Affects 2D and 3D nodes Callbacks now use Callable Tests were changed accordingly
2021-04-21Merge pull request #48046 from BastiaanOlij/fix_reflection_probeRémi Verschelde
Fix reflection probe
2021-04-21Fix reflection probeBastiaan Olij
2021-04-20Merge pull request #47347 from nekomatata/heightmap-supportRémi Verschelde
Heightmap collision shape support in Godot Physics
2021-04-17Split particle shader entry pointsreduz
* Particle shaders now have start() and process() * Particle collision happens between them. * The RESTART property is kept, so porting an old shader is still possible. This fixes the problem of particle collisions not functioning on the first particle frame.
2021-04-16Merge pull request #47942 from nekomatata/joint-check-body-typesRémi Verschelde
Fix errors related to joints setup with two non-dynamic bodies
2021-04-15Fix errors related to joints setup with two non-dynamic bodiesPouleyKetchoupp
2021-04-15Optimize BroadPhase2dHashGrid to not pair elements on different layersHenry Conklin
Clean up logic in _check_motion Closes 45824
2021-04-15Merge pull request #47878 from clayjohn/rename-get_surface_materialRémi Verschelde
Rename get_surface_material to get_surface_override_material
2021-04-14Rename get_surface_material to get_surface_override_materialclayjohn
2021-04-14Merge pull request #47846 from nekomatata/solver-optimizationRémi Verschelde
Godot Physics solver optimization
2021-04-14Refactor GLSL shader compilationreduz
-Used a more consistent set of keywords for the shader -Remove all harcoded entry points -Re-wrote the GLSL shader parser, new system is more flexible. Allows any entry point organization. -Entry point for sky shaders is now sky(). -Entry point for particle shaders is now process().
2021-04-12Godot Physics solver optimizationPouleyKetchoupp
Several optimizations in the way solver islands are processed in both 2D and 3D physics: - Use LocalVector instead of linked list to avoid cache misses (with persistent storage based on worst case scenario) - Remove pairs when setup fails (no valid contact) to avoid unnecessary solving of non-colliding rigid bodies just to return immediately
2021-04-12Fix SoftBody contact impulses applied on rigid bodiesPouleyKetchoupp
Parameters were inverted in `apply_impulse` and `apply_bias_impulse` due to a modification on master.
2021-04-09Remove low_end option from renderer, being replaced by separate implementationBastiaan Olij
2021-04-06Merge pull request #47678 from madmiraal/fix-47436.1Rémi Verschelde
Check for empty ConcavePolygonShape2D before checking for intersection
2021-04-06Merge pull request #47675 from madmiraal/fix-47436Rémi Verschelde
Check ConvexPolygonShape2D point count before calcuating moment of inertia
2021-04-06Merge pull request #47668 from madmiraal/fix-47438Rémi Verschelde
Ensure ConvexPolygonShape3D support count variable is initialised
2021-04-06Check for empty ConcavePolygonShape2D before checking for intersectionMarcel Admiraal
2021-04-06Check ConvexPolygonShape2D point count before calcuating moment of inertiaMarcel Admiraal
2021-04-06Ensure ConvexPolygonShape3D support count variable is initialisedMarcel Admiraal
2021-04-06Ensure ConvexPolygonShape support count variable is initialisedMarcel Admiraal
2021-04-05Move clustered renderer functionalityBastiaan Olij
2021-04-05Style: Apply clang-tidy's `readability-braces-around-statements`Rémi Verschelde
2021-04-05Style: Apply clang-tidy's `modernize-use-nullptr`Rémi Verschelde
2021-04-05Style: Apply clang-tidy's `modernize-use-default-member-init`Rémi Verschelde
2021-04-03Merge pull request #47452 from BastiaanOlij/xr_positional_tracker_refRémi Verschelde
Change XRPositionalTracker to a reference (master)
2021-04-02Fix crash caused by null parameter passed to CameraServer.add_feed()lucicam
Fixes #46181 CameraServer.add_feed() takes a CameraFeed object type as parameter. Passing in another type of data while binding the method it will make tha parameter null. Added a check for null which returns from function and does not make the engine crash anymore.
2021-03-31Merge pull request #47250 from BastiaanOlij/check_vulkan_versionRémi Verschelde
Obtain supported Vulkan API
2021-03-31As GLSLang seems to be all or nothing, added our own definesBastiaan Olij
2021-03-31[Complex Text Layouts] Provide access to glyph contour points.bruvzg
2021-03-29Change XRPositionalTracker to a reference and better expose it to GDNativeBastiaan Olij
2021-03-26Merge pull request #44695 from madmiraal/fix-44632Rémi Verschelde
Remove all elements from monitored_bodies and monitored_areas when processed
2021-03-26Obtain supported Vulkan APIBastiaan Olij
2021-03-25Heightmap collision shape support in Godot PhysicsPouleyKetchoupp
2021-03-25Fix failure in set_primary_interface when parameter is nulllucicam
The program would fail if the parameter is passed as null in set_primary_interface because in the print_verbose, the get_namea) method is called on the parameter and this causes a failure if the parameter that was passed is null. Same fix was done in 3.x also and it seems to be present in master too.
2021-03-22[Godot Physics]: Correct typo in moment of inertia calculations.Josh Jones
The moment of inertia calculation for BoxShape is: ``` Vector3( (p_mass / 3.0) * (ly * ly + lz * lz), (p_mass / 3.0) * (lx * lx + lz * lz), (p_mass / 3.0) * (lx * lx + ly * ly)); ``` where the final line includes both the x and y extents. However, for CapsuleShape3D, CylinderShape3D, ConvexPolygonShape3D, ConcavePolygonShape3D, and HeightMapShape3D, the final line read `(p_mass / 3.0) * (extents.y * extents.y + extents.y * extents.y)`. I believe this is a mistake, considering the comment in each case mentions using an AABB approximation, which should follow the same approach as BoxShape. This change corrects the final line to include both the x and y components of the shape's extent.
2021-03-20Merge pull request #46917 from nekomatata/solver-kinematic-bug-fixRémi Verschelde
Fix GodotPhysics solver with kinematic body set to report contacts