#version 330 core // HMS MediaEngine - Generator (GLSL, Linux x64) // Semantik identisch zur HLSL-Variante (§12.6, §15.4). uniform sampler2D u_input_texture; uniform vec2 u_resolution; uniform float u_time_seconds; uniform float u_delta_seconds; uniform float u_frame_index; uniform float u_layer_opacity; uniform float u_audio_rms; uniform float u_audio_peak; uniform float u_audio_bass; uniform float u_audio_mid; uniform float u_audio_treble; uniform float u_audio_beat; uniform vec4 param_color_a; uniform vec4 param_color_b; uniform float param_type; uniform float param_angle; uniform float param_center_x; uniform float param_center_y; uniform float param_width; uniform float param_phase; uniform float param_speed; in vec2 v_uv; out vec4 fragColor; void main() { vec2 p = v_uv - vec2(param_center_x, param_center_y); float ang = radians(param_angle); vec2 dir = vec2(cos(ang), sin(ang)); float t; if (param_type < 0.5) { t = dot(p, dir) / max(param_width, 0.0001) + 0.5; } else { t = length(p) / max(param_width, 0.0001); } t += param_phase + u_time_seconds * param_speed; t = fract(t); vec4 col = mix(param_color_a, param_color_b, clamp(t, 0.0, 1.0)); col.a *= u_layer_opacity; fragColor = col; }