Age | Commit message (Collapse) | Author |
|
|
|
superclass
|
|
|
|
|
|
forward_clustered
|
|
Renaming RendererSceneRenderForward to ...ForwardClustered
|
|
so we can introduce RendererSceneRenderForwardMobile
|
|
|
|
Fixes #46738 by setting the default inertia to a valid value when there are no valid shapes for a 3d body.
Changed the comment style for the update_inertias method as well.
|
|
Renamed SDGIShader to SDFGIShader and moved a bunch of things to private
|
|
|
|
fix #46644
|
|
|
|
Fix rounding error in Clip Content [4.0]
|
|
Change CapsuleShape3D's collision detection axis to vertical
|
|
Rounds the position and size of the final clip rect to avoid flickering issues.
Fixes https://github.com/godotengine/godot/issues/46493
|
|
This fixes an issue where its collision detection would actually work as if it had the old default orientation.
|
|
Moving GI and Sky code from RendererSceneRenderRD into separate classes
|
|
Added missing returns on error scenarios
|
|
|
|
|
|
|
|
Joint3DSW instances are also destroyed without explicitly calling free()
for example when changing constrainted bodies at runtime using
set_node method.
|
|
Fixes #31627.
|
|
Moving Skyshader code into RendererServerSkyRD
|
|
Fix physics queries not filtering out disabled collision shapes
|
|
[TextServer] Restores bitmap font dynamic construction functions.
|
|
|
|
|
|
Implement a new resampling algorithm in AudioStreamPlaybackResampled
|
|
And fix various bogus bindings following previous PRs.
|
|
Prevent distortion filter from introducing NaNs in the audio buffer
|
|
|
|
Use Interleaved gradient noise for shadow samples
|
|
Move tablet driver API from OS to DisplayServer
|
|
Modernize atomics (and fix `volatile`)
|
|
- Based on C++11's `atomic`
- Reworked `SafeRefCount` (based on the rewrite by @hpvb)
- Replaced free atomic functions by the new `SafeNumeric<T>`
- Replaced wrong cases of `volatile bool` by the new `SafeFlag`
- Platform-specific implementations no longer needed
Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
|
|
|
|
-Advanced Settings toggle also hides advanced properties when disabled
-Simplified Advanced Bar (errors were just plain redundant)
-Reorganized rendering quality settings.
-Reorganized miscelaneous settings for clean up.
|
|
Fix test_body_motion recovery and rest info
|
|
This change makes test_body_motion more reliable when the kinematic body
recovers from being stuck.
- When recovery occurs, the rest information is generated, in order to
make sure collision results from test_move, move_and_collide and
move_and_slide are consistent and return a collision in case of overlap.
- The new calculation for recovery vector makes sure the recovery is
never more than the overlap depth between shapes.
This can help with cases where the kinematic body overlaps with several
shapes.
Recovery is made iteratively, without forcing a full overlap at each
step. This helps with getting proper rest information when recovery
occurs.
- One Way Collision:
When attempting motion, contact direction is checked against motion
before skipping in order to solve cases where kinematic bodies can sink
into one-way collision shapes.
Rest info now sets max contact depth in order to properly handle one-way
collision.
- Low speed motion is now handled in the rest info, by never setting
min_allowed_depth lower than motion length.
Separation is always applied with full margin, otherwise contact is lost
when low speed motion occurs right after higher speed motion.
- Similar changes are applied to 3D in order to make 2D and 3D
consistent.
|
|
|
|
|
|
|
|
|
|
Revised cylinder contact point generation in Godot Physics
|
|
Cylinder contact points generation is adjusted to make it more stable
when standing on triangle meshes.
Point-Circle:
Switched to simpler plane projection as it's done for Point-Face contact
points. It solves some cases where discrepancies between the two points
caused the cylinder to jump.
Edge-Circle:
Same as before, the case for edge has just been moved from Face-Circle
to a specific method.
Face-Circle:
The previous method was clipping edges against the circle, and then
tried to add contact points when there wasn't enough support and failed
in some cases.
Now using a different algorithm which adds proper contact points around
the circle more consistently.
First, by clipping edges against circle segments using Face-Face
algorithm.
Second, by clipping edges against the circle plane.
|
|
Accomodate blend shape ranges of -1 to +1 for Vulkan
|
|
|
|
Cylinder collision detection uses a mix of SAT and GJKEPA.
GJKEPA is used to find the best separation axis in cases where finding
it analytically is too complex.
Changes in SAT solver:
Added support for generating separation axes for cylinder shape.
Added support for generating contact points with circle feature.
Changes in GJKEPA solver:
Updated from latest Bullet version which includes EPA fixes in some
scenarios.
Setting a lower EPA_ACCURACY to fix accuracy problems with cylinder vs.
cylinder in some cases.
|