Commit graph

1795 commits

Author SHA1 Message Date
Yuri Roubinsky
8dbf3d7c44 Improve performance of Add/Remove/Connect/Change nodes in visual shader 2020-09-11 15:45:18 +03:00
Rémi Verschelde
a2a78a8066
doc: Sync classref with current source
Bind missing enums.
2020-09-11 12:22:10 +02:00
Paulb23
33ab9cd621 Move safe line color into editor 2020-09-10 20:35:28 +01:00
Paulb23
7829fdc1d0 Add folding gutter to code_edit 2020-09-10 20:35:28 +01:00
Paulb23
4d7df24d46 Add main_gutter (breakpoints, bookmarks, execution lines) to code_edit 2020-09-10 20:35:28 +01:00
Paulb23
907f9f2a84 Changed line_edited_from(from) to lines_edit_from(from, to) 2020-09-10 20:35:28 +01:00
Paulb23
1353ed5e44 Added Line numbers to CodeEdit 2020-09-10 20:35:28 +01:00
Paulb23
a0b409cb14 Add and convert editor to use CodeEdit 2020-09-10 20:35:27 +01:00
Yuri Roubinsky
5ba8246cfb Added Texture3D to visual shaders 2020-09-10 07:40:06 +03:00
Juan Linietsky
1ce46f2a3f
Merge pull request #41918 from reduz/implement-3d-textures
Implement 3D textures as import and resource format.
2020-09-09 14:40:22 -03:00
reduz
a674da4eec Implement 3D textures as import and resource format. 2020-09-09 13:50:21 -03:00
Yuri Roubinsky
14a24fa19c Improve performance for Show/Hide port preview in visual shaders 2020-09-09 19:24:55 +03:00
Yuri Roubinsky
ea49d8b9d5 Improve performance of Undo:change node position in visual shader 2020-09-09 11:29:40 +03:00
Yetizone
701493ab33 mesh_library.h: Update header guard to reflect file name 2020-09-08 15:12:31 +03:00
Yuri Roubinsky
e50b2e58b2 Added active boolean to particles mode output in visual shaders 2020-09-07 19:21:22 +03:00
Yuri Roubinsky
dc6685d28f Remakes particles in visual shaders 2020-09-07 13:33:51 +03:00
Yuri Roubinsky
e2aca7e047 Fix some broken visual shader nodes 2020-09-07 12:39:20 +03:00
Rémi Verschelde
753b2bd010
Merge pull request #41767 from lolleko/patch-1
Remove ArrayMesh::surface_remove declaration
2020-09-07 08:33:12 +02:00
reduz
d0bddf53c5 Implement manual particle emission and particle sub emitters. 2020-09-06 10:29:27 -03:00
Yuri Roubinsky
f188c41ffd Cleanup constructor code in visual shader nodes 2020-09-05 16:13:38 +03:00
Lorenz Junglas
9367310e2b
Remove ArrayMesh::surface_remove declaration
Removal was omitted in 449df8f688
2020-09-04 16:27:59 +02:00
Rémi Verschelde
de284f931d
doc: Sync classref with current source 2020-09-04 10:43:11 +02:00
bruvzg
80b8eff6aa
[Complex Test Layouts] Change String to use UTF-32 encoding on all platforms. 2020-09-03 19:56:24 +03:00
Rémi Verschelde
d84954a281
Merge pull request #41459 from Paulb23/nested_color_regions
Fix colour region end key seach and start key order
2020-09-03 11:32:04 +02:00
Yuri Roubinsky
58f0aa44d1
Merge pull request #41724 from Chaosus/vs_fix_particles
Restore Particles functionality in visual shader
2020-09-03 11:18:09 +03:00
Yuri Roubinsky
c291b1d23c Restore Particles functionality in visual shader 2020-09-03 10:22:00 +03:00
Rémi Verschelde
1956c7ad33
Merge pull request #41533 from Chaosus/vs_fix_specular
Fix specular render_mode for visual shaders
2020-09-03 07:36:58 +02:00
Juan Linietsky
f5f27bacdb Re-Implement GPU particles on master.
-No new features yet
-Unlike godot 3.x, sorting happens using GPU
2020-09-02 21:37:11 +02:00
Rémi Verschelde
74dbcf1e4d
Merge pull request #30148 from zaksnet/fix-texture-editor
Adds automatic update for StyleBoxTexture > region_rect
2020-08-31 13:25:28 +02:00
Andrii Doroshenko (Xrayez)
528056a3c5 Make AnimatedTexture.MAX_FRAMES public
The constant is already exposed in GDScript, but not in C++.
This information is useful for implementing animated texture
resource importers via modules.
2020-08-30 23:44:41 +03:00
Zak
7d7727bade Adds automatic update for region_rect
When changing the texture region for a StyleBox, the regions was not updating automatically in the Texture editor.
2020-08-29 19:46:52 +02:00
Yuri Roubinsky
4e2d699745 Fix specular render_mode for visual shaders 2020-08-28 12:50:46 +03:00
Paulb23
6cdcdbc242 Fix color region end key seach and start key order 2020-08-22 19:55:44 +01:00
Juan Linietsky
4e52c75a98
Merge pull request #41345 from clayjohn/VULKAN-sky-fog
Add fog to sky shaders
2020-08-20 09:50:52 -03:00
clayjohn
9d341acf2d Add fog to sky shaders 2020-08-19 22:58:14 -07:00
jjjlalonde@gmail.com
94b09da9a1 Update ResourceLoaderText::load to not update progress if resources are 0
Include check in other progress update statement

Update additional progress update statement
2020-08-16 13:12:21 -07:00
Juan Linietsky
6a5ecfdef1 Restored fog (non volumetric).
Uses a simpler and more intuitive implementation based on density.
Its less flexible than before, but its easier to get nice results.
2020-08-13 22:09:22 -03:00
Juan Linietsky
079ca220e1 Added volumetric fog effect. 2020-08-13 11:28:45 -03:00
Rémi Verschelde
dc90b17691
Merge pull request #41166 from somnathsarkar/gradient-fix
Sort points in a Gradient for color and offset updates.
2020-08-12 12:38:46 +02:00
Somnath Sarkar
d5d832417e Sort points in a Gradient for color and offset updates. 2020-08-12 01:55:41 -04:00
Rémi Verschelde
5ffbc7d678
Merge pull request #40964 from DrRevert/debug-mesh-lines-const
Change Shape3D::get_debug_mesh_lines into const methods
2020-08-11 19:02:19 +02:00
Paulb23
5cf2cf8646 Fix colour region continuation over blank lines, issue 41120 2020-08-08 15:36:46 +01:00
Arkadiusz Marcin Kołek
8e1c9ff1c1 Shape3D::get_debug_mesh_lines const methods 2020-08-02 11:10:43 +02:00
Yuri Roubinsky
4d52456613 Fix small reconnection bug in visual shader 2020-07-31 10:40:05 +03:00
Brian Semrau
69d1c48b73 Fixed shader editor comment highlighting 2020-07-28 15:16:24 -04:00
Yuri Roubinsky
cf03f90fa8
Merge pull request #40785 from Chaosus/vs_uniform_ref
Added UniformRef visual shader node
2020-07-28 16:17:37 +03:00
Yuri Roubinsky
7ddaff47a3 Added UniformRef visual shader node 2020-07-28 14:44:53 +03:00
Yuri Roubinsky
8fefdcf113 Added default value for uniforms in visual shaders 2020-07-27 15:44:22 +03:00
Yuri Roubinsky
167f033782 Optimize code generation for fresnel node in visual shaders 2020-07-27 11:35:53 +03:00
Yuri Roubinsky
5dfef9d8bc Removes redundant code generation in VisualShaderNodeTextureUniform 2020-07-26 04:28:07 +03:00
Tomasz Chabora
e1a1bb0a6e Keep transition value when replacing key 2020-07-23 22:59:04 +02:00
Rémi Verschelde
a5fb445121
Merge pull request #40450 from asmaloney/spelling
Fix spelling & grammar in comments, docs, and messages
2020-07-21 22:14:04 +02:00
Andy Maloney
4dda62f591 Fix spelling & grammar in comments, docs, and messages 2020-07-21 15:17:23 -04:00
Pedro J. Estébanez
80a5df4821 Add DynamicFont::get_available_chars() 2020-07-20 17:44:39 +02:00
Rémi Verschelde
2921827387
Merge pull request #40327 from pkdawson/patch-1
Avoid overflow when calculating visible_cells
2020-07-14 14:16:29 +02:00
Patrick Dawson
9e28df22a0 Avoid overflow when calculating visible_cells 2020-07-13 16:53:58 +02:00
Paulb23
bc4cee4458 Extract Syntax highlighting from TextEdit and add EditorSyntaxHighlighter
- Extacted all syntax highlighting code from text edit
- Removed enable syntax highlighting from text edit
- Added line_edited_from signal to text_edit
- Renamed get/set_syntax_highlighting to get/set_syntax_highlighter
- Added EditorSyntaxHighligher
2020-07-11 17:09:58 +01:00
Paulb23
156daddaaf Expose Syntax highlighter for editor plugins 2020-07-11 15:40:00 +01:00
Paulb23
2f1080be9b Convert syntax highlighters into a resource 2020-07-11 15:26:58 +01:00
Rémi Verschelde
9678a41b19
Merge pull request #40272 from clayjohn/VULKAN-time-slicing
Add incremental update mode to sky
2020-07-11 10:00:39 +02:00
clayjohn
a54f93c169 Add incremental update mode to sky 2020-07-11 00:10:15 -07:00
Marcel Admiraal
7517821950 Add missing overrides to visual_shader_nodes.h 2020-07-10 21:25:37 +01:00
Rémi Verschelde
dcd11faad3
Merge pull request #40253 from madmiraal/add-override-keywords
Add override keywords.
2020-07-10 21:04:23 +02:00
Yuri Roubinsky
ecb5f7ea23 Added 'fma' function to shader language 2020-07-10 19:58:03 +03:00
Marcel Admiraal
26fcf2b04c Add override keywords. 2020-07-10 13:56:54 +01:00
Juan Linietsky
110e650dc8 Change how default fonts are created, fixes #39235
Also fixes file dialog icons.
2020-07-03 21:29:12 -03:00
lordkettune
4313a7bdc8 Fix issues with custom tracks on reimport 2020-07-02 16:08:20 -07:00
Rémi Verschelde
67e4082b1e
Merge pull request #37350 from aaronfranke/force-impulse
Refactor physics force and impulse code to use (force, position) order
2020-07-02 18:39:16 +02:00
Rémi Verschelde
372136fe75 Environment: Refactor code for readability + more
- Makes all boolean setters/getters consistent.
- Fixes bug where `glow_hdr_bleed_scale` was not used.
- Split CameraEffects to their own source file.
- Reorder all Environment method and properties declarations,
  definitions and bindings to be consistent with each other
  and with the order of property bindings.
- Bind missing enum values added with SDFGI.
- Remove unused SDFGI enhance_ssr boolean.
- Sync doc changes after SDFGI merge and other misc changes.
2020-07-01 14:44:45 +02:00
Hugo Locurcio
a31fc59ff3 Write "Aces" tonemapping in uppercase as it's an acronym 2020-06-30 15:21:35 +02:00
Juan Linietsky
201d606b3d Addition of SDFGI for open world global illumination
Move GI to a deferred pass
2020-06-26 11:06:48 -03:00
Hugo Locurcio
9bd2d7a617
Fix default editor/project Button styles after ToolButton removal
Before this fix, all Buttons made with the default project theme
looked flat until hovered.
2020-06-24 17:21:47 +02:00
Hugo Locurcio
31b7f02a29
Remove ToolButton in favor of Button
ToolButton has no redeeming differences with Button;
it's just a Button with the Flat property enabled by default.
Removing it avoids some confusion when creating GUIs.

Existing ToolButtons will be converted to Buttons, but the Flat
property won't be enabled automatically.

This closes https://github.com/godotengine/godot-proposals/issues/1081.
2020-06-19 20:49:49 +02:00
Yuri Roubinsky
cb9cbf840d Added Texture2DArray support to visual shaders 2020-06-19 18:02:05 +03:00
Rémi Verschelde
78d09a4163
Merge pull request #37903 from Xrayez/shape-2d-draw-bind
Bind Shape2D draw method
2020-06-16 15:15:51 +02:00
Yuri Roubinsky
cc6ca5f1eb Use path instead classname to prevent errors for exported visual shaders 2020-06-15 21:44:03 +03:00
Michael Alexsander
637927f803 Add generic file icon and its modulation to the 'FileDialog' 2020-06-08 10:31:45 -03:00
Rémi Verschelde
c080ec5da2 PackedScene: Prevent crash when root node has parent attribute
The crash happens further down when setting an invalid owner in
`Node::_set_owner_nocheck` but I couldn't figure out how to fix it.

But here the proper fix is to catch the invalid scene file early on
and fail loading it.

Part of #17372.
2020-06-08 13:07:07 +02:00
Marcus Brummer
ffbb211bbe Set "shader_param/" prefix in Shader::has_param() 2020-06-04 17:41:10 +02:00
Phischermen
2fc274d572 Made property hint consistent with other property hints 2020-06-03 13:01:27 -07:00
Rémi Verschelde
7460bc36dd
Merge pull request #39130 from Calinou/dynamicfont-disable-outline-antialiasing
Disable antialiasing on the DynamicFont outline as well when requested
2020-06-03 12:59:15 +02:00
Aaron Franke
ba27deef06
Refactor physics force and impulse code 2020-06-02 23:18:59 -04:00
Andrii Doroshenko (Xrayez)
9bb070b030 Move RayShape2D implementation into its own translation unit 2020-06-01 01:52:07 +03:00
Rémi Verschelde
1620669f4e
Merge pull request #39051 from Xrayez/geometry-split
Split `Geometry` singleton into `Geometry2D` and `Geometry3D`
2020-05-29 12:10:37 +02:00
Hugo Locurcio
2919fc7317
Disable antialiasing on the DynamicFont outline as well when requested
This partially addresses
https://github.com/godotengine/godot-proposals/issues/943.
2020-05-28 22:30:38 +02:00
Andrii Doroshenko (Xrayez)
69d5de632e Split Geometry singleton into Geometry2D and Geometry3D
Extra `_2d` suffixes are removed from 2D methods accoringly.
2020-05-27 14:28:34 +03:00
Maganty Rushyendra
a4413710f9 Expose get_char_size() from Font instead of BitmapFont
`get_char_size()` is a public virtual function defined in the `Font`
class. Implementations exist for both `BitmapFont` and `Dynamic Font`.
However, it was only exposed to the GDScript API through the Bitmap
Font, and not for Dynamic Font.

This commit exposes the function through `Font` instead.

Fixes #23967
2020-05-27 17:28:23 +08:00
Dominik 'dreamsComeTrue' Jasiński
08377b3f04 Clarifies 'icon_separation' in TabContainer (instead of 'hseparation')
Fixes: #38911
2020-05-21 21:53:17 +02:00
clayjohn
4408efade3 Add night sky to PhysicalSkyMaterial 2020-05-16 12:59:55 -07:00
Hugo Locurcio
d935a4348d
Remove HQ2X and the Image.expand_2x_hq2x() method
As of Godot 3.0, HQ2X is no longer used to upscale the editor theme
and icons on hiDPI displays, which limited its effective uses.
HQ2X was also used to upscale the project theme when the "Use Hidpi"
project setting was enabled, but results were often less than ideal.
The new StyleBoxFlat and SVG support also make HQ2X less important
to have as a core feature.

This decreases binary sizes slightly (-150 KB on most platforms,
-212 KB on WebAssembly release).

This partially addresses #12419.
2020-05-16 16:10:50 +02:00
Rémi Verschelde
0ee0fa42e6 Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14 21:57:34 +02:00
Rémi Verschelde
07bc4e2f96 Style: Enforce separation line between function definitions
I couldn't find a tool that enforces it, so I went the manual route:
```
find -name "thirdparty" -prune \
  -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \
  -o -name "*.glsl" > files
perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files)
misc/scripts/fix_style.sh -c
```

This adds a newline after all `}` on the first column, unless they
are followed by `#` (typically `#endif`). This leads to having lots
of places with two lines between function/class definitions, but
clang-format then fixes it as we enforce max one line of separation.

This doesn't fix potential occurrences of function definitions which
are indented (e.g. for a helper class defined in a .cpp), but it's
better than nothing. Also can't be made to run easily on CI/hooks so
we'll have to be careful with new code.

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde
0be6d925dc Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.

This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.

There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde
a1aaed5a84 Remove redundant void argument lists
Using clang-tidy's `modernize-redundant-void-arg`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-redundant-void-arg.html
2020-05-14 13:51:45 +02:00
Rémi Verschelde
dcd1151d77 Enforce use of bool literals instead of integers
Using clang-tidy's `modernize-use-bool-literals`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-bool-literals.html
2020-05-14 13:45:01 +02:00
Rémi Verschelde
1f6f364a56 Port member initialization from constructor to declaration (C++11)
Using `clang-tidy`'s `modernize-use-default-member-init` check and
manual review of the changes, and some extra manual changes that
`clang-tidy` failed to do.

Also went manually through all of `core` to find occurrences that
`clang-tidy` couldn't handle, especially all initializations done
in a constructor without using initializer lists.
2020-05-14 10:01:56 +02:00
Rémi Verschelde
d3bd219362 doc: Sync classref with current source
Adds API changes from the new GPU lightmapper.
2020-05-12 10:10:50 +02:00
Juan Linietsky
1bea8e1eac New lightmapper
-Added LocalVector (needed it)
-Added stb_rect_pack (It's pretty cool, we could probably use it for other stuff too)
-Fixes and changes all around the place
-Added library for 128 bits fixed point (required for Delaunay3D)
2020-05-10 15:59:09 -03:00
Rémi Verschelde
94721f5ab8 Revert "Renamed plane's d to distance"
This reverts commit ec7b481170.

This was wrong, `d` is not a distance but the `d` constant in the
parametric equation `ax + by + cz = d` describing the plane.
2020-05-10 16:47:11 +02:00
Rémi Verschelde
69de7ce38c Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine
Part of #33027.
2020-05-10 13:13:54 +02:00