Commit Graph

19 Commits

Author SHA1 Message Date
3d1c9fd5de Move server files into their subfolders 2025-09-30 19:39:39 -07:00
d674c9e289 Add stencil support for spatial materials 2025-06-11 09:59:10 -05:00
324512e11c Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
4a16a0d60c Fix broken sky shader 2024-09-13 08:53:26 +03:00
7d9ced5311 Fix shader crash when using unary minus in expression 2024-09-11 16:46:09 +03:00
0ed341cd1e Change shader compiler default setting to avoid doctool error 2024-02-29 11:01:56 +08:00
b38ac30fe0 Fully initialize all members of structs IdentifierActions, GeneratedCode and DefaultIdentifierActions 2024-02-06 20:02:46 +01:00
35715e510f replace sampler arrays with constant sampler elements 2023-06-22 01:11:57 +03:00
85c478e170 Make screen texture and depth texture work in Multiview 2023-01-25 13:35:01 +11:00
faea9f5c10 Remove SCREEN_TEXTURE, DEPTH_TEXTURE, and NORMAL_ROUGHNESS_TEXTURE
in favour of texture hints
2023-01-18 19:52:47 -08:00
d95794ec8a One Copyright Update to rule them all
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".
2023-01-05 13:25:55 +01:00
a2c32590ee Fix global uniform crash at editor startup 2022-10-03 15:06:20 +03:00
028ef2edc8 Add shader uniform hints for screen textures so users can specify custom 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-08-09 12:29:49 -04:00
cf240a7ae0 Refactor shader hints 2022-05-31 11:51:47 +03:00
45af29da80 Add a new HashSet template
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00
746dddc067 Replace most uses of Map by HashMap
* 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-16 10:37:48 +02:00
c273ddc3ee Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init
Didn't commit all the changes where it wants to initialize a struct
with `{}`. Should be reviewed in a separate PR.

Option `IgnoreArrays` enabled for now to be conservative, can be
disabled to see if it proposes more useful changes.

Also fixed manually a handful of other missing initializations / moved
some from constructors.
2022-05-02 16:28:25 +02:00
422f7b280f Optimize include files to improve shader_language.h compilation speed 2022-01-12 14:19:12 +03:00
99064d57db New OpenGL batching canvas renderer 2022-01-11 22:26:18 -08:00