Since you mention Direct3D, I am guessing you want to program for Windows. I must then remind you that DirectX is a COM API. Do you know COM? If no then I suppose you must first learn COM.
BTW, I don't program graphics, so I really don't know much more about the topic. I just know that you must know COM to program DirectX. Dunno if OpenGL is the same. I think not because OpenGL is also available for Linux and I guess Mac, meaning the API is probably not COM.