lawnjelly
ad577e3c7e
Fix 2D MultiMesh hierarchical culling
...
Fixes updating local bounds for MultiMeshes used in canvas items by introducing a back link.
2023-08-03 06:49:01 +01:00
lawnjelly
43e181a00a
Single Compilation Unit build.
...
Adds support for simple SCU build.
This speeds up compilation by compiling multiple cpp files within a single translation unit.
2023-07-02 20:13:16 +01:00
Rémi Verschelde
29eeb461f2
Merge pull request #68738 from lawnjelly/faster_canvas_item
...
[3.x] Canvas item hierarchical culling
2023-06-27 08:40:22 +02:00
Rémi Verschelde
d644de8088
Merge pull request #76226 from paddy-exe/fix-node-position-view-3.x
...
[3.x] Fix `NODE_POSITION_VIEW` shader built-in
2023-06-07 14:46:24 +02:00
lawnjelly
b777a9e5f9
Canvas item hierarchical culling
...
Adds optional hierarchical culling to the 2D rendering (within VisualServer).
Each canvas item maintains a bound in local space of the item itself and all child / grandchild items. This allows branches to be culled at once when they don't intersect a viewport.
2023-04-25 20:17:33 +01:00
Aaron Franke
141783d90f
[3.x] Expose `determinant` in Transform2D, rename internal method
2023-04-22 13:47:47 -05:00
Patrick
67d3fe4075
[3.x] Fix NODE_POSITION_VIEW Shader Built-In
2023-04-18 22:11:41 +02:00
Ansraer
0227fcc4cc
fix shadows pass viewport calculation
2023-03-07 11:22:05 +01:00
Rémi Verschelde
1426cd3b3a
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".
Backported from #70885 .
2023-01-10 15:26:54 +01:00
clayjohn
f1bafe8131
Take FXAA samples from half-pixel coordinates to improve quality
...
(cherry picked from commit dbcc0fa2a6
)
2022-11-30 15:39:00 +01:00
dzil123
aa0b91ca52
[3.x] Fix shader compiler asan out of bounds
2022-11-17 19:24:15 -08:00
Hugo Locurcio
6d0d9037cd
Fix debanding strength being affected by environment adjustments
2022-09-26 14:46:09 +02:00
Rémi Verschelde
f9b91d8d24
Style: Ensure consistent formatting with clang-format 15
2022-09-21 13:23:17 +02:00
lawnjelly
a300505066
Prevent drawing MultiMesh with zero instance count
...
Issuing a driver drawcall for MultiMesh with zero instances crashes some drivers.
2022-09-15 13:20:12 +01:00
lawnjelly
9b294b298e
Fix GLES directional shadow uninitialized data
...
Valgrind shows directional_shadow.fbo accessed when uninitialized in directional_shadow_create.
2022-09-06 09:21:56 +01:00
Jordan Schidlowsky
1ed1a3067b
workaround for angle project issue 7245, safari, iOS
2022-08-24 09:23:05 -06:00
Rémi Verschelde
05f83b3f35
Merge pull request #64096 from RandomShaper/fix_uberflicker_3.x
2022-08-08 16:12:30 +02:00
Rémi Verschelde
36fc99158d
Merge pull request #63971 from paddy-exe/spatial-shader-built-ins
2022-08-08 15:50:25 +02:00
Pedro J. Estébanez
edb140839e
Fix GI probes not working in the ubershader
2022-08-08 10:55:59 +02:00
Pedro J. Estébanez
ea6ed9658d
Fix emission not working in the ubershader
2022-08-07 23:11:44 +02:00
Pedro J. Estébanez
a2ed82d3b2
Fix shadow flickering with async shader compilation
...
This mostly reverts the approach in #62628 , which now the problem is better scoped, looks overengineered and instead focuses on the few cases where there's something to take care of.
2022-08-07 22:53:33 +02:00
Rémi Verschelde
144f3ec94e
Merge pull request #51676 from Calinou/shader-add-hint-transparent-texture-3.x
...
Add `hint_transparent` to use a transparent black placeholder texture (3.x)
2022-08-05 22:34:05 +02:00
Patrick Exner
be3d331f26
Backport spatial shader built-ins
...
Backport of this PR: https://github.com/godotengine/godot/pull/63597
This adds these as new Built-Ins to Spatial Shaders
* Object's Position in World Space
* Camera Position in World Space
* Camera Direction in World Space
* Object's Position in View Space
2022-08-05 21:19:15 +02:00
Rémi Verschelde
ccbe083949
Merge pull request #63071 from lawnjelly/skinning2d_bounds
2022-08-05 19:34:48 +02:00
Hugo Locurcio
ab9a95f266
Add `hint_transparent` to use a transparent black placeholder texture
2022-08-02 23:32:07 +02:00
Rémi Verschelde
818f1eed31
Code quality: Fix header guards consistency
...
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 14:53:37 +02:00
lawnjelly
18bb668a2e
Fix skeleton 2D stale bounding rect
...
Adds special logic for handling skeleton bounding rect updates. Previously these were never being updated because the canvas item is never set to "rect_dirty".
2022-07-18 19:47:23 +01:00
Markus
4abe07c811
Apply S3TC Android/iOS fix to GLES3
2022-07-11 12:12:17 +02:00
Pedro J. Estébanez
65a83785fd
Avoid GL undefined behavior in ubershaders
2022-07-02 19:54:02 +02:00
Rémi Verschelde
772d071863
SCons: Properly track codegen script dependency for generated GLES headers
2022-07-02 15:52:42 +02:00
Pedro J. Estébanez
a46da9311e
Fix shadows not casted by async hidden materials
2022-06-26 21:21:07 +02:00
lawnjelly
9482998a03
Synchronous shaders in editor
...
The old style synchronous shaders allow the project manager and editor to load faster.
2022-06-22 14:14:32 +01:00
Pedro J. Estébanez
0868122aad
Fix change to singed shader conditional flags
...
This change was missing from commit d3d8ccea60
.
2022-06-20 17:02:40 +02:00
Pedro J. Estébanez
d3d8ccea60
Use signed integers for async shader conditionals
2022-06-19 20:16:27 +02:00
Rémi Verschelde
118302d01c
GLES3: Fix async shader compilation after #62021
...
Fixes #62047 .
2022-06-15 13:40:58 +02:00
Pedro J. Estébanez
1d01acb486
Fix issues with unsigned types in GL ES 3 shader class
2022-06-14 11:43:58 +02:00
Pedro J. Estébanez
f46d7583ff
Add INFO_SHADER_COMPILES_IN_FRAME to GL ES 3 render info
2022-06-13 18:53:15 +02:00
lawnjelly
f8df04ed50
More low priority redraw request cases
...
Some more cases of textures etc causing continuous updates in vital updates only mode are fixed.
2022-06-12 06:44:59 +01:00
clayjohn
f92141be13
Disable Alpha throughout Glow and FXAA code in order to avoid issues with transparent viewports
2022-05-26 11:15:35 -07:00
clayjohn
9927515254
Disable alpha in post process when using opaque framebuffer
2022-05-24 14:11:09 -07:00
clayjohn
027ec28126
Disable writing to alpha with opaque framebuffer
2022-05-24 10:30:49 -07:00
clayjohn
3374bae953
Fixed Bug where DoF incorrectly wrote to alpha channel amd bug with tonemap shaders
2022-05-18 13:19:42 -07:00
Hugo Locurcio
3762b40de7
Merge pull request #54585 from Kinwailo/fix_viewport_transparent_bg
...
Fix viewport with transparent bg changed to solid black if enable fxaa or debanding.
2022-05-16 08:28:36 +02:00
Kinwailo
b1a50ad805
fix post procressing with transparent bg and keep alpha channel of the tonemap shader output
2022-05-12 16:32:31 +08:00
clayjohn
b0b1e44bc1
Unbind vertex buffer before calculating blend shapes
2022-05-06 12:21:35 -07:00
Pedro J. Estébanez
41fc0abf77
Fix handling of async hidden render mode
...
- Mute errors when conditioned shader is not ready yet
- Avoid depth pre-pass on meshes that would end up black
2022-04-12 20:11:20 +02:00
Rémi Verschelde
3eee2f45a3
Merge pull request #57674 from RandomShaper/fix_ubershader_android
...
Improve ubershader compatibility
2022-03-13 00:53:48 +01:00
Ansraer
2fb998bfbc
Fix alpha scissor support
2022-03-11 16:18:19 +01:00
Rémi Verschelde
2dec5db5df
Merge pull request #58357 from BastiaanOlij/fix_external_viewport_texture
2022-03-07 13:18:33 +01:00
Omar El Sheikh
9988739332
Fix shader state caching when blend shapes used
...
Previously, conditionals set on the shader would change outside of the
_render_list function when blend shapes were used
This is an issue because the function keeps track of the previous shader
state to try to minimize state changes
Now we keep all this shader state change within the _render_list
function to ensure the saved previous state is correct
2022-03-05 16:33:17 -05:00