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
Yuri Roubinsky
96b2e54c70
Fix typo in shader_language.cpp
2021-05-18 19:01:02 +03:00
Hugo Locurcio
e905e8f145
Highlight control flow keywords with a different color
...
This makes them easier to distinguish from other keywords.
2021-05-05 22:38:12 +02:00
Yuri Roubinsky
3c82f01134
Fix shader handle constant expressions in function call
2021-04-27 15:23:01 +03:00
Dennis Brakhane
31d41d83c3
Remove duplicate comments
...
A few single line comments were duplicated, probably due to bad merges.
This commit removes the obviously duplicate ones.
2021-04-25 20:03:52 +02:00
reduz
d3b49c416a
Refactor GLSL shader compilation
...
-Used a more consistent set of keywords for the shader
-Remove all harcoded entry points
-Re-wrote the GLSL shader parser, new system is more flexible. Allows any entry point organization.
-Entry point for sky shaders is now sky().
-Entry point for particle shaders is now process().
2021-04-14 11:37:52 -03:00
Rémi Verschelde
d83761ba80
Style: Apply clang-tidy's readability-braces-around-statements
2021-04-05 14:09:59 +02:00
Rémi Verschelde
9bbe51dc27
Style: Apply clang-tidy's modernize-use-nullptr
2021-04-05 14:05:07 +02:00
Rémi Verschelde
e9cb64a8b5
Merge pull request #46522 from Ev1lbl0w/bugfix-shader_noret
...
Added missing returns on error scenarios
2021-03-01 09:36:15 +01:00
Yuri Roubinsky
19e0a1ec9d
Fix parsing hexadecimal (lowercase e
,f
) in shaders
2021-03-01 09:08:44 +03:00
Ev1lbl0w
3d9ef1e4de
Added missing returns on error scenarios
2021-02-28 19:48:35 +00:00
Yuri Roubinsky
571f4396ea
Prevents shader crash if two struct with the same name are declared
2021-02-21 13:47:09 +03:00
Yuri Roubinsky
f91e7e3ba4
Prevents shader crash if passing invalid struct to the return statement
2021-02-21 07:55:40 +03:00
Yuri Roubinsky
dd0874e717
Allow passing varying from fragment to light shader function
2021-02-11 15:59:21 +03:00
Aaron Franke
a3e3bf8227
Make hex_to_int and bin_to_int handle the prefix automatically
...
Also add BinToInt to C#
2021-01-28 07:43:53 -05:00
Yuri Roubinsky
289cc89a39
Prevent crash due to assigning incorrect order of instance uniform
2021-01-10 10:52:30 +03: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
Marcel Admiraal
5b937d493f
Rename empty() to is_empty()
2020-12-28 10:39:56 +00:00
Yuri Roubinsky
bc0e8e7a21
Fix using post-init shader array constructors
2020-12-27 01:07:24 +03:00
Yuri Roubinsky
fe4c8e387b
Added support for constants in shader case
and array size declaration
2020-12-17 11:51:18 +03:00
bruvzg
644f739660
Static analyzer fixes:
...
Removes unused code in OS.
Fixes return types.
Fixes few typos.
2020-12-09 10:17:53 +02:00
George Marques
02f60812ed
Rename TYPE_REAL to TYPE_FLOAT
...
To be consistent with the naming everywhere else.
2020-12-04 09:47:26 -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
Yuri Roubinsky
6914597026
FIx autocompletion for emit_particle in shader editor
2020-10-13 14:12:51 +03:00
Yuri Roubinsky
53740c69df
Forbids varying declaration in particles and sky shaders
2020-09-22 10:35:52 +03:00
reduz
d0bddf53c5
Implement manual particle emission and particle sub emitters.
2020-09-06 10:29:27 -03:00
Yuri Roubinsky
b1351fe781
Fix crash regression in the shader function validation
...
introduced in #41780
2020-09-05 13:49:50 +03:00
Yuri Roubinsky
ab9978697e
Improve messages in shader function validation
2020-09-05 13:19:38 +03:00
bruvzg
80b8eff6aa
[Complex Test Layouts] Change String
to use UTF-32 encoding on all platforms.
2020-09-03 19:56:24 +03:00
Yuri Roubinsky
2a00c868de
Fix particles shader to use built-ins
2020-09-02 22:54:41 +03:00
Aaron Franke
56e2c6c704
Make all String float conversion methods be 64-bit
2020-07-27 18:38:53 -04:00
Yuri Roubinsky
01950553f2
Fix some incorrect conversions which lead to crash in shaders
2020-07-14 21:04:12 +03:00
Yuri Roubinsky
3eeb272b2e
Enables 'fma' for GLES2
2020-07-10 22:21:22 +03:00
Yuri Roubinsky
ecb5f7ea23
Added 'fma' function to shader language
2020-07-10 19:58:03 +03:00
Rémi Verschelde
a8a2769bb6
Merge pull request #38713 from aaronfranke/string-64bit
...
Make all String integer conversion methods be 64-bit
2020-07-01 16:01:05 +02:00
Yuri Roubinsky
c554d9e556
Added const qualifier support for function arguments in shaders
2020-07-01 12:55:00 +03:00
Yuri Roubinsky
2ce77e4b57
Prevents usage of return in main shader functions
2020-06-27 17:36:45 +03:00
Yuri Roubinsky
b6ca9536f2
Fix few places in shaders where const passing still incorrect
2020-06-25 10:40:19 +03:00
Yuri Roubinsky
636a9d9f50
Implemented global const array to shaders
2020-06-19 16:04:54 +03:00
Aaron Franke
e5ae89775a
Remove 32-bit String hex_to_int method
2020-06-03 00:03:34 -04: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