Commit Graph

277 Commits

Author SHA1 Message Date
ce97ddbcb1 Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3
- Use lowercase driver names for the `--rendering-driver`
  command line argument.
2021-10-30 02:05:49 +02:00
1b2cd9f251 Addition of FogVolumes, FogShaders, FogMaterial, and overhaul of VolumetricFog
Co-authored-by: Brian Semrau <brian.semrau@gmail.com>
2021-10-28 22:02:23 -07:00
3b11e33a09 clang-format: Disable alignment of operands, too unreliable
Sets `AlignOperands` to `DontAlign`.

`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 15:19:35 +02:00
83fd0e0c70 Fix click selection in the editor 3D viewport 2021-10-26 18:08:31 +02:00
d03b7fbe09 Refactored Node3D rotation modes
* Made the Basis euler orders indexed via enum.
* Node3D has a new rotation_order property to choose Euler rotation order.
* Node3D has also a rotation_mode property to choose between Euler, Quaternion and Basis

Exposing these modes as well as the order makes Godot a lot friendlier for animators, which can choose the best way to interpolate rotations.
The new *Basis* mode makes the (exposed) transform property obsolete, so it was removed (can still be accessed by code of course).
2021-10-25 14:34:00 -03:00
5ae45cf388 Implement Alt + Mouse wheel to adjust FOV in the 3D editor viewport
This allows for quicker FOV adjustments compared to using the View menu.
2021-10-23 12:21:03 +02:00
392d529247 Update view name after processing orbit view shortcuts 2021-10-20 13:05:59 +08:00
c240275482 Merge pull request #51984 from rcorre/camera_shortcuts 2021-10-16 18:50:48 +02:00
b4eeeb315a Swap args of Plane(point, normal) constructor
Now (normal, point)
2021-10-15 20:49:42 -05:00
7a3d0b79b4 Increase object snapping distances in the 3D editor
- Increase drag-and-drop snapping to 50 units
  (from 10 units).
- Increase Snap Object to Floor maximum height to 500 units
  (from 20 units).
- Increase Snap Object to Floor negative margin to 1 unit
  (from 0.2 units).
2021-10-12 16:38:33 +02:00
164dc11e04 Merge pull request #45699 from TokageItLab/implement-skeleton-editor-gizmo
Implement Skeleton Editor Gizmo
2021-10-06 21:11:20 +02:00
f2e9867e9f Implemented SkeletonEditorGizmo
Co-authored-by: Lyuma <xn.lyuma@gmail.com>
2021-10-07 01:07:46 +09:00
8a0db53d0f Merge pull request #51437 from timothyqiu/selection-box-sep 2021-10-05 13:55:22 +02:00
ad30b0a8dd Allow shortcuts to have any number of bindings. Updated UI as required. 2021-10-01 18:04:28 +10:00
c63b18507d Use range iterators for Map 2021-09-30 15:09:12 -06:00
c370b4c4d0 Merge pull request #52544 from JFonS/lod_fixes
Auto LOD fixes and improvements
2021-09-30 14:49:11 -03:00
570cdc128f Rename Node's filename property to scene_file_path for clarity 2021-09-30 16:50:25 +02:00
fc9767abb1 Use functions defined in the their classes. 2021-09-29 09:36:34 +05:45
9e1810695c Auto LOD fixes and improvements
* Fixed LODs for shadow meshes.
* Added a merging step before simplification. This helps with tesselated
  meshes that were previously left untouched. The angle difference at
  wich edges ar considered "hard" can be tweaked as an import setting.
* LODs will now start with the highest decimation possible and keep
  doubling (approximately) the number of triangles from there. This
  makes sure that very low triangle counts are included when possible.
* Given more weight to normal preservation.
* Modified MeshOptimizer to report distance-based error instead of
  including attributes in the reported metrics.
* Added attribute transference between the original mesh and the
  various LODs. Right now only normals are taken into account,
  but it could be expanded to other attributes in the future.
2021-09-27 17:04:56 +02:00
cc51b045da Construct values only when necessary. 2021-09-23 22:26:07 +05:45
88b347dc27 Merge pull request #51920 from jmb462/missing-sname-macro-optimization-in-some-functions 2021-09-23 13:14:20 +02:00
1032c8535b Fix 3D view name typo 2021-09-22 10:30:48 +08:00
e3ebe8b976 Merge pull request #52886 from bruvzg/rtl_fixes
Fix RTL layout Label text, VBox child, 3D node editor controls, and popup menu alignment.
2021-09-21 10:16:56 +02:00
99dc2ec9e1 Fix RTL layout Label text, VBox child, 3D node editor controls, and popup menu alignment. 2021-09-21 10:35:23 +03:00
e2718b7717 Tweak the 3D editor inertia defaults for better responsiveness
The default orbit sensitivity was decreased to account for this change.
Rotational inertia (orbit + freelook) was disabled by default due to
known issues.

This also removes the need for separate manipulation inertia settings,
as the default settings are more responsive.
2021-09-20 16:32:37 +02:00
6747126c14 Fix error spam on quit 2021-09-20 13:10:19 +02:00
f3a564f9a5 Rename Listener2D/Listener3D to AudioListener2D/AudioListener3D 2021-09-16 17:51:51 -04:00
3581b893ed Merge pull request #52681 from nekomatata/rename-rigid-body
Rename RigidBody to RigidDynamicBody and SoftBody to SoftDynamicBody
2021-09-16 11:20:21 -07:00
85819b199a Rename RigidBody to RigidDynamicBody and SoftBody to SoftDynamicBody 2021-09-16 09:55:20 -07:00
05697ee848 Display a editor gizmo icon for Listener3D
The icon was present in `editor/icons/`, but it was never implemented
in the editor gizmos code.

This also removes some unused gizmo drawing code (overridden methods
that are no longer called anywhere).
2021-09-16 10:56:45 +02:00
44aa26ad66 Fix issues with scaling Node3Ds 2021-09-15 00:10:20 +02:00
c334989e00 Merge pull request #51821 from Calinou/builtin-shaders-add-comments
Add comments at the top of each built-in shader to ease debugging
2021-08-25 11:37:57 +02:00
5cecdfa8af Entirely removes BIND_VMETHOD in favor of GDVIRTUAL
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions.
* Everything else converted to GDVIRTUAL
* BIND_VMETHOD is gone, always use the new syntax from now on.

Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-23 08:10:13 -03:00
cb15ec20bb Implement camera orbiting shortcuts.
Fixes godotengine/godot-proposals#2051.
Relates to godotengine/godot-proposals#1215.

Implements shortucts for adjusting the camera rotation in 15-degree
increments, similar to Blender.

I did not add corresponding menu entries for these, as I didn't feel
like they would be too useful from a menu, and didn't want to make the
menu too long.
2021-08-22 12:34:32 -04:00
54de7114c5 Add missing SNAME macro optimization for StringName in some functions 2021-08-20 14:50:24 +02:00
a139e58f8c Add comments at the top of each built-in shader to ease debugging
When a shader error is printed about a built-in shader, the origin
of the shader will now be recognizable immediately by looking at
the top of the printed shader code.
2021-08-18 03:09:22 +02:00
d673353a58 Merge pull request #51736 from JFonS/minor_fixes_n3ep
Minor fixes to Node3DEditorPlugin
2021-08-16 18:31:22 +02:00
49361034f9 Minor fixes to Node3DEditorPlugin
* Change EditorNode3D::update_all_gizmos() to start at the edited scene
  root instead of the whole editor root.
* Call update_all_gizmos() only once at start instead of evrey time a
  gizmo plugin is added.
* Add missing null check.
2021-08-16 12:59:12 +02:00
42579a346b Fix i18n of 3D view name
Make the full view name translatable as a whole instead of combining
from sub-strings.
2021-08-14 15:24:02 +08:00
62c6347a27 Merge pull request #51035 from foxydevloper/drag-drop-more-support
Improve drag and dropping files into viewport by supporting more types
2021-08-13 14:57:10 +02:00
1d7a358588 Merge pull request #51399 from RevoluPowered/improve_editor_grid_performance_4.0
[4.0] Implement editor grid performance improvements
2021-08-11 18:21:19 +02:00
536386eb69 Implement editor grid performance improvements
Benefits:
- Knows the size of the mesh to prevent push back taking longer
- No longer updates grid every frame, only if the camera has moved 10 units or more.
- Considerably less power draw
- Will redraw when you swap from orthographic to perspective and vice versa.
2021-08-11 16:40:03 +01:00
fa3a32a2d6 Use Key enum instead of plain integers 2021-08-10 16:26:55 -05:00
e62ad6ad80 Improve drag and drop by supporting more file types & node types
Adds support for dragging in all files of type Texture2D for 2D.
Adds support for dragging in all files of type Mesh for 3D.
Replaces adding texture as Light2D with PointLight2D.
Add more node types that textures can be added as
- TextureButton
- CPUParticles2D
2021-08-10 13:05:17 -04:00
339687e04f Organize methods in Viewport and explicitly name 3D methods with 3D 2021-08-10 09:10:34 -05:00
84f720966c Use doubles for time in many other places 2021-08-09 14:05:42 -05:00
34b8d1e119 Make 3D selection box independent of object size
Also fixed a typo where sbox_instance was mixed up with sbox_instance_xray.
2021-08-09 22:52:06 +08:00
e1ad11f453 Minor visual improvements to the viewport rotation gizmo (again) 2021-08-06 14:39:13 -06:00
dcf2a62b05 Merge pull request #51164 from TokageItLab/fix-gizmo-transform-scaling
Fixed gizmo forced implicit normalization and inconsistent rotation
2021-08-05 16:42:33 +02:00
4cf12d7895 Merge pull request #51215 from akien-mga/shortcut-rename-property-to-event
Shortcut: Rename `shortcut` property to `event`
2021-08-05 15:52:20 +02:00