summaryrefslogtreecommitdiffstats
path: root/scene/main/shader_globals_override.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use Core/Scene stringnames consistentlykobewi2024-05-131-1/+0
|
* Add shorthand for using singleton string nameskobewi2024-05-111-6/+6
|
* Disable all 3D nodes, physics, and resources when compiling without 3DAaron Franke2024-03-111-3/+3
|
* Revert "Update Node::get_configuration_warnings signature"Rémi Verschelde2024-02-171-2/+2
| | | | This reverts commit d3852deaa450d77edb30df2bb1c77bd7bc45befc.
* Update Node::get_configuration_warnings signatureRedMser2024-02-081-2/+2
|
* Fix ShaderGlobalsOverride property handlingbitsawer2023-09-221-1/+1
|
* Fix shader uniform storage conversions and crashbitsawer2023-05-291-3/+3
|
* One Copyright Update to rule them allRémi Verschelde2023-01-051-29/+29
| | | | | | | | | | | | | | | | | | | | 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".
* Change return type of `get_configuration_warnings` to `PackedStringArray`Marc Gilleron2022-09-191-2/+2
|
* Rename `uniform` to `parameter` across the engineYuri Rubinsky2022-09-011-7/+7
|
* Rename RenderingServer global shader uniform methods to be more explicitHugo Locurcio2022-07-281-7/+7
| | | | | The `global_shader_uniform` name is longer, but it makes it much easier to find the methods when searching in the class reference.
* Implement Vector4, Vector4i, Projectionreduz2022-07-231-4/+4
| | | | | | | | | | | | | Implement built-in classes Vector4, Vector4i and Projection. * Two versions of Vector4 (float and integer). * A Projection class, which is a 4x4 matrix specialized in projection types. These types have been requested for a long time, but given they were very corner case they were not added before. Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity. **Q**: Why Projection and not Matrix4? **A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
* Add a new HashMap implementationreduz2022-05-121-11/+9
| | | | | | | | | | | | | | | | | Adds a new, cleaned up, HashMap implementation. * Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing). * Keeps elements in a double linked list for simpler, ordered, iteration. * Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much for performance vs keeping the key, but helps replace old code). * Uses a more modern C++ iterator API, deprecates the old one. * Supports custom allocator (in case there is a wish to use a paged one). This class aims to unify all the associative template usage and replace it by this one: * Map<> (whereas key order does not matter, which is 99% of cases) * HashMap<> * OrderedHashMap<> * OAHashMap<>
* Make `{call,set,notify}_group()` immediate by defaultHugo Locurcio2022-05-051-1/+1
| | | | | | | This results in less surprising behavior out of the box. Internal usages were modified to keep the existing behavior identical there.
* Add Vector4 to VisualShaderHendrik Brucker2022-04-121-1/+1
|
* String: Remove TTR and DTR defines in non-tools buildRémi Verschelde2022-03-281-1/+1
| | | | | This ensures we don't use TTR in runtime code, as it's specifically meant to source translations for the editor.
* Use `switch` consistently in `_notification` (`scene` folder)Rémi Verschelde2022-02-151-16/+19
|
* Fix crash calling `_activate()` on ShaderGlobalsOverride out of treeRémi Verschelde2022-02-101-0/+1
| | | | Fixes #45984.
* Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* Fix some unnecessary includesAaron Franke2021-08-131-2/+1
|
* Fix Command Queue Crashreduz2021-07-071-2/+12
| | | | | * No longer allow sending an object (texture) to the server as material parameter * Keep a parameter cache locally in ShaderMaterial
* Rename Variant TRANSFORM to TRANSFORM3DAaron Franke2021-06-031-1/+1
| | | Also _transform to _transform3d
* Use Array for node configuration warningsNathan Franke2021-04-111-8/+5
| | | | Previously, the warnings were passed as a string and delimitation of which were hard coded at each implementation.
* Initialize class variables with default values in scene/ [2/2]Rafał Mikrut2021-02-091-3/+1
|
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | 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 🎆
* Rename empty() to is_empty()Marcel Admiraal2020-12-281-1/+1
|
* Refactored variant constructor logicreduz2020-11-091-1/+1
|
* Update all get_configuration_warning to retrieve warnings from the parentArrowInAKnee2020-05-161-2/+7
|
* Style: Enforce separation line between function definitionsRémi Verschelde2020-05-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | 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.
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-11/+0
| | | | | | | | | | | | | | 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.
* Modernize remaining uses of 0/NULL instead of nullptr (C++11)Rémi Verschelde2020-05-141-1/+1
| | | | | Using clang-tidy's `modernize-use-nullptr`. https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
* Style: Add missing copyright headersRémi Verschelde2020-05-101-0/+30
|
* Implement global and per instance shader uniforms.Juan Linietsky2020-04-171-0/+257
Adds two keywords to shader language for uniforms: -'global' -'instance' This allows them to reference values outside the material.