Yuri Roubinsky
cd5b681997
Fix undo after non-last port removal in `VisualShaderNodeExpression`
2022-01-21 15:21:41 +03:00
Arnav Vijaywargiya
0c46f73b5e
Fixed incorrect property types
2022-01-11 17:17:11 +05:30
Yuri Roubinsky
21cfcaa129
Add a GDScript template for `VisualShaderNodeCustom`
2022-01-06 12:06:33 +03:00
Rémi Verschelde
fe52458154
Update copyright statements to 2022
...
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
Yuri Roubinsky
e8a457ba89
Refactor render_mode in shaders, forbid declaring duplicates
2021-12-21 22:20:09 +03:00
Nathan Franke
49403cbfa0
Replace String comparisons with "", String() to is_empty()
...
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
2021-12-09 04:48:38 -06:00
Lightning_A
e078f970db
Rename `remove()` to `remove_at()` when removing by index
2021-11-23 18:58:57 -07:00
Yuri Roubinsky
0270144644
Enchance `VisualShaderNodeMeshEmitter`, add more ports and fix bugs
2021-11-18 14:02:15 +03:00
Yuri Roubinsky
826e781bfa
Fix default_texture_param in shader pipeline to support uniform arrays
2021-11-12 12:53:40 +03:00
Rémi Verschelde
2beaae4b6f
String: Remove `erase` method, bindings can't mutate String
2021-11-11 11:23:32 +01:00
Rémi Verschelde
a6412e132a
Merge pull request #54660 from Chaosus/vs_particles_mesh_emitter
2021-11-10 19:55:25 +01:00
Rémi Verschelde
f253f7b6e6
VisualShader: Document enum args for virtual methods
...
Fixes #31563 .
2021-11-10 13:22:58 +01:00
Yuri Roubinsky
80b563672b
Added `MeshEmitter` node for particles in visual shader
2021-11-06 17:45:38 +03:00
Yuri Roubinsky
dcdf59cd73
Added 2D boolean hint for particle emitters in visual shaders
2021-11-05 12:45:57 +03:00
Hugo Locurcio
c012fbc8b2
Rename `PROPERTY_USAGE_NOEDITOR` to `PROPERTY_USAGE_NO_EDITOR`
...
This is consistent with other constants that include `NO`,
such as `PROPERTY_HINT_COLOR_NO_ALPHA`.
2021-11-03 23:06:17 +01:00
Yuri Roubinsky
2d0aa5ebc4
Repair Fog mode in visual shaders
2021-10-29 17:09:03 +03:00
clayjohn
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
Yuri Roubinsky
c299c54023
Make port previews in visual shader visible in other shader modes
2021-10-11 22:19:08 +03:00
Lightning_A
c63b18507d
Use range iterators for `Map`
2021-09-30 15:09:12 -06:00
Haoyu Qiu
eba7265a1c
Fix misspelled "overriden"
...
In recent GDVIRTUAL PR and SkeletonModification3DJiggle doc.
2021-08-26 01:44:01 +08:00
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
c43b7c113f
Fix printing error about unsupported modifier on `TransformUniform`
2021-08-12 19:40:45 +03:00
Yuri Roubinsky
47a6bb2f28
Fix a default shader specular render mode to (`SCHLICK_GGX`/`BLINN`)
2021-08-06 16:01:58 +03:00
Yuri Roubinsky
a34a91a30b
Added more input/output built-ins to visual shaders
2021-08-03 09:32:40 +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
Rémi Verschelde
ac3322b0af
Use const references where possible for List range iterators
2021-07-25 12:22:25 +02:00
Aaron Franke
4e6efd1b07
Use C++ iterators for Lists in many situations
2021-07-23 17:38:28 -04:00
Yuri Roubinsky
40419a394d
Fix function code generation for uniform triplanar node in visual shader
2021-07-21 13:02:23 +03:00
Rémi Verschelde
394191c02f
Merge pull request #50605 from Calinou/tweak-shader-code-style
...
Use C++11 raw literals for shader code to improve readability
2021-07-20 10:05:13 +02:00
Hugo Locurcio
abc38b8d66
Use C++11 raw literals for shader code to improve readability
...
In files that have lots of branching, `\t` was replaced with a
tab character instead.
2021-07-19 08:19:50 +02:00
reduz
6631f66c2a
Optimize StringName usage
...
* Added a new macro SNAME() that constructs and caches a local stringname.
* Subsequent usages use the cached version.
* Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time.
* Replaced all theme usages by this new macro.
* Replace all signal emission usages by this new macro.
* Replace all call_deferred usages by this new macro.
This is part of ongoing work to optimize GUI and the editor.
2021-07-18 21:20:02 -03:00
Yuri Roubinsky
d63a284dff
Prevent function gen in visual shader if no out connection is provided
2021-07-17 22:51:22 +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
Lightning_A
e28fd07b2b
Rename `instance()`->`instantiate()` when it's a verb
2021-06-19 20:49:18 -06: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
Aaron Franke
08a85352fb
Rename Variant TRANSFORM to TRANSFORM3D
...
Also _transform to _transform3d
2021-06-03 07:30:01 -04:00
Aaron Franke
de3f6699a5
Rename Transform to Transform3D in core
2021-06-03 07:30:01 -04: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
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
Rémi Verschelde
29775a1714
doc: Sync classref with current source
2021-04-19 12:26:37 +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
fe3051fcce
Added Comment node to Visual Shaders
2021-02-21 12:40:17 +03:00
Delf Neumärker
4a468171e5
Fix crash when calling connect_nodes_forced with invalid params
2021-02-18 22:57:41 +01: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
andybarcia
f455f873c7
Fixes crash when calling VisualShader::set_mode
2021-02-16 14:57:40 +01:00
kleonc
7d451c0040
VisualShader::_input_type_changed Fix index out of bounds crash.
2021-02-14 15:26:33 +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
reduz
1aa2823fa3
Removed _change_notify
...
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap.
-For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed()
-Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
2021-02-10 19:31:24 -03:00
Yuri Roubinsky
4618e09f3b
Added SDF nodes to visual shader
2021-01-18 15:04:54 +01:00
Yuri Roubinsky
4a85f4cafe
Fix replaced visual shader nodes updating
2021-01-15 21:10:32 +03: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
Marcel Admiraal
b4a190e0bc
Consistently use normal_map
2020-12-29 08:04:19 +00:00
Marcel Admiraal
5b937d493f
Rename empty() to is_empty()
2020-12-28 10:39:56 +00:00
Yuri Roubinsky
dd32d7b7ee
Fixed some errors when changing port name in visual shader expressions
2020-12-02 13:27:37 +03:00
Yuri Roubinsky
b74f1abd25
Fix few bugs in visual shader expressions
...
Fixed few bugs in visual shader expressions
2020-12-01 16:55:52 +03:00
Yuri Roubinsky
82d64ebd19
Fixed several visual shader inputs
...
Fixed several inputs in visual shaders
2020-11-29 16:10:05 +03:00
Yuri Roubinsky
07e752585c
Fixed invalid visual shader outputs (TRANSMISSION, ALPHA_SCISSOR)
2020-11-28 20:42:59 +03:00
Aaron Franke
02161aad5a
Remove empty lines around braces with the formatting script
2020-11-16 23:38:11 -05: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
Luke Costello
65eb02b236
Visual Shader Parenthesis fix
...
missing parenthesis were added to prevent conditional statement from interacting with operations
2020-10-27 03:20:29 -04:00
Yuri Roubinsky
f402e1e675
Added VisualShaderNodeCurve to easy gather data from a CurveTexture
2020-10-18 09:57:15 +03:00
Yuri Roubinsky
f4eef287f9
Adds Metallic to spatial light input of visual shaders
2020-10-10 16:55:36 +03:00
Yuri Roubinsky
dc713e149f
Fix VisualShaderNode::set_output_port_connected
2020-10-02 09:06:13 +03:00
Yuri Roubinsky
81a44a4145
Fix expressions nodes in visual shaders
2020-09-22 23:07:55 +03:00
Yuri Roubinsky
07fb960a88
Fix some bugs in visual shader editor
2020-09-21 22:19:20 +03:00
Yuri Roubinsky
ca9b3e929b
Fix triplanar texture code generation in visual shaders
2020-09-11 18:23:26 +03:00
Yuri Roubinsky
01191178bf
Merge pull request #41955 from Chaosus/vs_performance_fix3
...
Improve performance of Add/Remove/Connect/Change nodes in visual shader
2020-09-11 16:24:11 +03:00
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
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
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
Yuri Roubinsky
f188c41ffd
Cleanup constructor code in visual shader nodes
2020-09-05 16:13:38 +03:00
Rémi Verschelde
de284f931d
doc: Sync classref with current source
2020-09-04 10:43:11 +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
Yuri Roubinsky
4e2d699745
Fix specular render_mode for visual shaders
2020-08-28 12:50:46 +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
Yuri Roubinsky
cc6ca5f1eb
Use path instead classname to prevent errors for exported visual shaders
2020-06-15 21:44:03 +03: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
69de7ce38c
Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine
...
Part of #33027 .
2020-05-10 13:13:54 +02:00
Rémi Verschelde
42649565e9
Merge pull request #38475 from Chaosus/vs_quals
...
Added uniform qualifiers to visual shaders
2020-05-06 07:27:35 +02:00
Yuri Roubinsky
463e4ad0f5
Some fixes for canvas item visual shader inputs
2020-05-05 13:19:36 +03: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