Rémi Verschelde
a7b1d85828
Merge pull request #59825 from Chaosus/shader_fix
...
Fix incorrect parsing array's `length()` at return statement in shader
2022-04-12 12:40:54 +02:00
bruvzg
f851c4aa33
Fix some issues found by cppcheck.
2022-04-06 14:34:37 +03:00
Yuri Roubinsky
0864c9abaa
Fix incorrect parsing array's length()
at return statement in shader
2022-04-03 09:55:04 +03:00
Yuri Roubinsky
d47035a6fb
Fix shader crashing when attempting to access length()
at global space
2022-04-01 08:39:29 +03:00
reduz
360dea5348
Add GDExtension support to Script
...
* Ability to create script languages from GDExtension
* Some additions to gdnative_extension.h to make this happen
* Moved the GDExtension binder to core
This now allows creating scripting languages from GDExtension, with the same ease as if it was a module. It replaces the old PluginScript from Godot 3.x.
Warning: GodotCPP will need to be updated to support this (it may be a bit of work as ScriptInstance needs to be created over there again).
2022-03-27 16:13:00 +02:00
notSanil
36fa7059ed
Fix device limit exceeding for uniform buffer
2022-03-16 16:52:35 +05:30
Rémi Verschelde
b8b4580448
Style: Cleanup single-line blocks, semicolons, dead code
...
Remove currently unused implementation of TextureBasisU, could be re-added
later on if needed and ported.
2022-02-16 14:06:29 +01:00
ZuBsPaCe
2e2c9a27b6
Fixed shader error message for instance qualifier
...
Moved argument from RTR to vformat. Message is now similar to uniform-arrays-error further down.
2022-02-09 21:32:09 +01:00
Yuri Roubinsky
a2484c3293
Fix unknown identifier error in for loop
2022-02-06 08:38:33 +03:00
Yuri Roubinsky
e01d08159c
Few more fixes to for loop in shaders
2022-02-05 08:42:32 +03:00
bruvzg
244db37508
Cleanup and move char functions to the char_utils.h
header.
2022-02-04 11:35:01 +02:00
Yuri Roubinsky
58696fd774
Allow multiple declarations in for loop in a shader
2022-02-03 11:35:38 +03:00
Anilforextra
fc27636999
Vectors: Use clear() and has().
...
Use clear() instead of resize(0).
Use has() instead of "find(p_val) != -1".
2022-02-02 00:11:09 +05:45
Yuri Roubinsky
b01065b9a4
Prevent checking of global uniform type outside the editor
2022-01-25 19:22:37 +03:00
Yuri Roubinsky
0e66587dbf
Remove incorrect items from completion of main functions in shader
2022-01-24 10:37:47 +03:00
Yuri Roubinsky
3ca57e5157
Fix incorrect unused local var warning in shader blocks
2022-01-23 20:22:31 +03:00
Yuri Roubinsky
e0304f83e7
Add translation links to shader errors
2022-01-19 15:16:32 +03:00
Yuri Roubinsky
36a82c8c69
Unify variable and array declarations in shaders
2022-01-18 12:42:39 +03:00
Yuri Roubinsky
08208406ca
Refactor size expression parsing for arrays in the shaders
2022-01-15 15:47:39 +03:00
Yuri Roubinsky
4201af6649
Fix completion for global constants in shaders
2022-01-13 19:52:06 +03:00
Yuri Roubinsky
c377891145
Add completion for shader_type
2022-01-13 18:37:13 +03:00
Yuri Roubinsky
b0356bcb72
Prevent redefinition of main functions in shader
2022-01-13 15:12:35 +03:00
Yuri Roubinsky
bd61d8f80c
Enhances a shader uniform limit warning
2022-01-08 21:44:37 +03:00
Yuri Roubinsky
b74968c2ca
Merge pull request #56477 from Chaosus/fix_device_crash
2022-01-04 13:23:38 +03:00
Yuri Roubinsky
0e2ef987b1
Add a check for device in shader lang to prevent startup editor crash
2022-01-04 11:50:50 +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
fd9c92d4ab
Add a shader warning when the uniform buffer limit is exceeded
2022-01-03 16:24:56 +03:00
Rémi Verschelde
9221c0f8ad
Merge pull request #56190 from Chaosus/shader_varying_pass_to_func
2022-01-03 13:08:55 +01:00
luz paz
a124f1effe
Fix various typos
...
Found via ` codespell -q 3 -S ./thirdparty,*.po,./DONORS.md -L ackward,ang,ans,ba,beng,cas,childs,childrens,dof,doubleclick,expct,fave,findn,gird,hist,inout,leapyear,lod,nd,numer,ois,ony,paket,seeked,sinc,switchs,te,uint,varn`
Update editor/import/resource_importer_layered_texture.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update doc/classes/TileSetScenesCollectionSource.xml
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/graph_edit.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/resources/animation.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Update scene/gui/rich_text_label.cpp
Co-authored-by: Raul Santos <raulsntos@gmail.com>
Revert previously committed change
2022-01-02 01:03:58 -05:00
Yuri Roubinsky
108b6a2000
Allow pass varyings as out param to the function, when it's possible
2021-12-23 18:03:19 +03:00
Yuri Roubinsky
e8a457ba89
Refactor render_mode in shaders, forbid declaring duplicates
2021-12-21 22:20:09 +03:00
Rémi Verschelde
be83968b6b
Merge pull request #55970 from Chaosus/shader_fix_struct_warning
2021-12-16 13:35:44 +01:00
Yuri Roubinsky
1414a7be91
Fix struct usage passing to shader warning system
2021-12-15 22:54:46 +03:00
Yuri Roubinsky
f0a58af12f
Rename shader hint filter_anisotropy
to filter_anisotropic
2021-12-15 22:12:38 +03:00
Yuri Roubinsky
25a2241e7d
Fix shader array parsing in variable declaration
2021-12-15 17:54:15 +03:00
Rémi Verschelde
de8348a9b3
Merge pull request #55903 from Chaosus/shader_struct
2021-12-15 13:07:48 +01:00
Yuri Roubinsky
09185d76ac
Rename shader hint filter_aniso
to filter_anisotropy
2021-12-15 13:18:32 +03:00
Yuri Roubinsky
31cc6ba622
Allow declaring multiple members in one expression in shader structs
2021-12-13 19:10:08 +03:00
Yuri Roubinsky
8862d1426d
Restore shader parsing errors with lack of semicolon in a block
2021-12-11 17:30:40 +03:00
Hugo Locurcio
92e9cca5be
Rename hint_aniso
to hint_anisotropy
in the shader language
...
The word "anisotropy" is used in full form in BaseMaterial3D's
anisotropy-related properties.
2021-12-10 17:41:17 +01:00
Yuri Roubinsky
bcbcf14469
Refactor constant suffix parsing in a shader
2021-12-10 15:38:27 +03:00
Yuri Roubinsky
dcf3594500
Merge pull request #55763 from Chaosus/shader_hint_completion
2021-12-10 11:44:01 +03:00
Yuri Roubinsky
b66510d509
Added completion for uniform hints in a shader
2021-12-10 10:12:25 +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
Yuri Roubinsky
76f6c0849c
Make compile
shader function to use struct instead long parameter list
2021-12-08 11:34:40 +03:00
Yuri Roubinsky
10b10ae1fa
Fix ^=
operator in shaders
2021-12-03 10:20:44 +03:00
Yuri Roubinsky
5ee73dc5a6
Fix shader crash when using existed constant name for struct
2021-12-01 18:11:45 +03:00
Yuri Roubinsky
a48c205191
Fix declaring array size twice in global shader constant
2021-12-01 16:44:25 +03:00
Yuri Roubinsky
5ba93619fa
Allow using empty statements in the shader, added formatting warning
2021-12-01 11:52:25 +03:00
Rémi Verschelde
5643f5e616
Merge pull request #55490 from Chaosus/fix_shader_crash
2021-11-30 20:13:12 +01:00
Yuri Roubinsky
be7c03779a
Fix shader crash when assigning array to non-array in global constant
2021-11-30 21:28:55 +03:00
Yuri Roubinsky
6e80e97b0f
Fix built-in(PI, TAU, E) assignment to a global constant in a shader
2021-11-29 10:32:36 +03:00
Yuri Roubinsky
9b1f8f7a96
Revert "Pushes array of uniforms to first place in the buffer"
2021-11-25 16:13:19 +03:00
Lightning_A
e078f970db
Rename remove()
to remove_at()
when removing by index
2021-11-23 18:58:57 -07:00
Yuri Roubinsky
c7043dbfdc
Prevent return statement from using in block in shader main functions
2021-11-23 10:36:33 +03:00
Yuri Roubinsky
f4c0e90fd9
Allow passing non-variable constant to const function param in shaders
2021-11-19 12:14:13 +03:00
Yuri Roubinsky
bbfa5f29c7
Pushes array of uniforms to first place in the buffer to prevent bug
2021-11-07 23:30:09 +03:00
Rémi Verschelde
02ae47154c
Merge pull request #54356 from Chaosus/shader_fix_matrix_autocompletion
2021-11-01 14:06:04 +01: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
04a2053f9b
Removed incorrect autocompletion of matrixes in shader
2021-10-28 20:21:18 +03:00
Rémi Verschelde
3b11e33a09
clang-format: Disable alignment of operands, too unreliable
...
Sets `AlignOperands` to `DontAlign`.
`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 15:19:35 +02:00
Yuri Roubinsky
57fd362fe1
Prevent shader crash when passing constant expression to textureGather
2021-10-21 19:46:05 +03:00
Yuri Roubinsky
e9b7ffd1fa
Added few more built-ins to shader language
2021-10-13 20:27:36 +03:00
Rémi Verschelde
09b0293fad
Merge pull request #53066 from Chaosus/shader_funcs
2021-10-10 21:37:07 +02:00
Yuri Roubinsky
b1ac3e256f
Allow declare the shader arrays with a size defined before identifier
2021-10-08 10:28:31 +03:00
Yuri Roubinsky
e707391fb8
Fix shader crash when passing array to index expression
2021-10-07 10:48:32 +03:00
Yuri Roubinsky
be6f36a66d
Add missing shader built-ins
2021-10-05 20:50:26 +03:00
Yuri Roubinsky
7c07ae4c50
Fix shader crash when passing array.length to functions
...
and similar cases
2021-10-05 12:49:59 +03:00
Yuri Roubinsky
69ece73653
Fix syntax parsing error of uniform arrays declaration in shader
2021-10-04 23:19:43 +03:00
Yuri Roubinsky
6873ecaaf9
Added support for uniform arrays in shaders
2021-10-04 13:57:44 +03:00
Lightning_A
c63b18507d
Use range iterators for Map
2021-09-30 15:09:12 -06:00
Yuri Roubinsky
e9e21a592e
Prevents editor crash when compare with negative float in shader
2021-09-22 13:26:40 +03:00
Yuri Roubinsky
f68d3f67b5
Fix shader crash when passing array to built-in function without index
2021-09-18 14:05:14 +03:00
reduz
700f9d916d
More fixes to mobile renderer
...
* Specify all precision qualifiers
* Makes renderer work on Adreno Vulkan
2021-08-18 12:20:19 -03:00
Yuri Roubinsky
fa96c98bdf
Fix shader crash when using local var with the same name as varying
2021-08-13 09:20:16 +03:00
Rémi Verschelde
b63af73435
Merge pull request #51391 from Chaosus/shader_param_names
...
Added parameter names to shader built-in function autocompletion
2021-08-12 14:58:11 +02:00
Yuri Roubinsky
fb37846b00
Added parameter names to shader built-in function autocompletion
2021-08-12 11:19:53 +03:00
Yuri Roubinsky
efc6b29601
Merge pull request #51505 from Chaosus/shader_fix_shadetype-errorline
2021-08-11 14:46:04 +03:00
Yuri Roubinsky
2fb5231bbc
Break futher shader compilation after missing ;
aftershader_type
2021-08-11 12:37:59 +03:00
Yuri Roubinsky
0f42a29864
Allow using more assignment operators on matrixes in shaders
2021-08-11 11:51:39 +03:00
Yuri Roubinsky
fead1595f9
Fix shader crash when using varying array in fragment->light context
2021-08-11 09:44:00 +03:00
Yuri Roubinsky
c082982a47
Fix editor crash if passing index as variable to function parameter
2021-07-26 17:42:52 +03:00
Yuri Roubinsky
b47b3a9957
Prevents shader crashing if varying assigned incorrectly
2021-07-26 14:47:14 +03:00
Yuri Roubinsky
3013324a4e
Fix compilation of shader_language.cpp
2021-07-26 13:44:21 +03:00
Rémi Verschelde
a8fcfbf029
Merge pull request #50729 from Chaosus/shader_varying_enchancements2
...
Allow using vertex-stage varying in both `fragment` and `light` functions
2021-07-26 12:17:49 +02:00
Rémi Verschelde
9b9e09f675
Merge pull request #50728 from Chaosus/shader_varying_enchancements
...
Allow using vertex varying in custom functions under any circumstances
2021-07-26 12:17:40 +02: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
17b462cc5f
Allow using vertex-stage varying in both fragment
and light
2021-07-22 11:55:14 +03:00
Yuri Roubinsky
94a7b04a01
Allow using vertex varying in custom functions under any circumstances
2021-07-22 11:27:13 +03:00
Yuri Roubinsky
39c06604cd
Forbid varyings from assigning in custom functions to prevent crashes
2021-07-21 14:12:54 +03:00
Yuri Roubinsky
14d5b47a27
Prevent error if varying assigned but not used (push warning instead)
2021-07-15 18:07:19 +03:00
Yuri Roubinsky
5100eed012
Added a shader warning about unused local variable
2021-06-29 15:39:37 +03:00
Lightning_A
b6af2a29eb
Rename is_valid_integer()
to is_valid_int()
...
Method from `String`
2021-06-16 10:32:22 -06:00
Yuri Roubinsky
eec82d9f75
Prevent shader crash when returning array when return type is scalar
2021-06-06 14:59:52 +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
5874b7a29c
Allow shader arrays to be passed as parameters and return value
2021-05-22 20:15:03 +03:00
Yuri Roubinsky
084648bd18
Basic warning support implementation for the Godot Shading Language.
2021-05-22 19:24:31 +03:00
Yuri Roubinsky
6135744786
Implements length() shader function for arrays in structs
2021-05-19 21:50:11 +03:00