summaryrefslogtreecommitdiff
path: root/servers
AgeCommit message (Collapse)Author
2021-05-04Merge pull request #48221 from nekomatata/solver-multithreadedRémi Verschelde
Godot Physics collisions and solver processed on threads
2021-05-03Assorted fixes to UV unwrapping and GPU lightmapperjfons
Various fixes to UV2 unwrapping and the GPU lightmapper. Listed here for context in case of git blame/bisect: * Fix UV2 unwrapping on import, also cleaned up the unwrap cache code. * Fix saving of RGBA images in EXR format. * Fixes to the GPU lightmapper: - Added padding between atlas elements, avoids bleeding. - Remove old SDF generation code. - Fix baked attenuation for Omni/Spot lights. - Fix baking of material properties onto UV2 (wireframe was wrongly used before). - Disable statically baked lights for objects that have a lightmap texture to avoid applying the same light twice. - Fix lightmap pairing in RendererSceneCull. - Fix UV2 array generated from `RenderingServer::mesh_surface_get_arrays()`. - Port autoexposure fix for OIDN from 3.x. - Save debug textures as EXR when using floating point format.
2021-05-03Create mobile rendererBastiaan Olij
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-26Godot Physics collisions and solver processed on threadsPouleyKetchoupp
Use ThreadWorkPool to process physics step tasks in multiple threads. Collisions are all processed in parallel and solving impulses is processed in parallel for rigid body islands. Additional changes: - Proper islands for soft bodies linked to active bodies - All moving areas are on separate islands (can be parallelized) - Fix inconsistencies with body islands (Kinematic bodies could link bodies together or not depending on the processing order) - Completely prevent static bodies to be active (it could cause islands to be wrongly created and cause dangerous multi-threading operations as well as inconsistencies in created islands) - Apply impulses only on dynamic bodies to avoid unsafe multi-threaded operations (static bodies can be on multiple islands) - Removed inverted iterations when populating body islands, it's now faster in regular order (maybe after fixing inconsistencies)
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