diff options
author | Markus Sauermann <6299227+Sauermann@users.noreply.github.com> | 2022-10-05 10:56:19 +0200 |
---|---|---|
committer | Markus Sauermann <6299227+Sauermann@users.noreply.github.com> | 2022-10-18 12:47:40 +0200 |
commit | b8031bb7d6d0bed33c058db20b58800e615538e3 (patch) | |
tree | 0017468ac78879e633a1a7f874364e6fc1bc2ae2 /servers/rendering/renderer_rd/shaders | |
parent | 2e3662acbd8586697db38569785cc9f97dff945e (diff) |
Code simplifications
1. Viewport::get_visible_rect().position is always zero.
So Control::get_window_rect is identical to Control::get_global_rect.
Remove Control::get_window_rect since it is not used in the source code.
2. sqrt(a * a) = abs(a) for doubles
3. Simplify affine_inverse combination
4. Simplify calculation in shaders
Diffstat (limited to 'servers/rendering/renderer_rd/shaders')
-rw-r--r-- | servers/rendering/renderer_rd/shaders/canvas.glsl | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/servers/rendering/renderer_rd/shaders/canvas.glsl b/servers/rendering/renderer_rd/shaders/canvas.glsl index 4a18c7c052..8593e6b265 100644 --- a/servers/rendering/renderer_rd/shaders/canvas.glsl +++ b/servers/rendering/renderer_rd/shaders/canvas.glsl @@ -655,20 +655,7 @@ void main() { if (i >= light_count) { break; } - uint light_base; - if (i < 8) { - if (i < 4) { - light_base = draw_data.lights[0]; - } else { - light_base = draw_data.lights[1]; - } - } else { - if (i < 12) { - light_base = draw_data.lights[2]; - } else { - light_base = draw_data.lights[3]; - } - } + uint light_base = draw_data.lights[i >> 2]; light_base >>= (i & 3) * 8; light_base &= 0xFF; |