summaryrefslogtreecommitdiff
path: root/servers/rendering/shader_compiler.cpp
AgeCommit message (Collapse)Author
2023-01-05One Copyright Update to rule them allRémi Verschelde
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".
2022-12-23Fix shader crash when using boolean type for vertex->fragment varyingsYuri Rubinsky
2022-12-12Fix screen texture slightly darkerFabio Iotti
2022-11-15Mark shader built-ins as used when passed to functions as out parameter Yuri Rubinsky
2022-10-31Make code generation for shader boolean uniform instances easierYuri Rubinsky
2022-10-09Fix incorrect setup of boolean uniform instancesYuri Rubinsky
2022-10-07Fix MSVC warnings, rename shadowed variables, fix uninitialized values, ↵bruvzg
change warnings=all to use /W4.
2022-10-03Fix global uniform crash at editor startupYuri Rubinsky
2022-09-02Merge pull request #64952 from Chaosus/vs_rename_uniform_to_paramRémi Verschelde
2022-09-01Rename `uniform` to `parameter` across the engineYuri Rubinsky
2022-08-31Implement Physical Light Units as an optional setting.clayjohn
This allows light sources to be specified in physical light units in addition to the regular energy multiplier. In order to avoid loss of precision at high values, brightness values are premultiplied by an exposure normalization value. In support of Physical Light Units this PR also renames CameraEffects to CameraAttributes.
2022-08-19Merge pull request #64167 from clayjohn/screen-texture-hintMax Hilbrunner
Add shader uniform hints for screen textures
2022-08-12Merge pull request #64310 from Chaosus/shader_texture_funcsYuri Rubinsky
2022-08-12Add `textureQueryLod/Levels` functions to the shader languageYuri Rubinsky
2022-08-12Add `textureProjGrad` function to the shader languageYuri Rubinsky
2022-08-09Add shader uniform hints for screen textures so users can specify custom ↵clayjohn
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-07-28Rename RenderingServer global shader uniform methods to be more explicitHugo Locurcio
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-22Clean up Shader Preprocessorreduz
* Moved preprocessor to Shader and ShaderInclude * Clean up RenderingServer side * Preprocessor is separate from parser now, but it emits tokens with include location hints. * Improved ShaderEditor validation code * Added include file code completion * Added notification for all files affected by a broken include.
2022-05-31Refactor shader hintsYuri Rubinsky
2022-05-20Add a new HashSet templatereduz
* Intended to replace RBSet in most cases. * Optimized for iteration speed
2022-05-19Use range iterators for RBSet in most casesAaron Record
2022-05-16Replace most uses of Map by HashMapreduz
* Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
2022-05-11SceneShader compilingclayjohn
2022-05-11SkyShaders workingclayjohn
2022-02-22Use Filament specular models and parametrizationclayjohn
2022-02-16Style: Cleanup single-line blocks, semicolons, dead codeRémi Verschelde
Remove currently unused implementation of TextureBasisU, could be re-added later on if needed and ported.
2022-02-03Merge pull request #57562 from AnilBK/string-add-containsRémi Verschelde
String: Add contains().
2022-02-04String: Add contains().Anilforextra
2022-02-03Allow multiple declarations in for loop in a shaderYuri Roubinsky
2022-01-18Unify variable and array declarations in shadersYuri Roubinsky
2022-01-14Fix shader crashing when declaring matrix or array varyingsYuri Roubinsky
2022-01-12Optimize include files to improve `shader_language.h` compilation speedYuri Roubinsky
2022-01-11New OpenGL batching canvas rendererclayjohn