How does your gaming engine and your api (opengl or directx for example) interact with each other? do you have to have a gaming engine to make a game?