Rewrote shaders to work without GL_ARB_gpu_shader5.