Commit Graph

2413 Commits

Author SHA1 Message Date
Rémi Verschelde 5eb5a99379
Merge pull request #84165 from clayjohn/softbody-bug
Ensure SoftBody3D does not use compressed mesh format.
2023-10-30 10:19:43 +01:00
Rémi Verschelde e2c79bcb95
Merge pull request #82471 from SaracenOne/recache_bone_attachment
Reimport bone attachment fixes
2023-10-30 10:18:00 +01:00
clayjohn 1d9554103c Ensure SoftBody3D does not use compressed mesh format. 2023-10-29 22:45:47 +01:00
BlueCube3310 bd67e0a0bc Change dropdown type filter to Texture2D in certain nodes 2023-10-28 17:39:47 +02:00
Saracen 4b671eec0e Reimport bone attachment fixes:
Assign bone_idx to GLTF importer to fix serialization.
Notifies Skeletons and BoneAttachments when reimporting.
Removes usage of NOTIFICATION_NODE_RECACHE_REQUESTED
2023-10-27 20:34:01 +01:00
Rémi Verschelde 23b1f213a8
Merge pull request #81616 from bitsawer/fix_multimesh_voxelgi_bake
Fix VoxelGI MultiMesh and CSG mesh baking
2023-10-26 15:58:29 +02:00
Rémi Verschelde bf46ee144d
Merge pull request #77788 from gongpha/stop-posting-about-(re)importing-assets-whatever-dot-exr
Avoid reimporting lightmap textures every getter call
2023-10-26 15:57:46 +02:00
Rémi Verschelde 346459e9fb
Merge pull request #83986 from SaracenOne/skeleton_bones_renamed_check
Add method check for `_notify_skeleton_bones_renamed`.
2023-10-26 12:10:32 +02:00
Saracen d0e5bff542 Add method check for _notify_skeleton_bones_renamed. 2023-10-26 10:22:59 +01:00
Rémi Verschelde 79e9e201e8
Merge pull request #82415 from Calinou/reflectionprobe-fix-high-max-distance-rendering-2
Clamp ReflectionProbe Max Distance to 262,144 to fix rendering issues
2023-10-26 08:57:35 +02:00
bitsawer cbb39f4b6e Fix VoxelGI MultiMesh and CSG mesh baking 2023-10-25 16:37:47 +03:00
Hugo Locurcio e4d846378b
Fix LightmapGI taking editor-only and sky-only lights into account
These lights are not visible when running the project (or at all),
so they shouldn't affect the lightmap baking process.
2023-10-23 22:56:17 +02:00
smix8 618d9492d9 Fix missing NavigationObstacle property updates in constructor
Fixes missing NavigationObstacle property updates in constructor.
2023-10-23 05:10:58 +02:00
smix8 9640179f93 Fix missing NavigationAgent property updates in constructor
Fixes missing NavigationAgent property updates in constructor.
2023-10-23 04:27:49 +02:00
smix8 2f1668804c Fix missing NavigationLink property updates in constructor
Fixes missing NavigationLink property updates in constructor.
2023-10-23 01:43:55 +02:00
A Thousand Ships 72fccd82c5 [Audio] Fix pausing stream on entering tree
The paused notifications are only sent when pause status is changed,
this ensures that streams that are non-processing do not play when added
to the tree. Also ensures that the `process_mode` property applies
generally.
2023-10-22 22:35:32 +02:00
Kongfa Waroros c165f0cf2e Avoid reimporting lightmap textures every getter call 2023-10-22 16:32:08 +07:00
smix8 b7be45279d Solve race condition between AThousandShips and Akien
Solves race condition between AThousandShips and Akien.
2023-10-21 19:04:41 +02:00
Rémi Verschelde d2cd907e28
Merge pull request #83705 from smix8/agent_y_velocity_.4x
Fix NavigationAgent3D stored y-axis velocity and make it optional
2023-10-21 15:51:53 +02:00
Rémi Verschelde 0dc915b480
Merge pull request #83701 from smix8/obstacle_height_4.x
Fix NavigationObstacle3D height
2023-10-21 15:51:30 +02:00
Rémi Verschelde 918da63797
Merge pull request #82593 from smix8/navobstacle_debug_transform_4.x
Fix NavigationObstacle3D debug being affected by rotation and scale
2023-10-21 15:51:02 +02:00
BlueCube3310 982ce34a58 Improve Curve3D Debug Drawing 2023-10-21 11:56:05 +02:00
smix8 4771431b28 Fix NavigationAgent3D stored y-axis velocity and make it optional
Fixes NavigationAgent3D stored y-axis velocity and makes it optional.
2023-10-21 01:11:26 +02:00
smix8 b30b672649 Fix NavigationObstacle3D height
Fixes NavigationObstacle3D height.
2023-10-21 00:08:50 +02:00
Mikael Hermansson a977199a3c Fix unit suffixes for `Generic6DOFJoint` 2023-10-20 13:33:34 +02:00
Mathias d4ced2506d Fix unit suffix for HingeJoint3D's target velocity 2023-10-17 18:53:55 +02:00
Rémi Verschelde cbfa941061
Merge pull request #83365 from Malcolmnixon/fix-disabled-nav-region
Fix enabling NavigationRegion3D saved disabled
2023-10-16 13:00:35 +02:00
Malcolm Nixon 0646b230e4 Fix enabling NavigationRegion3D saved disabled
This PR fixes issue #83364 by always registering the region when it enters the tree, and instead using region_set_enabled to control whether its enabled. The same logical changes have been applied to NavigationRegion2D.
2023-10-14 23:17:57 -04:00
风青山 30904ed3bc Fix cannot update remote after disabling `use_global_coordinates` in `RemoteTransform2D`
Due to the optimization in `CanvasItem`, `global_transform` is only
updated when `get_global_transform()` is called, and then notify
`NOTIFICATION_TRANSFORM_CHANGED`. That is, in the case where
`global_transform` is not obtained, the notification will not be sent.

So we use `NOTIFICATION_LOCAL_TRANSFORM_CHANGED` in this case. Use in
combination to prevent certain optimizations.

Same change for `RemoteTransform3D`, to prevent the same optimization
from being used in `Node3D` in the future.
2023-10-15 00:16:52 +08:00
Rémi Verschelde 135fa1ef5d
Merge pull request #83179 from clayjohn/tangents-sanitize
Sanitize tangents when creating mesh surfaces to avoid triggering the compressed mesh path in the shader
2023-10-13 22:17:02 +02:00
Dario a9a197d2dc Rewrite the GPU Lightmapper's indirect lighting logic to match Godot 3.5's CPU Lightmapper.
Port over the logic from Godot 3.5 for indirect lighting. This should fix many issues about indirect bounces causing more energy and improve the overall quality of the result.
2023-10-13 14:33:55 -03:00
clayjohn e3d31837eb Sanitize tangents when creating mesh surfaces to avoid triggering the compressed mesh path in the shader 2023-10-13 08:54:49 -06:00
Rémi Verschelde 55282ddc10
Merge pull request #79527 from QbieShay/qbe/particles-rework
Particle internal refactor and additions for more artistic control
2023-10-10 22:48:50 +02:00
QbieShay c228fe1a0d Particle internal refactor and additions for more artistic control
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Co-authored-by: Mew Pur Pur <85438892+MewPurPur@users.noreply.github.com>
Co-authored-by: Clay John <claynjohn@gmail.com>
2023-10-10 20:03:35 +02:00
bitsawer 416ef5ad1b Fix VoxelGI bake memory leak 2023-10-09 12:27:03 +03:00
kleonc db6a8956b2 Make gizmo plugin handle SpriteBase3D instead of Sprite3D 2023-10-06 11:03:44 +02:00
clayjohn 51ed3aef63 Vertex and attribute compression to reduce the size of the vertex format.
This allows Godot to automatically compress meshes to save a lot of bandwidth.

In general, this requires no interaction from the user and should result in
no noticable quality loss.

This scheme is not backwards compatible, so we have provided an upgrade
mechanism, and a mesh versioning mechanism.

Existing meshes can still be used as a result, but users can get a
performance boost by reimporting assets.
2023-10-05 12:02:23 -06:00
Rémi Verschelde 72cdb0b4c5
Merge pull request #82393 from jrouwe/body_changed_state
Fix performance regression in RigidBody2D/3D and PhysicalBone3D
2023-10-04 15:35:30 +02:00
bitsawer 12a2177967 Fix notification thread guards 2023-10-02 19:31:54 +03:00
Hugo Locurcio 14f40ec70e
Tweak Gravity Scale property hints to make dragging more useful
This also allows a more precise step.
2023-10-01 20:01:46 +02:00
Hugo Locurcio af73db3c6d
Tweak Camera3D `size` property hint to make dragging more useful
Values greater than the maximum can still be entered.
2023-10-01 03:49:17 +02:00
smix8 cbb9d21fd0 Fix NavigationObstacle3D debug being affected by rotation and scale
Fixes NavigationObstacle3D debug being affected by rotation and scale.
2023-09-30 22:35:38 +02:00
Yuri Sizov 7c23d4082b Merge pull request #82391 from warriormaster12/improve-skeleton_ik3D
Fix `SkeletonIK3D` editor preview when changing active node
2023-09-28 20:04:30 +02:00
Yuri Sizov 7ae0fa1083 Merge pull request #77496 from clayjohn/GLES3-shadows
Implement 3D shadows in the GL Compatibility renderer
2023-09-28 20:03:53 +02:00
clayjohn cb7200b028 Implement 3D shadows in the GL Compatibility renderer 2023-09-28 09:39:26 +02:00
warriormaster12 ddf93f3f59 Make SkeletonIk3D node usable 2023-09-28 07:38:50 +03:00
Yuri Sizov aa82cccc41 Merge pull request #81659 from DarioSamo/nlm-denoiser
Replace OIDN denoiser in Lightmapper with a JNLM denoiser compute shader.
2023-09-27 19:08:01 +02:00
Rémi Verschelde 545d1c0adb
Merge pull request #82416 from Calinou/decal-fix-clamp-extents
Fix Decal clamping to positive values not being applied to RenderingServer
2023-09-27 09:21:58 +02:00
Hugo Locurcio a052d34129
Fix Decal clamping to positive values not being applied to RenderingServer
This means the Decal editor gizmo could be incorrect compared to the actual
rendering if you enter a negative value in the inspector.
2023-09-27 02:21:07 +02:00
Hugo Locurcio ce421da908
Clamp ReflectionProbe Max Distance to 262,144 to fix rendering issues 2023-09-27 02:19:59 +02:00
Hugo Locurcio fcbf7011cc
Make 3D editor gizmos and debug shapes ignore fog
This makes them easier to see in their intended colors in scenes with fog.
2023-09-27 00:54:57 +02:00
Jorrit Rouwe eff7f27c48 Fixed performance regression in godot 4.2 in RigidBody2D/3D and PhysicalBone3D
After change c118256865 the body state is synched 2x, but this is only needed if _integrate_forces is overridden.

Adding this extra if increases the FPS by 2.5% in a heavy physics scene, see: https://github.com/godot-jolt/godot-jolt/discussions/611
2023-09-26 21:19:58 +02:00
Rémi Verschelde 571792cd9d
Merge pull request #81695 from bitsawer/fix_bone_attachment_signal
Fix BoneAttachment3D signal connection
2023-09-26 08:21:45 +02:00
Rémi Verschelde 538928b273
Merge pull request #81545 from bitsawer/fix_lightmap_gridmap_bake
Fix LightmapGI baking with GridMap
2023-09-26 08:20:29 +02:00
Dario 1b2b726502 Replace OIDN denoiser with a JNLM denoiser compute shader implementation. 2023-09-25 14:53:45 -03:00
Rémi Verschelde e4cfd4e26a
Merge pull request #82195 from AThousandShips/radian_fix
Replace `radians` range hint with `radians_as_degrees`
2023-09-25 17:18:38 +02:00
A Thousand Ships e45927b2f2 Replace `radians` range hint with `radians_as_degrees` 2023-09-25 08:50:19 +02:00
Rémi Verschelde 98747a9040
Merge pull request #78803 from EMBYRDEV/additional-mesh-import-options
Add layer, shadow and visibility range options to the Scene importer
2023-09-24 23:30:30 +02:00
Mikael Hermansson ee9f41a12d Fix bindings of `PhysicsServer3DRenderingServerHandler` 2023-09-20 12:24:32 +02:00
Rémi Verschelde 04d2aa61a3
Merge pull request #81641 from MewPurPur/bus-go-brrrr-2
Add a `bus_renamed` AudioServer signal
2023-09-17 14:47:29 +02:00
Rémi Verschelde f4d85d58f7
Merge pull request #80736 from Ughuuu/add-get-rid-to-joints
Expose the `get_rid` method of Joint2D and Joint3D
2023-09-17 14:47:04 +02:00
bitsawer 34574db5b9 Fix BoneAttachment3D signal connection 2023-09-15 17:35:12 +03:00
MewPurPur f29b6e73c2 Add a bus_renamed AudioServer signal 2023-09-15 13:02:03 +03:00
A Thousand Ships a29416e332 [Scene,Main] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-09-12 12:53:06 +02:00
Rémi Verschelde 5c43e4c1ef
Fix various typos with codespell
Using 2.2.6.dev180+ge3a2cfbd.
2023-09-12 08:54:18 +02:00
bitsawer 8c26da5460 Fix LightmapGI baking with GridMap 2023-09-11 15:15:40 +03:00
Dario 7dfb854556 Propagate error correctly when max texture size for lightmaps is too small.
Add error handling for BAKE_ERROR_LIGHTMAP_TOO_SMALL, which was previously ignored. Fixes #81453.
2023-09-11 09:14:39 -03:00
Yuri Sizov 58126e479c Introduce the concept of global theme contexts
This commit adds the default theme context, which replaces
the need to manually check the project and the default theme
all the time; simplifies related code.

It also adds framework for custom theme contexts, to be used
by the editor. Custom contexts can be attached to any node,
and not necessarily a GUI/Window node. Contexts do no break
theme inheritance and only define which global themes a node
uses as a fallback.

Contexts propagate NOTIFICATION_THEME_CHANGED when one of their
global themes changes. This ensures that global themes act just
like themes assigned to individual nodes and can be previewed
live in the editor.
2023-09-06 19:40:43 +02:00
Malcolm Nixon 22de1b31b5 Added XR tracking-state change signals
Add "pose_lost_tracking" signal to XRPositionalTracker.
Add "tracking_changed" signal to XRNode3D.
2023-09-03 12:17:16 -04:00
Rémi Verschelde b272d7ed58
Merge pull request #81067 from bitsawer/fix_voxelgi_exposure
Fix VoxelGI CameraAttributes exposure normalization handling
2023-08-29 12:46:20 +02:00
Rémi Verschelde ba1089689a
Merge pull request #80954 from bruvzg/sp_per_font
[Text Server] Store extra spacing of individual font variations.
2023-08-28 20:37:58 +02:00
bitsawer c73e1f0d22 Fix VoxelGI CameraAttributes exposure normalization handling 2023-08-28 13:25:34 +03:00
Dragos Daian f9435b6d72 Expose the get_rid method of Joint2D and Joint3D
update occurance of get_joint

Update documentation as per feedback.

update

update

Co-Authored-By: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-08-27 00:34:47 +03:00
Yuri Sizov 6ab34005ad Extract editor scene tabs into their own component 2023-08-24 12:24:29 +02:00
bruvzg 5453503697
[Text Server] Store extra spacing of individual font variations. 2023-08-24 11:58:12 +03:00
Yuri Roubinski 7fcb91f077 Implement conversion from `CPUParticles` to `GPUParticles` (3D/2D) 2023-08-19 11:58:57 +03:00
Rémi Verschelde d81767495a
Merge pull request #80512 from mihe/global-basis
Add `global_basis` property to `Node3D`
2023-08-18 09:31:41 +02:00
Rémi Verschelde e6e79255ed
Merge pull request #77943 from aaronfranke/mass-dist
Add Mass Distribution, Deactivation, Solver inspector property groups
2023-08-17 12:26:59 +02:00
Rémi Verschelde 37d213b24e
Merge pull request #79972 from smix8/navgenerator_multithreading_4.x
Add multi-threaded NavMesh baking to NavigationServer
2023-08-17 11:22:11 +02:00
Mikael Hermansson 8be20c495c Add `global_basis` property to `Node3D` 2023-08-11 11:41:49 +02:00
Hugo Locurcio 49b6067aba Use StringName consistently to refer to the Master audio bus name 2023-08-07 18:06:17 +02:00
smix8 8686e84b44 Add multi-threaded NavMesh baking to NavigationServer
Adds multi-threaded NavMesh baking to NavigationServer.
2023-08-07 17:14:37 +02:00
Rémi Verschelde 7eb047a5ed
Merge pull request #79643 from smix8/navgenerator_4.x
Move navigation mesh baking to NavigationServer
2023-08-07 14:48:15 +02:00
Rémi Verschelde faaf27f284
Fix various typos with codespell
Also includes typo fixes from #79993, #80068, #80276, and #80303.

Co-authored-by: betalars <contact@betalars.de>
Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com>
Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-08-07 13:09:47 +02:00
Aaron Franke 49e0a01bf1
Add Mass Distribution, Deactivation, Solver inspector property groups 2023-08-06 21:26:33 -05:00
Yuri Sizov a56e960150 Merge pull request #71233 from PrecisionRender/barycentric-coords
Add ability to get face index and barycentric coordinates from raycast
2023-08-03 22:37:30 +02:00
smix8 744fa87da2 Move navigation mesh baking to NavigationServer
Moves navigation mesh baking to NavigationServer.
2023-08-03 19:49:07 +02:00
PrecisionRender af7f787c6e Add ability to get barycentric coordinates from ray 2023-08-02 15:16:44 -05:00
Yuri Sizov e810671116 Merge pull request #79977 from Owl-A/bugfix
Add state sync after call to `_integrate_forces` in `_body_state_changed`
2023-08-01 20:03:47 +02:00
Chinmay Awale c118256865 added state sync after call to _integrate_forces 2023-08-01 19:03:43 +05:30
smix8 69fad39cf5 Add NavigationServer API to enable regions and links
Adds NavigationServer API to enable regions and links.
2023-07-26 01:20:15 +02:00
Yuri Sizov 182b94c86a Merge pull request #79465 from smix8/navregion_bake_deferred_4.x
Make NavigationRegion3D baking NavMesh on the main thread not finish deferred
2023-07-18 13:15:15 +02:00
kobewi de4a3fa151 Unify and streamline connecting to Resource changes 2023-07-17 19:35:57 +02:00
Hendrik Brucker 7e21eb7e00 Extract and reorganize texture resource classes 2023-07-14 20:04:21 +02:00
Yuri Sizov 0f7625ab46 Merge pull request #76859 from HolonProduction/emission-finished-gpu
Add `finished` signal to GPUParticles
2023-07-14 18:50:56 +02:00
Yuri Sizov a91f0e6bca Merge pull request #76853 from HolonProduction/emission_finished
Add `finished` signal to CPUParticles
2023-07-14 18:50:51 +02:00
Yuri Sizov 177768a7e4 Merge pull request #79373 from KoBeWi/no_need
Convert some Callables to `callable_mp()`
2023-07-14 18:49:53 +02:00
Yuri Sizov 892bc5f966 Merge pull request #79330 from mihe/ray-cast-back-faces
Add `hit_back_faces` property to `RayCast3D`
2023-07-14 18:49:49 +02:00
smix8 bb5f16033d Make NavigationRegion3D baking NavMesh on the main thread not finish deferred
Makes NavigationRegion3D baking NavMesh on the main thread not finish deferred.
2023-07-14 16:15:14 +02:00
Yuri Sizov 4e66c4cdd9 Merge pull request #77191 from smix8/navigationregion_map_change_4.x
Add NavigationRegion function to change navigation map
2023-07-12 17:15:13 +02:00