summaryrefslogtreecommitdiff
path: root/servers/rendering/shader_language.h
AgeCommit message (Collapse)Author
2021-10-04Added support for uniform arrays in shadersYuri Roubinsky
2021-08-18More fixes to mobile rendererreduz
* Specify all precision qualifiers * Makes renderer work on Adreno Vulkan
2021-08-13Fix shader crash when using local var with the same name as varyingYuri Roubinsky
2021-08-12Added parameter names to shader built-in function autocompletionYuri Roubinsky
2021-07-26Prevents shader crashing if varying assigned incorrectlyYuri Roubinsky
2021-07-26Merge pull request #50729 from Chaosus/shader_varying_enchancements2Rémi Verschelde
Allow using vertex-stage varying in both `fragment` and `light` functions
2021-07-22Allow using vertex-stage varying in both `fragment` and `light` Yuri Roubinsky
2021-07-22Allow using vertex varying in custom functions under any circumstancesYuri Roubinsky
2021-06-29Added a shader warning about unused local variable Yuri Roubinsky
2021-06-10Fix `length()` array function usage in shaderYuri Roubinsky
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-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-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-02-11Allow passing varying from fragment to light shader functionYuri 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-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-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-06Implement manual particle emission and particle sub emitters.reduz
2020-07-01Added const qualifier support for function arguments in shadersYuri Roubinsky
2020-06-19Implemented global const array to shadersYuri Roubinsky
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: 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.
2020-05-14Port member initialization from constructor to declaration (C++11)Rémi Verschelde
Using `clang-tidy`'s `modernize-use-default-member-init` check and manual review of the changes, and some extra manual changes that `clang-tidy` failed to do. Also went manually through all of `core` to find occurrences that `clang-tidy` couldn't handle, especially all initializations done in a constructor without using initializer lists.
2020-05-10New lightmapperJuan Linietsky
-Added LocalVector (needed it) -Added stb_rect_pack (It's pretty cool, we could probably use it for other stuff too) -Fixes and changes all around the place -Added library for 128 bits fixed point (required for Delaunay3D)
2020-04-29Merge pull request #37795 from Chaosus/shader_fix_const_order2Rémi Verschelde
Fix shader constant sorting
2020-04-17Implement global and per instance shader uniforms.Juan Linietsky
Adds two keywords to shader language for uniforms: -'global' -'instance' This allows them to reference values outside the material.
2020-04-11Fix shader constant sortingYuri Roubinsky
2020-04-02Replace NULL with nullptrlupoDharkael
2020-03-28Prevent shader crash if multiple variables has been declared in 'for'Yuri Roubinsky
2020-03-27Renaming of servers for coherency.Juan Linietsky
VisualServer -> RenderingServer PhysicsServer -> PhysicsServer3D Physics2DServer -> PhysicsServer2D NavigationServer -> NavigationServer3D Navigation2DServer -> NavigationServer2D Also renamed corresponding files.