De toutes façons, si tu programmes vraiment un moteur, t´es censé faire abstraction de l´API, donc DirectX ou OpenGL ca reviendra au meme, ca servira juste de support pour les fonctions de ton moteur qui ont besoin d´un appel au hard. Et puis pour les differents formats de fichiers, pareil, si tu fais un moteur tu peux creer tes propres formats, rapide a charger, qui contiennent ce dont t´as besoin... et independants de l´API ! Enfin voila, DX/OGL ca se pose pas trop trop comme question, le nombre de libs avec OGL que t´utilises depend de ton niveau de flemmardise, et contrairement a ce qu´on peut penser, c´est pas plus simple d´utiliser ce qui est deja codé !
Meme avec cette approche t´aura pas besoin de 40.000 libs comme tu pourrais le croire, mais juste une seule, le seul " vrai" probleme que ca pourrait poser c´est pour le son... mais y´a OpenAL, très propre, qui lui, sait charger les . ogg ( hum?).