From 030724a9aea346e4a9843d5842fb28c6d6c4cf1a Mon Sep 17 00:00:00 2001 From: Peter Fors Date: Thu, 9 Oct 2025 22:07:52 +0200 Subject: Rearrangement and refactoring and optimizations and more accuracy --- shaders/gl_phosphor_persistence_fragment.glsl | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 shaders/gl_phosphor_persistence_fragment.glsl (limited to 'shaders/gl_phosphor_persistence_fragment.glsl') diff --git a/shaders/gl_phosphor_persistence_fragment.glsl b/shaders/gl_phosphor_persistence_fragment.glsl new file mode 100644 index 0000000..1633a2e --- /dev/null +++ b/shaders/gl_phosphor_persistence_fragment.glsl @@ -0,0 +1,17 @@ +out vec4 outcolor; +in vec2 frag_texture_coord; + +uniform sampler2D current_frame; +uniform sampler2D previous_frame; +uniform float decay; + +void main() { + vec3 current = texture(current_frame, frag_texture_coord).rgb; + vec3 previous = texture(previous_frame, frag_texture_coord).rgb; + + // Mix current frame with decayed previous frame + // Higher decay = more trail (0.5 = subtle, 0.7 = noticeable) + vec3 result = max(current, previous * decay); + + outcolor = vec4(result, 1.0); +} -- cgit v1.2.3