Commit Graph

318 Commits

Author SHA1 Message Date
657dc82fe4 Sort bent normal output at the bottom to prevent visual shader breakage 2025-07-15 11:36:47 +02:00
2f39f4746d Merge pull request #107729 from Chaosus/vs_fix_missing_transform_preview
Add missing input transform to visual shader preview
2025-06-27 09:39:55 -05:00
28a11ab551 Restore graph_offset property 2025-06-25 18:25:57 +02:00
5a43220818 Add missing input transform to visual shader preview 2025-06-19 20:46:55 +03:00
666d7c030b [VisualShader] Fix and improve editor state persistence 2025-06-14 13:10:17 +02:00
8ba4656ea3 Compile out editor-only logic within validate_property in games 2025-06-12 12:54:19 +08:00
d674c9e289 Add stencil support for spatial materials 2025-06-11 09:59:10 -05:00
7574a5dbb3 Add depth function for spatial materials 2025-06-06 09:21:19 -05:00
9828c365c3 Add support for bent normals for indirect lighting and specular occlusion 2025-05-12 12:52:04 +02:00
2db0a44519 Remove vmap.h 2025-05-09 19:05:28 +08:00
31bfc41202 Replace VMap with HashMap in VisualShader. 2025-05-09 19:05:28 +08:00
4e68f277c6 add REGION_RECT
fix formatting

fix shader compile (region_rect after draw_data)

fix formatting

fix formatting

Review fix (move region_rect in main + remove useless visual shader options)

fix formatting

fix alphabetic order (+ remove useless action for spatial shaders)

typo + remove TYPE_LIGHT option for  region_rect
2025-04-30 11:07:22 +02:00
b28800e580 Include alpha in visual shader light function inputs
Lack of access to the alpha accumulator makes some effects that are sensitive to lighting impossible with the visual shader graph. This is an easy fix thankfully as it simply just wasn't exposed.
2025-03-11 20:57:03 -07:00
5113022dfe Clean up some uses of String::substr
Cases where the end position is either equvalent to the default or past
the end of the string.
2025-03-07 14:50:38 +01:00
c4db6687f9 Generate global code for VisualShader nodes that connect to VaryingSetters
Updated visual shader code to call generate_global_per_node() for nodes connected to VaryingSetter nodes, even if they don't connect directly to Output.
2025-01-16 15:14:12 -05:00
a1846b27ea Improve use of Ref.is_null/valid
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
73d85f46c9 Remove unused headers in scene.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:40:09 +08:00
b5c31ebb41 Add contains_char() for single-character 'contains' calls. 2024-12-06 20:23:35 +01:00
d58b2e879f Get rid of easily removable uses of const_cast 2024-12-01 17:50:13 -08:00
a64b3fd3f8 Allow SCREEN_UV to be used in light function of spatial shader 2024-11-19 11:39:49 +03:00
90ce26a27b Merge pull request #94889 from rune-scape/no-const-list-erase
Remove const_cast in `List::erase`
2024-11-10 12:12:34 -06:00
a47daa0a44 Avoid const_cast in List::erase by requiring mutable elements 2024-11-08 00:10:08 -08:00
6cef0a17fb Merge pull request #98571 from timothyqiu/pname-no-editor
Don't mark `PROPERTY_USAGE_NO_EDITOR` properties for translation
2024-11-05 18:36:10 -06:00
d47425b35f Don't mark PROPERTY_USAGE_NO_EDITOR properties for translation
Using `PNAME()` on these properties are redundant as they won't be displayed
in the editor and some of them will be automatically ignored by the
extraction script.
2024-10-26 22:09:21 +08:00
43a99fba3d Add alpha channel display to vec4 previews of visual shader nodes 2024-10-18 20:00:10 +03:00
9dfc41568a Merge pull request #95984 from timothyqiu/what-identifier
Add `String.is_valid_unicode_identifier()`
2024-08-27 16:55:06 +02:00
21bcff00e9 Merge pull request #95126 from Chaosus/shader_cubemap_fix
Allow setting a cubemap as default parameter to shader
2024-08-27 16:54:50 +02:00
db251a3f99 Allow setting a cubemap as default parameter to shader 2024-08-27 09:43:05 +03:00
f538376c3b Add CLIP_SPACE_FAR built-in to spatial shader 2024-08-27 08:48:46 +03:00
8bf4ecc026 Add String.is_valid_unicode_identifier()
- Adds `is_valid_unicode_identifier()`
- Adds `is_valid_ascii_identifier()`
- Deprecates `is_valid_identifier()`
- Renames `validate_identifier()` to `validate_ascii_identifier()`
2024-08-27 11:34:08 +08:00
0125b0eb03 Merge pull request #94215 from Chaosus/vs_preview_and_param_list
Add a material preview to visual shader editor
2024-08-26 23:28:46 +02:00
eef236db63 Fix visual shader inputs to follow the alphabet order 2024-08-20 20:51:47 +03:00
f202a3d24e Add a material preview to visual shader editor 2024-08-17 08:27:54 +03:00
1346aaf4e7 Merge pull request #95465 from jsjtxietian/remove-category-warning
Remove `missing a category` warning in visual shader node
2024-08-16 14:34:56 +02:00
c7249f41e9 Remove missing a category warning in visual shader node 2024-08-13 12:20:59 +08:00
b9876b626d Change "Node3D" to "Spatial" in VisualShader resource 2024-08-12 21:04:13 -07:00
14c36b733c Fix internal connection count decreased if visual shader node removed 2024-07-18 11:40:02 +03:00
92aa01f937 Add few new outputs to the visual shaders 2024-07-12 17:12:22 +03:00
537316098f Fix bugs in visual shader varyings 2024-06-16 16:58:46 +03:00
99fa6ee6c4 Fix incorrect preview port in visual shader 2024-06-14 12:31:34 +03:00
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
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
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
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
62776842df [VisualShader] Add reroute node and improve port drawing 2024-05-13 03:26:01 +02:00
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
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
b1f5e9fe3a Rename internal is_ascii_char to is_ascii_alphabet_char 2024-04-20 02:36:41 -07:00
56d843724e Prevent expanding output port in visual shader expression 2024-04-19 11:49:10 +03:00
69f2e066db fix: Handle Vector4 default input values in visual shaders 2024-04-18 18:26:03 +06:00