summaryrefslogtreecommitdiff
path: root/servers/rendering/shader_language.cpp
AgeCommit message (Collapse)Author
2021-06-16Rename `is_valid_integer()` to `is_valid_int()`Lightning_A
Method from `String`
2021-06-06Prevent shader crash when returning array when return type is scalarYuri Roubinsky
2021-06-03Rename Variant TRANSFORM to TRANSFORM3DAaron Franke
Also _transform to _transform3d
2021-06-03Rename Transform to Transform3D in coreAaron Franke
2021-05-22Allow shader arrays to be passed as parameters and return valueYuri Roubinsky
2021-05-22Basic warning support implementation for the Godot Shading Language.Yuri Roubinsky
2021-05-19Implements length() shader function for arrays in structsYuri Roubinsky
2021-05-18Fix typo in shader_language.cppYuri Roubinsky
2021-05-05Highlight control flow keywords with a different colorHugo Locurcio
This makes them easier to distinguish from other keywords.
2021-04-27Fix shader handle constant expressions in function callYuri Roubinsky
2021-04-25Remove duplicate commentsDennis Brakhane
A few single line comments were duplicated, probably due to bad merges. This commit removes the obviously duplicate ones.
2021-04-14Refactor GLSL shader compilationreduz
-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-05Style: Apply clang-tidy's `readability-braces-around-statements`Rémi Verschelde
2021-04-05Style: Apply clang-tidy's `modernize-use-nullptr`Rémi Verschelde
2021-03-01Merge pull request #46522 from Ev1lbl0w/bugfix-shader_noretRémi Verschelde
Added missing returns on error scenarios
2021-03-01Fix parsing hexadecimal (lowercase `e`,`f`) in shadersYuri Roubinsky
2021-02-28Added missing returns on error scenariosEv1lbl0w
2021-02-21Prevents shader crash if two struct with the same name are declaredYuri Roubinsky
2021-02-21Prevents shader crash if passing invalid struct to the return statementYuri Roubinsky
2021-02-11Allow passing varying from fragment to light shader functionYuri Roubinsky
2021-01-28Make hex_to_int and bin_to_int handle the prefix automaticallyAaron Franke
Also add BinToInt to C#
2021-01-10Prevent crash due to assigning incorrect order of instance uniformYuri Roubinsky
2021-01-01Update copyright statements to 2021Rémi Verschelde
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 🎆
2020-12-28Rename empty() to is_empty()Marcel Admiraal
2020-12-27Fix using post-init shader array constructorsYuri Roubinsky
2020-12-17Added support for constants in shader `case` and array size declarationYuri Roubinsky
2020-12-09Static analyzer fixes:bruvzg
Removes unused code in OS. Fixes return types. Fixes few typos.
2020-12-04Rename TYPE_REAL to TYPE_FLOATGeorge Marques
To be consistent with the naming everywhere else.
2020-11-16Remove empty lines around braces with the formatting scriptAaron Franke
2020-11-07Reorganized core/ directory, it was too fatty alreadyreduz
-Removed FuncRef, since Callable makes it obsolete -Removed int_types.h as its obsolete in c++11+ -Changed color names code
2020-10-13FIx autocompletion for emit_particle in shader editorYuri Roubinsky
2020-09-22Forbids varying declaration in particles and sky shadersYuri Roubinsky
2020-09-06Implement manual particle emission and particle sub emitters.reduz
2020-09-05Fix crash regression in the shader function validationYuri Roubinsky
introduced in #41780
2020-09-05Improve messages in shader function validationYuri Roubinsky
2020-09-03[Complex Test Layouts] Change `String` to use UTF-32 encoding on all platforms.bruvzg
2020-09-02Fix particles shader to use built-insYuri Roubinsky
2020-07-27Make all String float conversion methods be 64-bitAaron Franke
2020-07-14Fix some incorrect conversions which lead to crash in shadersYuri Roubinsky
2020-07-10Enables 'fma' for GLES2Yuri Roubinsky
2020-07-10Added 'fma' function to shader languageYuri Roubinsky
2020-07-01Merge pull request #38713 from aaronfranke/string-64bitRémi Verschelde
Make all String integer conversion methods be 64-bit
2020-07-01Added const qualifier support for function arguments in shadersYuri Roubinsky
2020-06-27Prevents usage of return in main shader functionsYuri Roubinsky
2020-06-25Fix few places in shaders where const passing still incorrectYuri Roubinsky
2020-06-19Implemented global const array to shadersYuri Roubinsky
2020-06-03Remove 32-bit String hex_to_int methodAaron Franke
2020-05-14Style: Enforce braces around if blocks and loopsRémi Verschelde
Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14Style: Enforce separation line between function definitionsRémi Verschelde
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-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.