add DrawGLFunctor class