added glsl modes and a few others