Rémi Verschelde
f8f19b313d
Merge pull request #57562 from AnilBK/string-add-contains
...
String: Add contains().
2022-02-03 22:21:24 +01:00
Anilforextra
adbe948bda
String: Add contains().
2022-02-04 01:28:02 +05:45
Yuri Roubinsky
59af063636
Add support for 2D vector type to visual shaders
2022-02-02 19:59:34 +03:00
Rémi Verschelde
ee253163ab
Merge pull request #57056 from Chaosus/vs_fix_defaults
2022-01-23 00:27:48 +01:00
Yuri Roubinsky
56a6e95d6a
Remove transform input from fog mode in visual shaders
2022-01-22 16:31:06 +03:00
Yuri Roubinsky
538cff1351
Fix default input port hints for some modes in visual shader
2022-01-22 11:12:56 +03:00
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