begin wrapping opengl api