Yuri Rubinsky
99fa6ee6c4
Fix incorrect preview port in visual shader
2024-06-14 12:31:34 +03:00
Rémi Verschelde
0d1f2396d5
Merge pull request #92847 from aaronp64/varying_getter_port_type
...
Fix `VisualShaderNodeVaryingGetter` expanded ports adding ".x" to shader
2024-06-11 16:59:25 +02:00
Rémi Verschelde
5fcd9803cd
Merge pull request #90850 from AlexeyBond/patch-1
...
Handle Vector4 default input values in visual shaders
2024-06-07 23:29:19 +02:00
aaronp64
73343a2e7f
Fix VisualShaderNodeVaryingGetter expanded ports adding ".x" to shader
...
When VisualShaderNodeVaryingGetter type was Vector2/Vector3/Vector4, expanding the output ports and connecting an individual value to a scalar input would add ".x" to the assignment in the generated shader. This was due to `VisualShaderNodeVarying::get_port_type` ignoring the port number, and always returning the associated vector type. Added checks for `p_port == 0` to return either the vector type, or scalar for expanded ports, matching similar logic in other nodes, like `VisualShaderNodeColorConstant::get_output_port_type`.
Fixes #92832
2024-06-06 15:21:21 -04:00
kobewi
413c11357d
Use Core/Scene stringnames consistently
2024-05-13 23:41:07 +02:00
Hendrik Brucker
62776842df
[VisualShader] Add reroute node and improve port drawing
2024-05-13 03:26:01 +02:00
A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to `List`
...
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)
* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
Rémi Verschelde
de00cfbc01
Merge pull request #90892 from Chaosus/vs_fix_expression_port_expand
...
Prevent expanding output port in visual shader expression
2024-05-01 09:54:57 +02:00
Aaron Franke
b1f5e9fe3a
Rename internal is_ascii_char to is_ascii_alphabet_char
2024-04-20 02:36:41 -07:00
Yuri Rubinsky
56d843724e
Prevent expanding output port in visual shader expression
2024-04-19 11:49:10 +03:00
Alexey Bondarenko
69f2e066db
fix: Handle Vector4 default input values in visual shaders
2024-04-18 18:26:03 +06:00
Hendrik Brucker
735c45dc8e
[Compatibility] Add stub for VisualShaderNodeComment
2024-04-18 02:39:29 +02:00
Hendrik Brucker
a81561cbd9
Add GraphFrame and integrate it in VisualShader
2024-04-04 15:11:00 +02:00
Yuri Rubinsky
aa12241414
Refactor the parsing of port names in visual shader's expressions
2024-03-21 16:34:37 +03:00
Hendrik Brucker
02a33b67a8
Redesign the graph editor for visual shaders
2024-02-22 20:40:09 +01:00
Rémi Verschelde
4a30fe5e7c
Merge pull request #86564 from Giwayume/feature/canvas-item-shader-custom-data
...
Support CUSTOM shader attributes in 2D
2024-02-08 10:53:24 +01:00
jsjtxietian
ff089f8cea
Check is the ref shader valid in visual shader's update_option_menu
2024-01-25 11:54:23 +08:00
Giwayume
bb83c4adec
Add custom shader attributes to Canvas Item Shaders
2024-01-23 14:36:39 -05:00
Hendrik Brucker
f59419bfe0
Add connection-related VisualShader operations
...
- Insert a node in a connection
- Drop an unconnected node on a connection to insert it
- Delete a connection
2024-01-19 11:38:59 +01:00
Rémi Verschelde
5d306202b8
Merge pull request #84348 from jsjtxietian/screen-uv-in-visual-shader-preview-should-uv
...
Fix visual shader's `screen_uv` input preview uses position of node rather than a sample area like uv
2024-01-04 14:25:21 +01:00
Alistair Leslie-Hughes
bfd62d7cdf
Visual shader refacter use of connection
2023-12-12 07:36:28 +11:00
Alistair Leslie-Hughes
a30dc67007
Fix VisualShader connection use after free.
2023-11-14 07:34:41 +11:00
jsjtxietian
d920bdeda5
Fix visual shader's screen_uv input preview uses position of node
...
rather than a sample area like uv
2023-11-06 11:20:42 +08:00
Rémi Verschelde
111a91a09f
Merge pull request #83194 from jsjtxietian/fix-bool-varying-code-gen
...
Fix bool varying's generated code will be modified with flat
2023-10-13 11:45:09 +02:00
jsjtxietian
0f7a97eba0
Fix bool varying's generated code will be modified with flat
2023-10-12 19:42:18 +08:00
jsjtxietian
0ecef0e236
Fix parameter shader node not declared when only connected to a VaryingSetter
2023-10-12 17:53:26 +08:00
Yuri Roubinski
4575cc0c6f
Implement drop-down list properties to the custom visual shader nodes
2023-09-29 10:55:05 +03:00
DennisManaa
f248420a2b
made visual shader ports expandable by default if there is only one output port and it's of any vector type
...
Co-authored-by: QbieShay <cislaghi.ilaria@gmail.com>
2023-09-22 15:28:59 +02:00
Hendrik Brucker
5afe78bd9c
Clean up/refactor GraphNode and make it more flexible
...
Split GraphNode into GraphElement and GraphNode, add custom
titlebar, and adjust theming.
2023-09-07 17:29:06 +02:00
Yuri Roubinski
01101134f4
Make the dragging connections more user-friendly in visual shaders
2023-07-20 15:00:19 +03:00
kobewi
de4a3fa151
Unify and streamline connecting to Resource changes
2023-07-17 19:35:57 +02:00
Yuri Sizov
53d0e6c2d5
Merge pull request #73691 from Chaosus/vs_depth
...
Add DEPTH to the visual shader output (for spatial mode)
2023-07-12 14:18:41 +02:00
Hugo Locurcio
dcc92c174e
Remove uses of `vformat()` with no placeholders
...
This is identical to passing the string directly.
2023-06-28 16:27:55 +02:00
Yuri Rubinsky
998b48f722
Add handling of custom visual shader nodes from GDExtension
2023-05-06 08:19:12 +03:00
Johan Aires Rastén
14a8124ffe
Add LIGHT_IS_DIRECTIONAL built-in for spatial shaders
2023-04-20 14:33:30 +02:00
clayjohn
9be0a73294
Add EXPOSURE built in to spatial shaders
...
This allows users to restore light values to pre-pre-exposure amounts
2023-04-12 10:35:13 -07:00
clayjohn
016946b552
Write out render_mode even when mode is set to default in VisualShaders
2023-04-11 18:03:00 -07:00
Yuri Rubinsky
faf62ba0cc
Add DEPTH to the visual shader output (for spatial mode)
2023-02-21 20:19:37 +03:00
Yuri Rubinsky
c0a3129210
Prevent preview error for the instance parameter in visual shader
2023-02-03 15:28:04 +03:00
Rémi Verschelde
e8240031e7
Merge pull request #71479 from raulsntos/virtual-return-type
...
Use enum instead of int in virtual methods return type
2023-02-01 07:45:28 +01:00
Rémi Verschelde
ab4d8df163
Merge pull request #72485 from BastiaanOlij/add_eye_matrix_access
...
Expose EYE_OFFSET to gdshader code
2023-02-01 07:33:18 +01:00
Bastiaan Olij
8c77aea9ab
Expose EYE_OFFSET to gdshader code
2023-02-01 12:39:13 +11:00
Marius Hanl
a59819630d
Replace Extents with Size in VoxelGI, ReflectionProbe, FogVolume, Decal and GPUParticles*3D
...
- Extents are replaced by Size (Size is Extents * 2)
- The UI text displays 'Size'
- Snapping is adjusted to work with Size
- _set and _get handle extents for compatibility
Co-authored-by: ator-dev <dominic.codedeveloper@gmail.com>
2023-01-31 20:04:11 +01:00
Raul Santos
9e9eac4676
Use enum instead of int in virtual methods return type
2023-01-31 19:06:49 +01:00
Aaron Franke
2bc0bcbd26
PropertyUsage: Rename "DO_NOT_SHARE_ON_DUPLICATE" to "ALWAYS_DUPLICATE"
2023-01-24 16:05:07 -06:00
Yuri Rubinsky
7cbe2b939e
Some refactoring for visual shader texture functions
2023-01-20 12:54:20 +03:00
clayjohn
faea9f5c10
Remove SCREEN_TEXTURE, DEPTH_TEXTURE, and NORMAL_ROUGHNESS_TEXTURE
...
in favour of texture hints
2023-01-18 19:52:47 -08:00
Yuri Rubinsky
87eafe48b8
Add few improvements for `VisualShaderNodeParticleRandomness`
2023-01-09 20:33:45 +03:00
Yuri Rubinsky
f101add78b
Add `uint` type support to visual shaders
2023-01-06 10:35:25 +03:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
...
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.
It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).
We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).
Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00