Imagine un langage comme le C++ :
le C++ sait calculer, il contient des mots, comme un dictionnaire, qui, quand tu les emploies, font quelques chose.
Il contient par exemple "printf" qui affiche qq chose a l´écran, il contient "sqrt" qui calcule une racine carré par exemple, tu vois ?
Un moteur 3D est une bibliotheque : c´est a dire des mots supplémentaires que tu greffes a ton langage : par exemple, tu auras le mot "camera" qui placera la caméra dans l´espace, le mot "setLumiere" qui définira une direction d´éclairage, une fonction "triangle" qui définira un triangles dans l´espace, etc... etc...
Vous qui etes tous fans de jeux de roles a la FF, imagine ton perso avec des magies d´eau ( ça c´est le C++ nature), et quand tu ajoutes un moteur 3D, tu peux alors te servir des pouvoirs de feu.
DirectX est par exemple un ensemble de moteurs :
-> Direct3D est le moteur 3D
-> DirectDraw est le moteur 2D
-> DirectInput est le motetur pour controler le clavier, la souris, les joysticks...
-> DirectSound est le moteur pour le son
-> DirectPlay sait controler des PC en réseau...
. ...
voila