partial gles compatibility, shaders & cleanup needed