EAGLcontext is optional