Commit Graph

228 Commits

Author SHA1 Message Date
lawnjelly
34cdbd1c46 Safe Camera::unproject_position()
`unproject_position()` can fail in some circumstances, and this needs to be conveyed to calling code.
2024-09-07 09:27:25 +02:00
Hugo Locurcio
769c33abdf Backport DirectionalLight fade_start property to 3.x
- Implement shadow fading when using the Orthogonal shadow mode
  (like in `master`).

This allows customizing the distance at which directional shadows
start to fade away. Shadow fading will also always start at the same
distance now, regardless of the current shadow mode in use.

This is useful for enclosed levels to prevent shadows from fading
at all with a well-tuned maximum distance.

The default fade start value (0.8) results in fading happening later
in the distance compared to the previous behavior, where fading started
from the last shadow split distance (0.6 in PSSM 4 Splits and
0.1 in PSSM 2 Splits).
2024-07-17 00:11:17 +02:00
f9507dc475 Clang format everything again. 2024-07-16 21:29:26 +02:00
8181808b74 Ran the header guard move script. 2024-07-16 21:27:34 +02:00
c7ac1db971 Clang format everything. 2024-07-16 21:23:54 +02:00
efccdca45f Added back GIProbes. 2024-07-16 19:07:24 +02:00
85cddb07b4 Renamed Particle to GPUParticle and Particle2D to GPUParticle2D pt4. 2024-07-16 16:59:21 +02:00
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
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
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
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
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
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
f09ab537e0 Clang-format everything. 2024-04-21 15:27:36 +02:00
2c09e8c8af Fix compile error. 2024-04-21 14:58:11 +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
f6d9ca069f Fix build. 2024-04-06 13:46:57 +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
cf7b59b6c8 Fix small formatting inconsistencies. 2024-03-01 16:25:19 +01:00
c3c6d64a50 Portred: Add MergeGroup node to simplify merging Meshes at runtime.
- lawnjelly
8b79135538
2024-02-08 21:00:07 +01:00
lawnjelly
61645f36f3 Portals - Improve conversion logging
Logging is now allowed in any TOOLS build (rather than just in the editor), but still prevented in final exports.
Logging can be switched off via project settings.
Autoplacement is now logged.
2024-02-08 15:12:23 +01:00
lawnjelly
f09cdf5954 Portals - include in bound and special cases in start room
* Re-introduces a property for portals to decide whether they are included in room bounds during room conversion.
* Adds a special case for portals that extend into the start room, which may be caused by level design inaccuracies.
2024-02-08 15:10:00 +01:00
kleonc
44453b1d58 Make gizmo plugin handle SpriteBase3D instead of Sprite3D 2023-12-20 22:44:23 +01:00
98912a89e8 File copyright header updates pt9. 2023-12-18 00:25:33 +01:00
88e9ad04f2 Moved back the servers and resources from core. 2023-12-10 23:11:07 +01:00
11945d7f1d Split material.h. 2023-12-10 21:26:28 +01:00
63c895747a Moved Curve and Gradient to core. 2023-12-10 20:23:51 +01:00
9d2309bfe1 Moved shapes to core. 2023-12-10 19:58:44 +01:00
dbcc6e33da Moved the physics server to core. 2023-12-10 19:36:00 +01:00
238bf1b331 Moved the RenderingServer to core. 2023-12-10 19:04:24 +01:00
3902cf1924 Moved ScneeStringNames and PropertyUtils into scene/main. 2023-12-10 18:01:51 +01:00
191e9e152e Added quote_style argument to get_argument_options(). 2023-12-10 16:02:08 +01:00
9df5649c1b Moved CanvasItem, Control, Node2D and Spatial under scene/main. 2023-12-10 15:50:54 +01:00
763f662263 Moved meshes to a new subfolder. 2023-12-10 15:22:09 +01:00
deccaed2cc Moved materials into a new subfolder. 2023-12-10 14:59:22 +01:00
08160fd63f Moved fonts into a new subfolder. 2023-12-10 14:42:30 +01:00
4cbc387c53 Moved the navigation relatred resources into subfolders. 2023-12-10 14:23:24 +01:00
2cc42b045a Moved shapes under a new shapes folder. 2023-12-10 14:10:10 +01:00
59ae5c4662 Ported from godot: add support for 3 dir shadow splits
- Ansraer
54bc6a300e
2023-10-02 18:12:54 +02:00
11d47d8fdc Simplifications to NavigationAgent and NavigationAgent2D. 2023-09-05 11:54:49 +02:00
43c11fcdf5 Backported from godot4: Fix typo and ensure backwards compatibility for changed property names
Changes to the name of the `navmesh` and `navpoly` properties on
`NavigationRegion` caused navigation data to be lost on load.
This PR creates uses `_set`/`_get` to handle compatibility with the
older names on load, preserving the data.
Also fixes a typo on `get_vertices_per_polygon` in `NavigationMesh`,
and renames the property to remove the `polygon_` prefix which doesn't
match the setter/getter.
- DarkKilauea, akien-mga
0572346985
2023-09-05 09:13:54 +02:00
397a9e9bcd Backported from godot4: Fix NavigationAgent continues avoidance velocity
Fixes NavigationAgent continues avoidance velocity.
- smix8
c912df9d05
2023-09-05 08:01:57 +02:00