3 ms·
The article says he chose left-handed out of personal preference. Not everything by Microsoft is a sinister conspiracy, sometimes it's a garden variety screwup
by T-hawk 13y ago
The article says he chose left-handed out of personal preference. Not everything by Microsoft is a sinister conspiracy, sometimes it's a garden variety screwup. They were probably merely insular enough to ignore the rest of the industry, rather than arrogant enough to deliberately subvert it.
There is some logic to left-handedness, which is a bit more intuitive in some ways for computer graphics. Left-handed means the Z coordinate increases with depth into the screen, that the viewer is somewhere near Z = 0 and looking towards positive numbers. And projection space has 0.0 at the near plane of the view frustum and 1.0 at the far end. Right-handed means that either your projection space coordinates go negative or that your projection matrix includes a negation for the Z coordinate.
Left-handed does however have the enormous disadvantage of working against almost all (non-computer screen) representations of 3D space. Draw your X and Y axes on a sheet of paper in their customary orientation. It's much more intuitive to interpret positive Z as altitude above the paper rather than as depth into your desk. That's right-handed, and that's why OpenGL and everyone else chose that.
Answering a different parent, it's more than just one line of code in a library to change coordinate systems. The depth buffer check needs to compare in the opposite direction, for one.
Incidentally, Microsoft has learned from this mistake: XNA uses right-handed coordinates.
- jdmichal 13y agoXNA is also dead as of Windows 8. http://en.wikipedia.org/wiki/Microsoft_XNA http://en.wikipedia.org/wiki/Microsoft_XNA
- pjmlp 13y agoAccording to Microsoft Unity is the way forward, BUILD 2013. XNA and its former incarnation, Managed DirectX, always suffered from the internal political differences between .NET and native tools development groups.