Commit Graph

663 Commits

Author SHA1 Message Date
7c5e16effb Renamed Particle to GPUParticle and Particle2D to GPUParticle2D pt2. 2024-07-16 16:14:42 +02:00
db3680f8e7 Fix includes. 2024-07-16 16:06:23 +02:00
cac80e3167 Renamed Particle to GPUParticle and Particle2D to GPUParticle2D pt1. 2024-07-16 16:02:00 +02:00
9af21bf8a5 Adding back the gpu based particles pt1. 2024-07-16 08:22:27 +02:00
f297ccbc7d Added back the scene side lighmapper classes. 2024-07-15 21:20:48 +02:00
d899382c30 Added back the xatlas_unwrap module. Also moved xatlas into it so it's not in the thirdparty folder. 2024-07-15 20:21:33 +02:00
62fdccce25 Adding back lightmaps pt2. 2024-07-15 19:15:47 +02:00
98cbf1026a Adding back lightmaps pt1. 2024-07-15 17:36:28 +02:00
kleonc
18cabe9d32 Always look for unique node names in owner if not found in owned nodes
(cherry picked from commit 95ced4bbdcea4d8e225e235fc120c4ebd72f443d)
2024-07-14 21:03:13 +02:00
lawnjelly
9909bef3d6 Physics Interpolation - refactor client interpolation pump
* Move client interpolation pump to earlier in the iteration before 3D physics synced
* Allow `get_global_transform_interpolated()` to prime the client interpolation inside a physics tick
2024-07-14 11:19:30 +02:00
lawnjelly
1be9006ab0 Physics Interpolation - refactor Camera and fix get_camera_transform()
* Moves 3D Camera interpolation scene side.
* Automatically switches `get_camera_transform()` to report interpolated transform during `_process()`.
* Fixes `ClippedCamera` to work with physics interpolation.
2024-07-14 11:18:12 +02:00
lawnjelly
113b4d8f84 Editor 3D view mesh stats
Similar to information window, add a small optional window to display face count and other stats.
2024-07-14 09:47:31 +02:00
lawnjelly
4f1f6633e1 Fix Viewport interpolation mode
Viewport interpolation mode is a special case, which should be set to ON instead of INHERIT.
2024-07-14 08:40:21 +02:00
lawnjelly
2473bd2234 Physics Interpolation - Fix VisualInstance::set_instance_use_identity_transform()
The logic for updating the `VisualServer` with the transform was the wrong way around.
2024-07-14 08:38:04 +02:00
150b8e5c02 Update theme item names for pandemonium. 2024-07-14 08:29:21 +02:00
Haoyu Qiu
410029c9e0 Fix theme item parameter completion 2024-07-14 08:27:13 +02:00
Haoyu Qiu
b43f5d220a Add range hint for ViewportContainer.stretch_shrink 2024-07-14 08:26:25 +02:00
lawnjelly
c7888ff2da Mesh merging - refactor to be backward compatible for CPU / GPU storage
Allows the old `merge_meshes()` function to work from the editor.
2024-07-14 08:16:10 +02:00
lawnjelly
21f913be43 Fix physics tick counter
The counter is now incremented at the start of a physics tick rather than the end.
2024-07-14 08:12:52 +02:00
kleonc
e5ec234b16 Fix AtlasTexture::draw_rect flipping for non-zero margin 2024-07-14 07:52:01 +02:00
Haoyu Qiu
144e69dc2c Fix TabContainer not updating content rect after toggling tab icon 2024-07-14 07:50:36 +02:00
18335d938c Revert "Ignore a maybe-uninitialized warning in AudioStreamPlayer3D."
This reverts commit 05f19a003b.
2024-06-18 13:44:32 +02:00
05f19a003b Ignore a maybe-uninitialized warning in AudioStreamPlayer3D. 2024-06-18 10:32:33 +02:00
3b84801274 Added a group for the toplevel property in Node2D. 2024-05-11 10:37:52 +02:00
1b14af3a98 Moved the y_sort property from YSort to Node2D. Node2d has it off by default while YSort has it on by default. 2024-05-10 17:23:52 +02:00
f09ab537e0 Clang-format everything. 2024-04-21 15:27:36 +02:00
2c09e8c8af Fix compile error. 2024-04-21 14:58:11 +02:00
789e640b9d Fix build. 2024-04-21 14:54:17 +02:00
Paweł Fertyk
2154c87432 Fix AudioStreamPlayer not paused on pause mode change
Fixes #58543.
2024-04-21 14:27:49 +02:00
lawnjelly
91090ff296 Portals - defer setting active in VisualServer until enter tree
`set_portal_active()` was being called loading packed scenes prior to entering the tree, visual server portals had not been fully created at this point hence the call was being ignored with an error flagged.
This PR defers the call until after entering the tree.
2024-04-21 14:22:52 +02:00
lawnjelly
64bbac30ee Fix physics on_floor_body crash
Physics body previously stored the RID of a collision object and accessed it on the next frame, leading to a crash if the object had been deleted.
This PR stores the ObjectID in addition to the RID, and checks the object still exists prior to access.
2024-04-21 14:20:26 +02:00
Haoyu Qiu
b67115fd35 Store ObjectID instead of pointer for KinematicCollision owner 2024-04-21 14:17:59 +02:00
Haoyu Qiu
9f75f7dfc0 Fix SceneTree not respecting virtual process methods
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2024-04-21 14:15:45 +02:00
6faa98c32a Backported from godot4: Save PackedByteArrays as base64 encoded.
- groud
de5073519e
2024-04-14 17:32:05 +02:00
Haoyu Qiu
441bb29fd3 Add is_zero_approx methods to Vector{2,3} 2024-04-14 16:44:38 +02:00
Haoyu Qiu
1d18b076de Add Node.is_node_ready 2024-04-14 16:35:04 +02:00
577376b61f Fix AnimationTree. 2024-04-06 14:00:16 +02:00
f6d9ca069f Fix build. 2024-04-06 13:46:57 +02:00
4f93164401 Backported ORMSpatialMaterial from Godot 3.x without any breaking changes. 2024-04-06 12:57:23 +02:00
A Thousand Ships
240585c58b Fix building with disable_3d 2024-04-06 12:25:17 +02:00
lawnjelly
909acac329 Discrete Level of Detail
Add scene side discrete level of detail.

New node `LOD` for UI, and `LODManager` within `World` for automatically updating child visibilities based on distance from cameras.
2024-04-06 12:06:01 +02:00
lawnjelly
942a304f4e Physics Interpolation 2D - fix light and light occluder resetting
It turns out `NOTIFICATION_TRANSFORM_CHANGED` is deferred for these nodes, which can mean the transform is not set in the `VisualServer` until after the reset has been sent, even if the transform is set before the reset in script. This prevented the reset from acting correctly.

Here we explicitly set the transform prior to each reset, to ensure the `VisualServer` is up to date.
2024-04-06 11:02:42 +02:00
lawnjelly
010b8ba73b Optimize AnimationTree::_process_graph()
Removes redundant lookups on HashMap.
2024-04-06 10:59:29 +02:00
lawnjelly
da78ed110a Fix Mesh::get_face_count()
This fixes a minor bug whereby facecount was actually returning the facecount * 3.
There were no major problems from this, but it did mean the optional threshold poly count used when merging was out by a factor of 3.
2024-04-06 10:42:03 +02:00
c0805afa6c Rework the vertex light 3d module to actually be 3d. 2024-03-27 16:02:08 +01:00
cd8f79865e Added a property to World2D for the vertex light 2d map. 2024-03-27 08:16:48 +01:00
d7a54d702d Free vertex_lights_2d_map in World2D's destructor. 2024-03-25 09:17:44 +01:00
3fc75ad15f Set up VertexLight2D maps. 2024-03-24 22:14:26 +01:00
272ae15993 Now tooltips won't get scaled to their original control's scale anymore by default. Added a new gui_scale_tooltips property to Viewport to be able to use the previous behaviour when it's desired. 2024-03-13 16:55:47 +01:00
105115dbb3 Removed clips_input() method and _clips_input() virtual method from Control. Made clip_contents to also have an input clipping effect, since I couldn't think any single instance where keeping them separated would be useful.
This fixes LayeredTileMap's editors clipping input while being invisible, and likely other smaller issues.
2024-03-12 17:29:22 +01:00