opengl engine prototype