Source

LWJGL Shader Tutorials / src / main / java / com / ra4king / opengl / arcsynthesis / gl33 / chapter3 / example4 / example3.4.frag

#version 330

out vec4 outputColor;

uniform float fragLoopDuration;
uniform float time;

const vec4 firstColor = vec4(1.0, 1.0, 1.0, 1.0);
const vec4 secondColor = vec4(0.0, 1.0, 0.0, 1.0);

void main()
{
	float currTime = mod(time, fragLoopDuration);
	float currLerp = currTime/ fragLoopDuration;
	
	outputColor = mix(firstColor, secondColor, currLerp);
}