   I love all the random crap when porting from XNA to SharpDX
I love all the random crap when porting from XNA to SharpDX: http://dl.dropboxusercontent.com/u/45638513/w.png Inverted faces on that "procedural" cube :).
It seems that this is due to the fact that DirectX uses a left-handed coordinate system and XNA a right-handed one. For now I have multiplied the Z axis by -1 to fix this, but I might have to change the order of vertices in triangles. And I need to update my binary mesh importers to do the same. Do I need tot do this to the translation matrices of bones too?;It seems that this is due to the fact that DirectX uses a left-handed coordinate system and XNA a right-handed one. Actually, as far as I know, no part of DirectX is intrinsically left- or right-handed, you can use the system you prefer. The math functions in XNA are right-handed, but SharpDX provides both left- and right-handed versions. If you always use MathUtil.FooRH you shouldn't have to change anything more dramatic. However, I'm not sure what rasterizer state XNA defaults to. Make sure to set the appropriate cull mode (clockwise or counter-clockwise). That should take care of models being displayed "inside out".;Thanks! Indeed, I did a test and switching the math from LH to RH and modifying the sign of the camera offset had the same effect as modifying the sign of the Z axis in the mesh. So I can do LH or RH. The question is which one to do? I want to maximize compatibility with existing DirectX components, especially since I'm planning on buying a few expensive packages, like SpeedTree. This is probably my 10 billionth engine that I'm writing and this time everything must be perfect :). After this I'm planning only one more engine...;Well if this one is perfect, the one you right after this will surely be a real let-down ;);Well if this one is perfect, the one you right after this will surely be a real let-down ;) Yes, that surely would be the case! Fortunately, I have though of that! My next engine is going to be a C++ port of my current engine, so they will both have the same features and they will both be perfect! :). I'll continue to stick with LH for now. I have found that I need to invert the Z component of normals and also do this in a few shaders, but otherwise the change from RH seems to be quite painless.