OpenGL FrameWork