Age | Commit message (Collapse) | Author |
|
And fix various bogus bindings following previous PRs.
|
|
Implements https://github.com/godotengine/godot-proposals/issues/1835#issuecomment-727186192
* PauseMode is now ProcessMode, containing the following states:
```
PROCESS_MODE_INHERIT, // same as parent node
PROCESS_MODE_NORMAL, // process only if not paused
PROCESS_MODE_PAUSE_ONLY, // process only if paused
PROCESS_MODE_ALWAYS, // process always
PROCESS_MODE_DISABLED, // never process
```
* NOTIFICATION_PAUSED and NOTIFICATION_UNPAUSED are received effectively when the node is paused and unpaused (not any longer when pause mode is set in SceneTree).
* Renamed some nodes that used ProcessMode/process_mode to specify a callback type to ProcessCallback to avoid clashes.
|
|
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 a pop on play() in AudioStreamPlayer2D and 3D
|
|
|
|
CPUParticles3D crash fix
|
|
add check to see if p_order is in range for CPUParticles3D::set_draw_order'
|
|
Fixes #40301.
Fixes #45947.
|
|
|
|
Return setseek position if one exists in get_playback_position.
|
|
Implement CollisionPolygon3D margin
|
|
|
|
Accomodate blend shape ranges of -1 to +1 for Vulkan
|
|
|
|
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap.
-For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed()
-Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
|
|
Initialize class variables with default values in scene/ [2/2]
|
|
-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).
|
|
|
|
|
|
Bugfix: Update transform of collision shape on NOTIFICATION_PARENTED …
|
|
|
|
|
|
invalid transform of collision shape in cases where the node is not supposed to enter the scene tree)
|
|
-Always use temporal reproject, it just loos way better than any other filter.
-By always using termporal reproject, the shadowmap reduction can be done away with, massively improving performance.
-Disadvantage of temporal reproject is update latency so..
-Made sure a gaussian filter runs in XY after fog, this allows to keep stability and lower latency.
|
|
This prefix is used in the C++ codebase, not in the scripting API.
|
|
Fix particles not properly updated by their lifetime
|
|
Use Math_TAU and deg2rad/etc in more places and optimize code
|
|
Use real_t in physics nodes
|
|
Modernize Thread
|
|
|
|
- Based on C++11's `thread` and `thread_local`
- No more need to allocate-deallocate or check for null
- No pointer anymore, just a member variable
- Platform-specific implementations no longer needed (except for the few cases of non-portable functions)
- Simpler for `NO_THREADS`
- Thread ids are now the same across platforms (main is 1; others follow)
|
|
|
|
|
|
Do not clear materials when setting mesh
|
|
-SDFGI direct light is done over many frames
-SDFGI Changed settings for rays/frame
-SDFGI Misc optimizations
-SDFGI Bug fix on probe scroll
-GIProbe was not working, got it to work again
-GIProbe dynamic objects were not working, fixed
-Added a half size GI option.
|
|
Fixed 6DOF set/get check for the path starting with joint_constraints
|
|
Clustering is now GPU based, uses an implementation based on the Activision algorithm.
|
|
New code checks whether or not property has joint_constraints as the first part of its path.
|
|
Improve Raycast3D render debug
|
|
Tweak the 3D light size property to only allow reasonable values
|
|
Update area-body_shape_entered-exited signal documentation.
|
|
Fix Raycast3D node render debug not showing in editor camera preview.
Use dynamic mesh update to change the ray on-the-fly without too much
extra cost when collision debug is enabled.
Fixes #43571
|
|
|
|
CI: Update to clang-format 11 and apply ternary operator changes
|
|
|
|
This change does two things:
1. Properly update the internal shape data using _update_in_shape_owner
when updating a shape (in 2D it was resetting one way collision)
2. Avoid unnecessary updates when calling set_shape with the same shape,
which happens each time a shape property is modified
(e.g shape.extents.x = ...)
Fixes #45090
|
|
|