This commit adds a view-dependant fade to the 3D viewport grid. It fades out
at steep view angles to hide the solid regions that appear far from the camera.
I also included a fade to hide the grid borders.
I added some improvements to the dynamic grid when the camera is in orthogonal mode.
It properly handles zoom now, and the grid center is now set to the intersection point
between the grid plane and the camera forward ray, keeping the grid
always visible.
(cherry picked from commit 73e62dffb9)
Like the Tween cheatsheet or Color constants cheatsheet, this references
a "cheatsheet" image from the documentation repository.
(cherry picked from commit 200f1cf015)
There are no guarantees that joypads are in event0-event32
range. Some devices, such as laptops with detachable keyboards
and wacom can reserve events all the way up to 32.
Some udev rules with e.g. custom controller firmwares may
load the device as /dev/input/eventX, where X is greater than
32.
This patch uses POSIX dirent to enumerate the event devices, so
entries outside 0-32 range are not skipped.
(cherry picked from commit 01c030f9b7)
A major feature lacking in the octree was proper support for setting visibility / activation. This meant that invisible objects were still causing lots of processing in the tree unnecessarily.
This PR adds proper support for activation, items are temporarily removed from the tree and collision detection when inactive.
Fix bug whereby AABBs were reused from previous items due to use of a pool, resulting in missed collisions.
Also use full mask collision checks for all cases except generic update.
After adding `_change_notify("extents");` to `set_extents()` method in `BakedLightmap` class
the issue was fixed
Fix disconnection between Gizmo and inspector values on BakedLightmap
Remove unnecessary `_change_notify("bake_extents")` call from `set_extents()`
In the octree collisions are flushed as objects are moved, whereas in the BVH they are usually flushed once per frame.
This was causing problems in the render tree in some rare situations where objects were being created (perhaps deleted and recreated using the same handle in the same frame). This PR flushes the collisions before creating objects, and set_pairable.
set_pairable may not be necessary but it is done for safety until proven not necessary.
Also a small potential for a bug is closed in remove_unordered use.
Moved AppDelegate push notifications methods implementation to 'GODOT_ENABLE_PUSH_NOTIFICATIONS'
which can be used in plugins to implement APNS plugins.
(cherry picked from commit 366ce084f4)
This can be used to print thread IDs in logs. This can make it easier
to debug multi-threaded applications.
Co-authored-by: Khaos <khaos@khaos-coders.org>
(cherry picked from commit 35b046ddf7)