Commit Graph

2244 Commits

Author SHA1 Message Date
Hugo Locurcio
ba04de6893
Draw a "background" line behind the dashed line in TextureRegion editor
This makes the dashed line visible on any background.

(cherry picked from commit 656aba1273)
2021-01-15 16:49:46 +01:00
dankan1890
32a0a50fcf
Create spritesheet for SpriteFrames by drag and dropping.
Close godotengine/godot-proposals#378

(cherry picked from commit 390ff22a8c)
2021-01-15 16:49:45 +01:00
JFonS
112b416056 Implement new CPU lightmapper
Completely re-write the lightmap generation code:
- Follow the general lightmapper code structure from 4.0.
- Use proper path tracing to compute the global illumination.
- Use atlassing to merge all lightmaps into a single texture (done by @RandomShaper)
- Use OpenImageDenoiser to improve the generated lightmaps.
- Take into account alpha transparency in material textures.
- Allow baking environment lighting.
- Add bicubic lightmap filtering.

There is some minor compatibility breakage in some properties and methods
in BakedLightmap, but lightmaps generated in previous engine versions
should work fine out of the box.

The scene importer has been changed to generate `.unwrap_cache` files
next to the imported scene files. These files *SHOULD* be added to any
version control system as they guarantee there won't be differences when
re-importing the scene from other OSes or engine versions.

This work started as a Google Summer of Code project; Was later funded by IMVU for a good amount of progress;
Was then finished and polished by me on my free time.

Co-authored-by: Pedro J. Estébanez <pedrojrulez@gmail.com>
2021-01-14 18:05:56 +01:00
Michael Alexsander
975a6194e7
Fix script list only showing their names regardless of display option
(cherry picked from commit 4194447a21)
2021-01-13 16:17:10 +01:00
jeffuntildeath
64cbff7e7d
Snap To Floor improperly offsets node
fix for issue #44282

AABB for collision geometry was being calculated based on parent nodes transform without consideration for collision geometries translation.
Also hopefully clarified logic for selecting starting point for ray cast

(cherry picked from commit 4f171afecc)
2021-01-13 16:17:07 +01:00
Rémi Verschelde
49646383f1
Update copyright statements to 2021
Happy new year to the wonderful Godot community!

2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.

We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)

Here's to a great year 2021 for all Godot users 🎆

(cherry picked from commit b5334d14f7)
2021-01-13 16:17:06 +01:00
Rémi Verschelde
188609e5ab
CI: Update to clang-format 11 and apply ternary operator changes
(cherry picked from commit af878716f2)
2021-01-13 16:14:35 +01:00
Hugo Locurcio
cec16357ef
Document the requirement to update GPU particle visibility
This also updates some option names in the editor for consistency
and accuracy.

See #44955.
2021-01-06 19:17:57 +01:00
kobewi
3785b091e4
Commit CanvasItem state only if it changed
(cherry picked from commit 036f6a3fa8)
2021-01-05 21:33:33 +01:00
Hugo Locurcio
1062bedaaa
Add an editor setting for the 3D selection box color
A restart is required to apply the setting change.

(cherry picked from commit 8221037be0)
2020-12-29 16:02:03 +01:00
Michael Alexsander
58b2d669a0
Fix filename disambiguation on scripts in certain occasions
(cherry picked from commit ed488b72a6)
2020-12-29 16:02:01 +01:00
Michael Alexsander
01e1369ab7
Disable "Commit" button in VCS plugin if there's no commit message
(cherry picked from commit 221738fb81)
2020-12-29 16:02:01 +01:00
janglee
23280293d4
Removed default commit message
(cherry picked from commit 718227df6b)
2020-12-29 16:02:01 +01:00
Hugo Locurcio
3addea0057
Move the brightness factor for highlighted 3D gizmos to a variable
See
8522ac7711 (r45230326).

(cherry picked from commit 507e9b12a4)
2020-12-29 16:02:00 +01:00
Marcus Brummer
9248ee39ca
Changed the rotation gizmo handle to use the active axis color
(cherry picked from commit ec97962261)
2020-12-29 16:02:00 +01:00
Hugo Locurcio
2753cc5264
Increase the default 3D manipulator gizmo opacity for better visibility
- Brighten gizmos when highlighted to make the difference between a
  non-highlighted and a highlighted gizmo more visible.
- Tweak the manipulator gizmo size property hint.

(cherry picked from commit 8522ac7711)
2020-12-29 16:01:59 +01:00
Yuri Roubinsky
8f5bdf6a63
Changes 'always show grid' hotkey to prevent conflict with 'pan mode'
(cherry picked from commit 1c546fdaea)
2020-12-29 13:49:59 +01:00
Nick Swoboda
e08af90c90
Fix scene being modified when arrows are pressed with no node selected
(cherry picked from commit 66827337fd)
2020-12-10 13:13:18 +01:00
jeffuntildeath
de7b5006cc
fix for snap to floor editor crash bug
fix for issue #44231: snap_selected_nodes_to_floor() results in an editor
crash when a child collisionshape has invalid shape object

(cherry picked from commit 52f6e0b5ad)
2020-12-10 13:12:39 +01:00
Marcus Brummer
8ad61f6669
Asset Library: Scroll up the ScrollContainer after page load
(cherry picked from commit 0e4f2ca860)
2020-12-10 13:09:02 +01:00
Aaron Franke
4267f40e88
Fix trying to set grid visibility on an invalid instance
(cherry picked from commit 8c1d94ebae)
2020-12-09 13:04:07 +01:00
Nick Swoboda
956477f4a2
Change minimum snap step of Tile Set to 1
(cherry picked from commit 70c946f82d)
2020-12-09 11:22:05 +01:00
Rémi Verschelde
9962fa6975
Merge pull request #42313 from kurinoku/fix-tileset-editor-3.2
Fixed tile_set_editor_plugin.cpp selection issue where it wouldn't cycle through all subtiles of an autotile.
2020-12-03 14:45:37 +01:00
Rémi Verschelde
9df3d06d1f
Merge pull request #43897 from RandomShaper/fix_refl_probe_vis_3.2
Put misc. 3D tool visible instances on their own layer (3.2)
2020-12-03 13:29:36 +01:00
Aaron Franke
80c72a529f
Limit the zoom and freelook speed based on camera settings
(cherry picked from commit 896a297c1f)
2020-12-02 16:02:39 +01:00
volzhs
a1f63bac0e Fix editor locked by generating preview of dynamic font 2020-12-01 01:09:00 +09:00
Pedro J. Estébanez
08a46bbacd Put misc. 3D tool visible instances on their own layer
This makes that visible stuff invisible to ReflectionProbes, whose preview in the editor shouldn't involve them.
2020-11-26 20:08:30 +01:00
jfons
bdc6f2fd95
Fix binding of default value in EditorSpatialGizmoPlugin::get_material()
It was commented for some reason I can't remember.

(cherry picked from commit e6949dae72)
2020-11-26 09:38:47 +01:00
David Kennedy
473cb79cc1 Fix duplicates entries in script editor menu
This was a regression from #40461.

Fixes #43707.
2020-11-23 11:33:59 -03:00
GryphonClaw
27eaf357fc
added shortcuts/hotkeys for tileset editor plugin collision buttons, with suggested changes.
(cherry picked from commit cf582262c2)
2020-11-19 17:17:23 +01:00
Aaron Franke
b9641efc5c
Update the 3D grid when the "View Grid" checkbox is changed
(cherry picked from commit 71d1909b39)
2020-11-19 17:15:28 +01:00
Haoyu Qiu
c0fb16a512
Fixes rotation in select mode on macOS
(cherry picked from commit 381ba7d554)
2020-11-19 17:15:27 +01:00
Rémi Verschelde
4816317bbc
Debugger: Save options in project metadata
Fixes #19542.

(cherry picked from commit 090361f3c9)
2020-11-17 16:42:42 +01:00
Hugo Locurcio
4b1de5be45
Add a dynamic infinite grid to the 3D editor
- The grid is now infinite, it follows the camera.
- The grid is now dynamic, if you zoom in and out, the grid subdivides,
  expands, and fades.
- You can now enable grid planes for the XY and YZ planes. Only the flat
  XZ plane is enabled by default. Each plane is independently dynamic
  of the others.
- The default grid size has been increased to 200, and the maximum
  has been increased to 2000. At 1000, the grid mostly looks edgeless.
- If you set the division level max and min to the same value then
  the grid does not expand or subdivide, but instead stays the same size
  and just follows the camera. Also, if these values are the same,
  the bias value does nothing.
- If you want to have Blender-like behavior, set max to 1, min to 0,
  and set the bias to a really low value. You may also wish to increase
  the grid size if you have a small bias.

Co-authored-by: Aaron Franke <arnfranke@yahoo.com>
2020-11-17 10:16:53 +01:00
Michael Alexsander
5e6af913de
Fix "Move Points" button sometimes not showing up on UV mode in the Polygon2D editor
(cherry picked from commit 4b74019ca3)
2020-11-11 15:30:56 +01:00
Eric Tuvesson
be72285c70
fix(editor): TileMap floodfill with same tile ID and different variation
Closes https://github.com/godotengine/godot/issues/40435

(cherry picked from commit cefca25796)
2020-11-11 15:30:55 +01:00
Hugo Locurcio
ed3f0a3950
Improve the 3D editor selection box appearance
- Draw two boxes slightly offset from each other to give the illustion
  of a thicker outline.
- Decrease the offset compared to the 3D node's AABB to give a more
  accurate representation of its size.
- Make the box fully visible instead of only displaying the corners.
- Draw a x-ray version of the box that's more translucent, but visible
  through walls. This helps make the box more visible while still
  having a sense of depth.
- Use an orange color similar to the 2D editor.
2020-11-09 21:55:56 +01:00
Rémi Verschelde
c43b2ab603
Merge pull request #42942 from Calinou/add-viewport-debanding-3.2
Add a debanding property to Viewport for GLES3
2020-10-30 11:47:57 +01:00
Rémi Verschelde
4325c54335
Merge pull request #43016 from mbrlabs/rotation-gizmo-32
[3.2] Improve rotation gizmo
2020-10-30 11:46:05 +01:00
Hugo Locurcio
94cf0dced2
Improve undo log messages in the 2D editor for additional context
Undo/redo log messages will now specify the modified node's
name (or number of modified nodes if several were modified).
On top of that, the new position/rotation/scale/pivot offset
will also be mentioned in the message.

(cherry picked from commit 996740de43)
2020-10-28 14:05:41 +01:00
Pleto
203d6375fc
Enhancement for tileset sorting
(cherry picked from commit 0e392bd177)
2020-10-28 14:05:41 +01:00
Michael Alexsander
5c129c7a05
Minor improvements to the Polygon 2D UV editor
(cherry picked from commit c26b49fc17)
2020-10-28 14:05:39 +01:00
Rémi Verschelde
7c27e37997
Merge pull request #42705 from Calinou/tilemap-editor-fix-osx-tooltip
Fix rectangle paint tooltip for the tilemap editor on macOS
2020-10-27 14:43:50 +01:00
Marcus Brummer
69b99ba9cb Improve rotation gizmo
Hide the back sides of the rotation gizmo circles and add a white
outline for better visualization of the rotation "sphere".

This is a 3.2 backport of @JFons work on the master branch; all credit
goes to him.
2020-10-22 22:05:50 +02:00
Hugo Locurcio
2dbc329704
Add a debanding property to Viewport for GLES3
It can be enabled in the Project Settings
(`rendering/quality/filters/use_debanding`). It's disabled
by default as it has a small performance impact and can make
PNG screenshots much larger (due to how dithering works).

As a result, it should be enabled only when banding is noticeable enough.

Since debanding requires a HDR viewport to work, it's only supported
in the GLES3 backend.
2020-10-20 19:07:15 +02:00
Hugo Locurcio
af45c97652
Add fast approximate antialiasing (FXAA) to Viewport
This backports FXAA from the `master` branch.

Co-authored-by: Clay John <claynjohn@gmail.com>
2020-10-20 14:54:52 +02:00
Haoyu Qiu
0c1f88c769
Adds pan gesture to StateMachine editor
(cherry picked from commit e9bec0d76b)
2020-10-19 16:09:59 +02:00
David Sichma
f601e15b92
aabb change updates bounding box
spatial editor will now update the bounding box if aabb or transform
changes

(cherry picked from commit 7701889048)
2020-10-19 16:09:57 +02:00
Michael Auderer
9f4dc87739
Reset TileMapEditor painting on application refocus
Treats application unfocus as a mouse release for
TOOL_PAINTING, by finishing the undo state and
resetting the tool. Also sets a flag to prevent extra
lines from being drawn when the application is refocused.

fixes #42398, fixes #24970

(cherry picked from commit 70a4cd1afe)
2020-10-19 16:09:55 +02:00
lawnjelly
c2290dbedd Unified GLES2 / GLES3 Batching
Batching is mostly separated into a common template which can be used with multiple backends (GLES2 and GLES3 here). Only necessary specifics are in the backend files.

Batching is extended to cover more primitives.
2020-10-16 10:34:47 +01:00