structure for openGL