godot/drivers/gles3/effects
clayjohn 2e59cb41f4 Optimize glow and tonemap gather step in the mobile renderer
Mobile devices are typically bandwidth bound which means we need to do as few texture samples as possible.

They typically use TBDR GPUs which means that all rendering takes place on special optimized tiles. As a side effect, reading back memory from tile to VRAM is really slow, especially on Mali devices.

This commit uses a technique where you do a small blur while downsampling, and then another small blur while upsampling to get really high quality glow. While this doesn't reduce the renderpass count very much, it does reduce the texture read bandwidth by almost 10 times. Overall glow was more texture-read bound than memory write, bound, so this was a huge win.

A side effect of this new technique is that we can gather the glow as we upsample instead of gathering the glow in the final tonemap pass. Doing so allows us to significantly reduce the cost of the tonemap pass as well.
2025-10-30 21:56:26 -07:00
..
copy_effects.cpp Fix GLES3 stereo output (sRGB + lens distortion) 2025-06-20 10:45:03 +10:00
copy_effects.h Fix GLES3 stereo output (sRGB + lens distortion) 2025-06-20 10:45:03 +10:00
cubemap_filter.cpp Core: Replace C math headers with C++ equivalents 2025-04-16 15:49:02 -05:00
cubemap_filter.h Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
feed_effects.cpp Added external camera feed from external plugin on Android 2024-10-30 18:30:28 +01:00
feed_effects.h Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
glow.cpp Consistently use system_fbo instead of binding 0 as it is needed for iOS devices 2024-02-25 13:52:41 -08:00
glow.h Optimize glow and tonemap gather step in the mobile renderer 2025-10-30 21:56:26 -07:00
post_effects.cpp Blend Environment glow before tonemapping and change default blend mode to screen. 2025-10-10 12:08:08 -04:00
post_effects.h Blend Environment glow before tonemapping and change default blend mode to screen. 2025-10-10 12:08:08 -04:00
SCsub SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00