optional opengl mode