That's all well and good, but the fact remains that Direct3D is certainly a better documented API, and also that OpenGL even now has annoying remnants of its past as a hissing, clanking state-machine (glBind* garbage). Speaking from experience, trying to get OpenGL to behave sanely in a multithreaded environment is nontrivial.