.X file template bug on 64 bit.
I am programming an application for loading skinned models from .X files. I am using Visual Studio 2005, Windows Vista 64 bit and DirectX9.
Because my animations are playing too fast, I am using the AnimTicksPerSecond template for scaling the speed. The description for this template on March 2008 SDK is:
---------------
AnimTicksPerSecond
Describes an animation scale factor.
template AnimTicksPerSecond
{
< 9E415A43-7BA6-4a73-8743-B73D47E88476 >
DWORD AnimTicksPerSecond;
}
Where:
AnimTicksPerSecond - A scale factor to convert animation time stamps to global time. Its value divides the animation time by either 30, 60, 24 or 25.
---------------
So I placed on my .X files the following line to slow the speed:
AnimTicksPerSecond {
24;
}
When I compile the application for 32 bit machines the animation is scaled and it plays fine. When I compile for 64 bit machines the animation continues to play too fast, as if the DirectX ignores the existance of the AnimTicksPerSecond template that I placed on my .X files.
So I installed the SkinnedMesh sample of DirectX SDK and I tried it with one of my .X files. Same results with my application. The animation played fine on 32 bit executable but too fast with 64 bit executable.
Any ideas of what it's going wrong?
---------------------
UPDATE:
I also test it with tiny.x model from direct sdk samples. I add the AnimTicksPerSecond template in the tiny.x file to scale the animation speed.
On the 32 bit executable of the SkinnedModel sample it worked. On 64 bit executable ignored the template.
--------------------
I don't think that they will bother with it. It is not a very serious issue and it is on DirectX9.
When you say "I add the AnimTicksPerSecond template in the tiny.x file to scale the animation speed." Did you add the template to the x file or just an instance of it?
I tried adding both to be sure. An instance of the template and the template declaration at the start of the file. Something like this:
template AnimTicksPerSecond{
<9E415A43-7BA6-4a73-8743-B73D47E88476>
DWORD AnimTicksPerSecond;
}
AnimTicksPerSecond {
24;
}
template AnimTicksPerSecond{
<9E415A43-7BA6-4a73-8743-B73D47E88476>
DWORD AnimTicksPerSecond;
}
AnimTicksPerSecond {
24;
}
Quote:Original post by George109
I don't think that they will bother with it. It is not a very serious issue and it is on DirectX9.
It is a serious issue if it's ignoring a part of the specification, or worse if it's reading too much and skipping the field as a side effect (this is what I'm guessing is happening).
They haven't dropped support for Direct X 9, nor will they do so for quite some time so don't let that keep you from reporting it.
So please, do the rest of us a favor and report it. It won't get fixed if they don't know about it.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement