Why does DirectX use a left-handed coordinate system?
- by greyfade
I considered posting on Stack Overflow, but the question strikes me as being far too subjective since I can't think of a reasonable technical explanation for Microsoft's choice in this matter. But this question has bugged me for so long and the issue keeps coming up in one of my projects, and I have never actually seen an attempt at explaining this:
OpenGL uses a right-handed coordinate system, where the +Z part of the world coordinate system extends toward the viewer.
DirectX uses a left-handed system where the +Z part of the world coordinate extends into the screen, away from the viewer.
I never used the Glide API, so I don't know how it worked, but from what I can gather, it uses a left-handed system as well.
Is there a technical reason for this? And if not, is there some conceptual advantage to a particular handedness of a coordinate system? Why would one choose one over the other?