I think everyone is missing the point of the OP.
This guy doen't know enough stuff to be able to jump into DX12 or Vulcan or even DX9 for that matter.
I'd suggest you go to nehe.gamedev.net and learn good ole OpenGL version 1.5'ish. This will teach you the 3d side of things.
Once you can create a window, render a gui, and load a model from file and move it around then you can move on.
To learn OpenGL 1.5ish basics (and the basics of 3D!! )
nehe.gamedev.net (tutorials listed on the right side of the screen)
To load an animated 3D model easily
http://milkshape3d.com/ (download the "MilkShape 3D Binary Model Viewer (/w src)" and at first copy paste but then learn it)
(also, 3drt.com has freebies in Ms3d format and also sells the premium models as Ms3d)
TBH there is enough source code at those 2 places to copy and paste together a working yet very lame working game.
I'm suggesting GL < 2.0 because its really hard for a beginner to learn how to write shaders. Obviosly once the OP knows the 3D basics then he can start with OpenGL 3.0+ or D3D10 and learn how to write shaders.
I'm a big fanboy of OpenGL myself simply because I like being able to write my OpenGL renderer and by using a few #ifdef #define's to wrap the OS specific lines of code (not very many) I can simply compile my C++ OpenGL renderer on Windows, Mac, and Linux with little problems.
Of course I'm only using X11 on Mac which works fine because learning Objective C++ is just too weird for me at this moment.
I do plan on adding DX8, 9, 10, 11, and maybe even 12 renderers to my current project along with Vulkan and Metal (once the Obj C weirdness goes away).
I've already made renderers for GL 3.0 and DX9 and 10 before.