.X file template bug on 64 bit.

Started by
5 comments, last by George109 15 years, 9 months ago
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. --------------------
Advertisement
I'd suggest that you send a mail to directx@microsoft.com detailing this problem.
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;
}
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.
I reported it a few minutes ago. I'll let you know if someone replies to me.

This topic is closed to new replies.

Advertisement