C++ Opengl engine