It's a bit philosophical too. D3D is an abstraction of graphics hardware with enough high-level constructs to make it useful to real programmers. OGL is an abstraction of 3D principles, with enough low-level constructs to make it perform on real hardware. You can't "unplumb" that overnight; it's how you think.