add OpenGL rendering functionality