I have an engine written using SharpDX, that can load a character mesh and animation stored in a FBX file, then it renders a scene and animates a character. It is written as an Universal Windows Store App, so it runs on Windows 8.1 desktop, tablets and Windows Phone 8.1 devices. The Windows 8.1 part of the app works fine. It was a bit tricky to rewrite the code for the Windows Phone 8.1 part, because Windows Phone 8.1 only supports DirectX feature level 9_3, so I had to change some unsupported DXGI formats, compile the shaders with 4_0_level_9_3 shader profiles instread of 5_0 and reduce some attributes in order to fit 256 register limit for 4_0_level_9_3.
Now, I have this problem. When I try to run the engine in Windows Phone 8.1 Emulator, it runs fine. The character shows and animated fine. There is a tiny man, who waves his hands. See this screen:
But When I try to run the exact same code in the real Windows Phone 8.1 device, it is not doing the same. The character shows, but it is not standing and waving, instead it is in TPose and floating in space in a rotation-like movement.
It is very confusing, because it is the exact same code, only I try to run it in an emulator and real device. What could be different for emulator and real device, that it is not rendering the same thing - the thing that it should?
I've been stuck at this for over a week and I am kind of desperate now.. so thank you for any advices, comments and tips.. anything.