Commit Graph

607 Commits

Author SHA1 Message Date
a5d8696021 Ported: Vertex cache optimizer
Optimizes indices to make good use of vertex cache on GPU.
- lawnjelly
0aa22b8f13
2024-02-08 21:35:01 +01:00
c3c6d64a50 Portred: Add MergeGroup node to simplify merging Meshes at runtime.
- lawnjelly
8b79135538
2024-02-08 21:00:07 +01:00
ae7409bf52 Ported: Fix signed distance field font rendering
This fix works in both GLES3 and GLES2.
The rendering formula in the shader was adjusted to further improve the
sharpness/antialiasing quality balance.
- lawnjelly and Calinou
bc607fb607
2024-02-08 19:11:34 +01:00
5d2a594843 Ported: Shadow volume culling and tighter shadow caster culling
Existing shadow caster culling using the BVH takes no account of the camera. This PR adds the highly encapsulated class VisualServerLightCuller which can cut down the casters in the shadow volume to only those which can cast shadows on the camera frustum.
This is used to:
* More accurately defer dirty updates to shadows when the shadow volume does not intersect the camera frustum.
* Tighter cull shadow casters to the view frustum.
Lights dirty state is now automatically managed:
* Continuous (tighter caster culling)
* Static (all casters are rendered)
- lawnjelly
8ca631a466
2024-02-08 18:40:44 +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
Micky
d1621245e6 Add Editor Description group
Backport from 4.0
2024-02-08 14:56:04 +01:00
kobewi
1a98244aac Preserve selection when focusing SpinBox 2024-02-08 14:44:21 +01:00
Micky
4e68cd0251 Remove unused struct in GradientTexture1D 2024-02-08 13:25:47 +01:00
1d8e1f7065 Fixed TextEdit width calculation after it's font changes. This fixes lines being too long to scroll to in the editor. 2024-01-12 12:43:39 +01:00
8d67178204 Backported from godot4: Fix TextEdit.get_rect_at_line_column returning negative pos even though cursor is in viewable area of the control
- MJacred
6170381bd7
2024-01-12 12:24:09 +01:00
a38d3e5d61 Fix typo. 2024-01-12 12:18:05 +01:00
kleonc
44453b1d58 Make gizmo plugin handle SpriteBase3D instead of Sprite3D 2023-12-20 22:44:23 +01:00
Jakub Marcowski
f45f3bbc73 Remove the separator from ItemList's thumbnail mode 2023-12-20 22:36:05 +01:00
5133ef182d File copyright header updates pt10. 2023-12-18 00:31:04 +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
ee245511fd Removed unnecessary include. 2023-12-10 20:29:39 +01:00
63c895747a Moved Curve and Gradient to core. 2023-12-10 20:23:51 +01:00
e32155717c Moved 2d shapes to core. 2023-12-10 20:03:16 +01:00
9d2309bfe1 Moved shapes to core. 2023-12-10 19:58:44 +01:00
053f083e17 Moved the Physics 2d server to core. 2023-12-10 19:42:57 +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
049440aaf1 Moved BitMap to core. 2023-12-10 18:07:25 +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
0dfba6c552 Moved AudioStreamSample. 2023-12-10 15:26:43 +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
e50ab7fa84 Moved 2d shapes under a new shapes_2d folder. 2023-12-10 13:55:20 +01:00
11b8f50a82 Moved SyntaxHighlighter. 2023-12-10 13:44:52 +01:00
b34258606b Moved Animation from scene/resources to scene/animation. 2023-12-10 13:30:23 +01:00
edb250930d Small improvement to the CSplitCointainer. 2023-10-20 16:56:18 +02:00
2e7709185a Added a new CSplitContainer type which acts as both a VSplitContainer and HSplitContainer and allows changing between them using a property. 2023-10-20 15:06:23 +02:00
e6ee1f0c0f Added a new CBoxContainer type which acts as both a VBoxContainer and HBoxContainer and allows changing between them using a property. 2023-10-20 13:44:43 +02:00
b4692f1763 Port4ed from godot: Add binary MO translation file support. Add brotli decoder and WOFF2 support.
Use smaller .mo files instead of .po, if gettext is available.
Convert editor fonts to .woff2 format.
- bruvzg
fd2fba7c2c
2023-10-02 21:12:03 +02:00
59ae5c4662 Ported from godot: add support for 3 dir shadow splits
- Ansraer
54bc6a300e
2023-10-02 18:12:54 +02:00
cc012d3f92 Ported from godot: CPUParticles2D - Add ability to follow physics interpolated target
Allows a non-interpolated particle system to closely follow an interpolated target without tracking ahead of the target, by performing fixed timestep interpolation on the particle system global transform, and using this for emission.
- lawnjelly
3e19cf834a
2023-10-02 17:49:41 +02:00
f4339d2a49 Ported: CPUParticles2D - fix interpolated transforms and culling
1) Physics interpolated particles in global mode are specified in global space. In VisualServer they should therefore ignore local transform.
2) Additionally, the expected final_transform should be passed on to children, rather than the identity transform used on the local item.
3) Local bounds in hierarchical culling are fixed for items using identity transform, by calculating their local bound in local space from the global space particles.
- lawnjelly
723632a76a
2023-10-02 17:32:07 +02:00
a4b475b6b4 Fix compile error. 2023-10-02 17:28:21 +02:00
Haoyu Qiu
e3dd88e9ec Fix PopupMenu icon and text not having separation 2023-10-02 16:56:58 +02:00
lawnjelly
994ae99f62 Physics Interpolation - automatic resets for Camera2D and TileMap.
Extra reset required for Camera2D. TileMaps require resetting by quadrant.
2023-10-02 16:50:50 +02:00
lawnjelly
a09c3891db CPUParticles - fix non-interpolated NOTIFICATION_TRANSFORM
Updates global particle transforms immediately on receiving notification, to match legacy behaviour.
2023-10-02 16:47:45 +02:00
MJacred
519d0647fd Fix cursor after last character in line counting as a character outside of the viewing area
The cursor column can be after the last_visible_char index and still be visible.
2023-10-02 16:40:26 +02:00