Question: what is the difference between directx and direct3d?
Answer: First, a bit of clarification: Direct3D is a subset of DirectX. DirectX contains Direct3D which is the primary graphics handling portion of DirectX. OpenGL, on the other hand, is it's own API.