Commit graph

121 commits

Author SHA1 Message Date
reduz
3682978aee Replace BIND_VMETHOD by new GDVIRTUAL syntax
* New syntax is type safe.
* New syntax allows for type safe virtuals in native extensions.
* New syntax permits extremely fast calling.

Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`.
These will require API rework on a separate PR as they work different than the rest of the functions.

Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
2021-08-22 08:23:58 -03:00
Yuri Roubinsky
e537a1f10e Added missed limiters for Visual Shader node enums 2021-08-15 19:10:51 +03:00
Yuri Roubinsky
94c6817b51 Makes dictionary instead of string for visual shader version
Update doc/classes/VisualShader.xml

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2021-08-02 21:34:19 +03:00
Yuri Roubinsky
7d34701d63 Auto-set a first compatible uniform on dragging to create a UniformRef 2021-07-12 11:19:42 +03:00
Yuri Roubinsky
46cd36f009 Fix auto-connection from output node to input (VisualShaders) 2021-06-28 14:38:08 +03:00
Yuri Roubinsky
f632e36ae5 Continuation of work on visual particles system 2021-06-07 20:33:17 +03:00
Yuri Roubinsky
b2d2822a39 Adds UVFunc for panning/scaling on UV's to VisualShader's. 2021-06-07 08:31:48 +03:00
Yuri Roubinsky
f06db8b778 Added Billboard Node to Visual Shaders 2021-05-28 09:24:06 +03:00
Yuri Roubinsky
8f9b91dab1 Implements expandable color ports in visual shaders 2021-05-26 10:45:53 +03:00
Rémi Verschelde
4219a4cb6f
Fix typos with codespell
Using codespell 2.0.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
GIRD
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2021-05-20 12:38:56 +02:00
Lightning_A
97fecd1b69 Rename "Control" key to "Ctrl" and add "_pressed" suffix to all InputEventWithModifiers properties/methods 2021-05-07 14:00:50 -06:00
Rémi Verschelde
b95a82d46a
Merge pull request #47826 from Chaosus/vs_fix_default_input_overriding
Prevents default values of VSNodeCustom from overriding by a script
2021-04-27 10:42:51 +02:00
Yuri Roubinsky
8ae5c6c6ec Fix sky visual shader mode after last rename 2021-04-17 20:59:48 +03:00
Yuri Roubinsky
8d3e46098b Prevents default values of VSNodeCustom from overriding by a script 2021-04-12 14:41:08 +03:00
Yuri Roubinsky
44af52d62c Prevents TextureUniform in visual shaders from conversion to constant 2021-04-04 17:32:44 +03:00
Yuri Roubinsky
fe3051fcce Added Comment node to Visual Shaders 2021-02-21 12:40:17 +03:00
Pedro J. Estébanez
8e128726f0 Modernize atomics
- Based on C++11's `atomic`
- Reworked `SafeRefCount` (based on the rewrite by @hpvb)
- Replaced free atomic functions by the new `SafeNumeric<T>`
- Replaced wrong cases of `volatile bool` by the new `SafeFlag`
- Platform-specific implementations no longer needed

Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2021-02-18 17:12:46 +01:00
reduz
f8d03b98e7 Improve resource load cache
-Added a new method in Resource: reset_state , used for reloading the same resource from disk
-Added a new cache mode "replace" in ResourceLoader, which reuses existing loaded sub-resources but resets their data from disk (or replaces them if they chaged type)
-Because the correct sub-resource paths are always loaded now, this fixes bugs with subresource folding or subresource ordering when saving.
2021-02-11 15:44:28 -03:00
Rafał Mikrut
7961a1dea3 Initialize class variables with default values in scene/ [2/2] 2021-02-09 18:24:36 +01:00
Rémi Verschelde
c7fb7674c8
Merge pull request #44805 from Chaosus/vs_convert
Add convert options between constants and uniforms in visual shaders
2021-01-15 16:58:26 +01:00
Rémi Verschelde
b5334d14f7
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 🎆
2021-01-01 20:19:21 +01:00
Yuri Roubinsky
c98c6eadbe Add convert options between constants and uniforms in visual shaders 2020-12-30 13:07:08 +03:00
Yuri Roubinsky
dd32d7b7ee Fixed some errors when changing port name in visual shader expressions 2020-12-02 13:27:37 +03:00
reduz
127458ed17 Reorganized core/ directory, it was too fatty already
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
Yuri Roubinsky
f402e1e675 Added VisualShaderNodeCurve to easy gather data from a CurveTexture 2020-10-18 09:57:15 +03:00
Yuri Roubinsky
dc713e149f Fix VisualShaderNode::set_output_port_connected 2020-10-02 09:06:13 +03:00
Yuri Roubinsky
07fb960a88 Fix some bugs in visual shader editor 2020-09-21 22:19:20 +03:00
Yuri Roubinsky
8dbf3d7c44 Improve performance of Add/Remove/Connect/Change nodes in visual shader 2020-09-11 15:45:18 +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
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
Yuri Roubinsky
f188c41ffd Cleanup constructor code in visual shader nodes 2020-09-05 16:13:38 +03:00
Yuri Roubinsky
c291b1d23c Restore Particles functionality in visual shader 2020-09-03 10:22:00 +03:00
Yuri Roubinsky
4d52456613 Fix small reconnection bug in visual shader 2020-07-31 10:40:05 +03:00
Yuri Roubinsky
7ddaff47a3 Added UniformRef visual shader node 2020-07-28 14:44:53 +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
Marcel Admiraal
26fcf2b04c Add override keywords. 2020-07-10 13:56:54 +01: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
Yuri Roubinsky
082542b525 Added uniform qualifiers to visual shaders 2020-05-05 11:25:48 +03:00
Yuri Roubinsky
8dfe6716ec Adds warning to the uniform name in visual shader if its equal to keyword 2020-04-06 12:29:50 +03:00
Yuri Roubinsky
4a3d277623 Add support for integer type in visual shaders 2020-02-26 10:12:06 +03:00
Juan Linietsky
3f335ce3d4 Texture refactor
-Texture renamed to Texture2D
-TextureLayered as base now inherits 2Darray, cubemap and cubemap array
-Removed all references to flags in textures (they will go in the shader)
-Texture3D gone for now (will come back later done properly)
-Create base rasterizer for RenderDevice, RasterizerRD
2020-02-11 11:53:26 +01:00
Yuri Roubinsky
bfec48abf1 Better visual shader code generation 2020-02-01 15:53:02 +03:00
Yuri Roubinsky
3479cf4b42 Removed unused method "build" from VisualShaderNodeExpression 2020-01-27 18:24:39 +03:00
Yuri Roubinsky
86cdccebe6 Hide "default_input_values" property in VisualShaderNode. 2020-01-23 11:18:51 +03:00
Yuri Roubinsky
a8ab4e3357 Forbid recursive connections in visual shader 2020-01-20 18:15:45 +03:00
Rémi Verschelde
a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Yuri Roubinsky
8243afb0e9 Added sampler inputs for visual shaders 2019-11-03 17:59:15 +03:00
Yuri Roubinsky
b217babca2 [VShaders] Added sampler port to CubeMap, fixed parsing in expresssion s 2019-10-11 10:36:04 +03:00
Yuri Roubinsky
fec8da3c5e Makes cube maps to be works in visual shaders 2019-10-09 12:13:53 +03:00
Yuri Roubinsky
b11d15d5c3 Makes Texture and TextureUniform in visual shaders to use UV by default 2019-10-03 16:59:49 +03:00
Chaosus
f14bcd8cc5 Added sampler port type for visual shaders 2019-10-01 13:20:08 +03:00
Rémi Verschelde
ef37f00525
Merge pull request #31453 from Chaosus/vs_code_preview
Added code preview to visual shader
2019-08-18 17:32:49 +02:00
Yuri Roubinski
808e44df6d Added code preview to visual shader 2019-08-18 17:28:19 +03:00
Yuri Roubinski
e3b43771aa Added global expressions to visual shaders 2019-08-18 08:49:56 +03:00
Yuri Roubinski
33e9fce1bb Plugin support for visual shaders 2019-08-14 15:52:27 +03:00
Chaosus
0727caadd1 Added triplanar uniform texture node to visual shaders 2019-07-12 12:14:34 +03:00
Chaosus
0aec3c3113 Shows menu when dragging connection on empty space in visual shader graph 2019-06-27 10:48:18 +03:00
Chaosus
7bed1a0f21 Fix expression node crashes 2019-06-22 17:41:51 +03:00
JohnJLight
38d3bfe971 Made use of semicolons more consitent, fixed formatting 2019-06-19 15:24:31 +02:00
Ignacio Etcheverry
d426dcabf8 Fix GetTypeInfo error due to missing include 2019-05-27 17:33:25 +02:00
Chaosus
5648924eef Expression node for visual shaders 2019-05-21 12:11:41 +03:00
Chaosus
5fd671b8a7 Major improvements for visual shader system 2019-04-07 08:17:38 +03:00
Juan Linietsky
3eb0757552 Modified code generation to be more friendly to previews, fixes #25094 2019-01-21 16:10:23 -03:00
Rémi Verschelde
b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
elasota
f5c7d64492 Don't open VisualShaders in the text shader editor, and don't support saving them with the "shader" extension. 2018-09-14 22:30:48 -04:00
Rémi Verschelde
277b24dfb7 Make core/ includes absolute, remove subfolders from include path
This allows more consistency in the manner we include core headers,
where previously there would be a mix of absolute, relative and
include path-dependent includes.
2018-09-12 09:52:22 +02:00
Rémi Verschelde
9eb4d4ab2d Add missing copyright headers 2018-08-29 22:41:17 +02:00
Juan Linietsky
f6ce73f724 Visual Shaders are back. 2018-07-14 18:16:18 -03:00