right-handed Math Lib
XNA libraries are right-handed and DirectX API is left-handed.
Why XNA team decided to introduce this inconsistency?
How this will affect porting code from DirectX C++ to XNA?
XNA libraries are right-handed and DirectX API is left-handed.
Why XNA team decided to introduce this inconsistency?
How this will affect porting code from DirectX C++ to XNA?
The reason we’ve decided on going with this is to ease integration in both content and middleware components. If everyone can agree on the coordinate system, then it makes it much easier to use content or APIs from outside of the XNA Framework. I say “by default” because there is nothing that absolutely need to be left-handed (or something else) you can do so, you’ll just need to do some of the calculations yourself.
It seems more natural to have right-handed coordinate system (like in OpenGL and now in XNA) with texture coordinates from top to down (like in D3D and XNA)... one idiotic decision in OpenGL were always the inverted texture coordinates... besides many other idiotic decisions in OpenGL (texture objects, the texgen... etc.
)
Just think about landscapes... right handed system with top down texture coordinates... yummy yummy yummy. A simple vertex shader for transformation and texture generation are just 5 dot products and nothing more. 4 dot products to transform the vertex and one for texgen. Fast as hell.
The XNA pages/Docs should state that MS switched the coordinate system in 36 point red font. I don't need to find that out after 3 days of hammering my head against the keyboard looking for "where did I invert coordinates?" and "why doesn't my picking routine work?". I kept telling myself that D3D is left-handed so there's NO WAY XNA is right. Well.. I was wrong! :). Please make it clear in the docs!
Thanks.
IH
The XNA pages/Docs should state that MS switched the coordinate system in 36 point red font. I don't need to find that out after 3 days of hammering my head against the keyboard looking for "where did I invert coordinates?" and "why doesn't my picking routine work?". I kept telling myself that D3D is left-handed so there's NO WAY XNA is right. Well.. I was wrong! :). Please make it clear in the docs!
Thanks.
IH