A 4K exegfx Template for Linux x86_64 Based on Blackles Linux OpenGL examples (GTK) but even smaller. https://github.com/blackle/Linux-OpenGL-Examples
Shader Minifier http://www.ctrl-alt-test.fr/glsl-minifier/
Edit the Makefile and point the Variable called "SHADER" to the desired shader found in the "shaders" folder. Edit WIDTH and HEIGHT in the Makefile to the resolution of your screen.
make sh
make vndh
make okp
make all
Create a new textfile in the shaders subdirectory and edit your shader. No #version directive is needed, "#version 400" is added automatically. In the shader use i_X and i_Y for screen dimensions, they are generated automatically and opted out by shader minifier, if they aren't used. Edit WIDTH and HEIGHT in the Makefile for your needs. They will be added by the Makefile while compilation to your shader. So there is no need, to define them yourself. This way we save some bytes, because we don't need to do a uniform update. If you need a time uniform, use "uniform float iTime;" for runtime in seconds. The uniform update code will be added automatically, when this is present in the shader.
Blackles example shader (optimized) - Static - Shortest version (okp vs. vndh): 875 Bytes (vondehi)
Competition - Static - Shortest version (okp vs. vndh): 1930 Bytes (OneKpaq)
Slimebox - Animated - Shortest version (okp vs. vndh): 1441 Bytes (OneKpaq)
Nucleus - Animated - Shortest version (okp vs. vndh): 1471 Bytes (OneKpaq)