Apples
d674c9e289
Add stencil support for spatial materials
2025-06-11 09:59:10 -05:00
Apples
7574a5dbb3
Add depth function for spatial materials
2025-06-06 09:21:19 -05:00
Chaosus
5a14ab7c39
[Shaders] Allow constants and expressions in hint_range
2025-04-17 17:43:01 +03:00
Rob Blanckaert
8c54290b4a
Add color_conversion_disabled
shader hint.
...
Sometimes shaders want to accept a color as input that is always
in the srgb color space. This adds a hint to vec3/vec4 to enable
the color picker popup for those vectors but disable color space
conversion.
2025-04-10 21:31:15 -07:00
Thaddeus Crews
324512e11c
Style: Replace header guards with #pragma once
2025-03-07 17:33:47 -06:00
clayjohn
35100396e4
Validate varying count when compiling shaders
...
This avoids crashing on devices when a number of varyings greater than the device limit is used.
For now this accurately prints an error when compiling the shader, but the error text only pops up in the editor if the number of user varyings is above the limit.
2025-02-13 15:07:15 -08:00
Chaosus
570e59df3d
Fix shader uniforms has null as default value
2025-01-31 07:35:51 +03:00
Chaosus
a7bb85d2b7
Fix shader crash when using varyings with non-flat
integer type
2024-12-09 12:52:01 +03:00
Chaosus
5a48e527b2
Fix orphan strings in shader preprocessor
2024-11-28 11:22:17 +03:00
Thaddeus Crews
89a311205f
Style: Apply clang-tidy
fixes
...
• `modernize-use-default-member-init` and `readability-redundant-member-init`
• Minor adjustments to `.clang-tidy` to improve syntax & remove redundancies
2024-11-04 12:11:06 -06:00
Yuri Rubinsky
ff9fb0abea
Merge pull request #93590 from Chaosus/shader_custom_func_discard
...
Allow usage of `discard` inside custom shader functions
2024-10-24 09:38:10 +03:00
Yuri Rubinsky
ad7e7a51b2
Allow usage of discard
inside custom shader functions
2024-10-17 16:06:33 +03:00
Yuri Rubinsky
74c000db17
Allow using stage functions inside custom shader functions
2024-10-17 15:47:01 +03:00
Yuri Rubinsky
1c86feee0a
Implement custom function overloading in shading language
2024-10-08 15:54:00 +03:00
David Snopek
1a6f8512bc
Add external texture support (GLES3)
...
Co-authored-by: Fredia Huya-Kouadio <fhuyakou@gmail.com>
Co-authored-by: Mauricio Narvaez <nvz@meta.com>
2024-09-20 10:48:32 -05:00
Chaosus
b2611c198e
Fix shader incorrectly expects int
on uint
and vice-versa in cases
2024-09-11 09:22:27 +03:00
Yuri Rubinsky
af92fdb0ac
Add basic support to evaluate operator value in shader language
2024-09-09 15:12:11 +03:00
Rémi Verschelde
10a92287c6
Merge pull request #94352 from Chaosus/shader_ternary_fix
...
Fix multiple ternary expressions to be used without parenthesis
2024-08-28 00:12:07 +02:00
Rémi Verschelde
7999b4bb8a
Merge pull request #94324 from SomeRanDev/shader_hint_enum
...
GDShader: Add `hint_enum` for `uniform int`
2024-08-20 10:01:57 +02:00
Rémi Verschelde
6bf64027b7
Merge pull request #94785 from Chaosus/shader_fix_samplers_order
...
Fix texture samplers to not being last in the property list
2024-08-19 16:05:21 +02:00
Chaosus
d74749fd60
Fix shader crash when the comma used in for
loop as a trailing
2024-08-10 11:23:11 +03:00
Yuri Rubinsky
e41048e16e
Fix texture samplers to not being last in the property list
2024-07-29 09:19:09 +03:00
clayjohn
a2f2699208
Restrict sampler hint validation to only screen texture hints
2024-07-28 22:31:57 -07:00
clayjohn
ba3457dfff
Emit normal_roughness compatibility code in custom functions
2024-07-26 10:45:36 -07:00
Yuri Rubinsky
965b2f6ca4
Fix shader crash when using a varying in separate func before it defined
2024-07-23 21:55:18 +03:00
Yuri Rubinsky
eb4bbbb02d
Fix multiple ternary expressions to be used without parenthesis
2024-07-17 10:34:17 +03:00
Robert Borghese
1052985b00
Add hint_enum
for uniform int in gdshader
2024-07-13 14:30:08 -04:00
Yuri Rubinsky
4f657f5c6d
Improve code for setup of global_func_set
in ShaderLanguage
2024-07-02 18:16:04 +03:00
Rémi Verschelde
2e8ebb4a5e
Merge pull request #93469 from Chaosus/shader_fix_crash
...
Fix crash on shader constant initialization on MinGW compiler
2024-06-25 10:01:46 +02:00
Yuri Rubinsky
d5b393a268
Fix crash on shader constant initialization on MinGW compiler
2024-06-22 16:36:54 +03:00
Yuri Rubinsky
ae95531e64
Forbid calling of derivative functions in incorrect functions
2024-06-21 20:47:21 +03:00
Yuri Rubinsky
aecc4cbc47
Prevent using built-ins for func names in shaders
2024-05-30 21:33:21 +03:00
Yuri Rubinsky
246a760323
Fix completion of functions with struct param/return type in shaders
2024-05-28 12:13:25 +03:00
Thaddeus Crews
9903e6779b
Enforce template syntax typename
over class
2024-03-07 22:39:09 -06:00
Muller-Castro
96a95cb974
Add const lvalue ref to container parameters
2024-01-05 14:49:57 -03:00
Rémi Verschelde
24c166dfe2
Merge pull request #81619 from Chaosus/fix_shader_const
...
Re-allows constants in global space to be initialized with function call
2023-10-03 17:20:23 +02:00
Yuri Roubinski
d3d20f15bf
Re-allows constants in global space to be initialized with function call
2023-09-13 21:04:29 +03:00
bitsawer
3c042fb99f
Fix shader language preprocessor include marker handling
2023-09-06 16:57:40 +03:00
Ninni Pipping
71ee65dc57
Enable shadow warnings and fix raised errors
2023-05-11 16:00:59 +02:00
Yuri Rubinsky
94831c7209
Forbid passing multiview sampler to the custom function in shaders
2023-02-21 11:23:17 +03:00
Yuri Rubinsky
e034d5f764
Fix shader failure when using non-const initializer on a constant
2023-02-01 13:03:11 +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
Yuri Rubinsky
f28348fc5c
Fix shader crash when using boolean type for vertex->fragment varyings
2022-12-23 07:47:49 +03:00
Yuri Rubinsky
56954485ed
Refactor ShaderData
& fix the sorting of shader uniforms
2022-12-15 10:02:59 +03:00
Yuri Rubinsky
5693286e90
Mark shader built-ins as used when passed to functions as out parameter
2022-11-15 22:06:16 +03:00
Rémi Verschelde
85fe6ecc32
Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable used
2022-09-28 17:05:34 +02:00
Yuri Rubinsky
e4a8646c19
Prevent duplicated hints in shader uniform completion
2022-09-11 15:21:43 +03:00
clayjohn
028ef2edc8
Add shader uniform hints for screen textures so users can specify custom filter and repeat modes.
...
At this time, it works best in the Vulkan Renderers as they support using multiple samplers with the same texture.
In GLES3 this feature really only allows you to use the screen texture without mipmaps if you want to save the cost of generating them.
2022-08-09 12:29:49 -04:00
Hugo Locurcio
813f6a5d57
Add hint_transparent
to use a transparent black placeholder texture
...
This can be used in shaders to avoid the need to supply a transparent
placeholder texture manually.
2022-08-01 23:38:06 +02:00
Hugo Locurcio
4b42379c8f
Rename RenderingServer global shader uniform methods to be more explicit
...
The `global_shader_uniform` name is longer, but it makes it much
easier to find the methods when searching in the class reference.
2022-07-28 18:46:59 +02:00