Joined: Tue Nov 17, 2009 1:56 pm
I've created a ticket here, but to sum it up:
Animation done without the help of shaders (software animation), plays on both x86 and Xbox. The problem is the entity shrinks and is offset of it's position.
Animation done with shaders (hardware animation) works on x86 perfectly, but on Xbox any animated entity "bounces" up and down in place.
The math for Software animation is the same regardless of Render System, so it has to be something Xna specific. We were thinking it had something to do with Right-Hand coordinate system vs. Left-Hand. D3D uses a left-hand system, but both OpenGL and Xna use a Right-hand system.
Perhaps a Matrix is being Inverted when it shouldn't be, or vice versa, a Matrix should be getting inverted, but isn't.
Another method perhaps is to find out how offset it is, and reverse it. i.e. if we found out the scale was 5/5/5 less than it should be, then we could multiply the scale by 5/5/5. This would be a kludge, and a temporary fix, but I'm getting desperate here
On the hardware animation side of things, it's interesting that it works on x86. My guess is that the shader profile from Xbox is slightly different enough. So either a compatible shader would have to be created, or is has something to do with how Axiom compiles the shader-language.
This shader's taken from an XNA demo demonstrating hardware animation:
http://axiom.pastebin.com/zZBaeJhq Perhaps someone could create a test app using this shader?
In any case, this is a discussion thread. If you have any ideas/leads post them here so that this issue can be solved.
I don't believe there's a lot of people that target Xbox, but any help would be appreciated.