Path: chuka.playstation.co.uk!scea!peter_alau@playstation.sony.com From: Gerrit Goossen Newsgroups: scee.yaroze.programming.3d_graphics,scea.yaroze.programming.3d_graphics Subject: gteMIMefunc & me: One of us is wrong Date: Wed, 11 Nov 1998 16:22:56 -0500 Organization: SCEA News Server Lines: 53 Message-ID: <364A002A.62D2@funnytown.com> NNTP-Posting-Host: 38.165.241.13 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 3.01-C-MACOS8 (Macintosh; I; PPC) Xref: chuka.playstation.co.uk scee.yaroze.programming.3d_graphics:1011 scea.yaroze.programming.3d_graphics:322 Wow, it's been a while since I posted a request for flames (ie. stupid question) in the newsgroups here, but I figured it's about time to get back in the game! Recently RSDAnim was giving me headaches, so I wrote a tool to convert BVH motion capture data (as exported by MetaCreations Poser 3.0) to MIMe. (It's actually not quite as simple as just "exporting" but that's the basic idea.) While working on some code to play the animations as sequences in a game I've been working on, I ran into problems using "fractional" MIMe frames. In short: gteMIMefunc(theAnimation->workVertexArray, theData->mimeArray, theData->vertexCount, ONE); works as expected and converts a buncha vertices to the next frame of animation. (Looks slick too!) But for some reason unknown to me: gteMIMefunc(theAnimation->workVertexArray, theData->mimeArray, theData->vertexCount, (ONE / 4)); gteMIMefunc(theAnimation->workVertexArray, theData->mimeArray, theData->vertexCount, (ONE / 4)); gteMIMefunc(theAnimation->workVertexArray, theData->mimeArray, theData->vertexCount, (ONE / 4)); gteMIMefunc(theAnimation->workVertexArray, theData->mimeArray, theData->vertexCount, (ONE / 4)); does NOT produce the same result?! They way I'm reading the documentation, this should do the exact same thing (just four times slower). Instead the result is a "mutated" version of where the vertices should be. (Does NOT look slick.) - Is this a problem with gteMIMefunc? (Not that there could possibly be bugs in the library!) - Could this a problem with the PSX's fixed-point math? (Inaccuracies building up to a high level of nastiness?) My models are around 500 'units' in width/height, but there isn't any easy way for me to make 'em bigger. - Could I possibly be doing anything wrong to that would break the second version?!?! The couple lines above are the only ones I changed to break the code. As always, thanks for any help :) - Gerrit PS - Normally I wouldn't care, but it seems like such a waste to even use MIMe data if you can't have interpolated frames. After all, each MIMe frame is the same size as a carbon copy of the vertices anyway, ya know?