The OpenGL API is strongly coupled with the engine. There needs to be an abstraction layer over the graphics api.