I've programmed quite a bit in OpenGL and only have done a little bit with Direct3D, though I have a lot of experience with DirectSound, DirectMusic, and DirectInput. I've never made anything commercially but I've done enough to have a pretty valid opinion.