TL; DR: Ein Motor ist nur eine Sammlung wiederverwendbarer Komponenten.
Textwand: Spiele speichern eine Darstellung der Welt, z. B. hätten Sie eine Entität wie ein Haus, die ein Netz hat, das definiert, wie ihre Geometrie aussieht, und eine Position.
Jetzt haben Sie wahrscheinlich mehr als eine Entität. Nehmen wir an, wir haben einen vom Spieler kontrollierten Charakter und einige Kisten. Wenn der Spieler sich bewegen möchte, bewegen Sie den Charakter und prüfen, ob er mit einem Kästchen kollidiert. Hier kommt die Physik ins Spiel. Je nachdem, wie die Physik modelliert ist, kann der Charakter einfach durch die Kisten gehen, vor den Kisten anhalten oder die Kisten schieben.
Wohlgemerkt, dies ändert nur den internen Zustand der Spielwelt.
Nachdem Sie Bewegung und Physik berechnet haben, rendern Sie einen Rahmen, z. B. zeichnen Sie den aktuellen Zustand der Welt auf dem Bildschirm.
OpenGL und DirectX sind Grafik-APIs. Sie werden nur zum Rendern von Inhalten (z. B. des Zeichens) auf dem Bildschirm verwendet.
Sie sagen OpenGL / DirectX also im Grunde: "Ich möchte das Zeichen an Position 1 und ein Kästchen an Position 2 zeichnen und ...".
Dies ist natürlich eine grobe Vereinfachung.
Wie auch immer, da wir diese Prozedur nicht die ganze Zeit Schritt für Schritt durchgehen wollen, ordnen wir diese Dinge in Funktionen und Klassen ein. Wir haben also möglicherweise eine Klassenphysik, die alle für die Physiksimulation erforderlichen Funktionen enthält, oder eine Grafikklasse, die mit der Grafik-API verbunden ist und unsere Entitäten zeichnet. Et voila, wir haben einen Motor.