Horde3D

Next-Generation Graphics Engine
It is currently 29.11.2024, 01:59

All times are UTC + 1 hour




Post new topic Reply to topic  [ 5 posts ] 
Author Message
 Post subject: Joints error
PostPosted: 08.05.2007, 07:38 
Offline

Joined: 08.05.2007, 07:34
Posts: 12
I'm a pretty big admirer of this engine so far. It's very clean, and seems very easy to use. So I thought of plugging in some assets, and got some errors reguarding max joints of 59. Is there anything special about this? If I change it, will other bad things happen?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 08.05.2007, 17:59 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
Great that you like the design of the engine :)

The issue with the joints is something that has to be solved rather sooner than later. The problem is that the shader registers only have space for storing 59 joint matrices for doing GPU skinning. There are several solutions to this, but until now I didn't find the time to implement one of them.

Just increasing the constant won't work. What I will have to do for the one of the next releases is writing a function for the Collada tool that splits the mesh if it has more joints than the current limit.

How many joints does your model have? We also ran into this limit in one of our projects and an easy work-around was to delete the nubs joints that were created automatically by 3ds max and that are usually not required for animation.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 09.05.2007, 06:11 
Offline

Joined: 08.05.2007, 07:34
Posts: 12
Thanks for the fast reply, I figured it was a limitation with the gpu skinning. The artist didn't know how many it had, I stepped it in the debugger and looks like 72. Although it doesn't look like there is that many. We thought we were under the number, I dunno I'll have to look at it some more. The only thing I'm curious is about is would you still be able to have attachments to joints or null objects ?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 09.05.2007, 21:51 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
Arbitrary attachments to joints are no problem. Only the matrices of the joint nodes are sent to the graphics card.

BTW, I never mentioned explicitly in the docs that animations are fully integrated with the scene graph. That means if you apply a skeletal animation to a model you can read back or modify the new transformation of a joint node which makes it easily possible to do dynamic animations. Just in case you should need something like that :)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 25.06.2007, 03:31 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
I recently spent some time on the joint limit issue.

By doing some tricks (compressing matrices) I managed to increase the joint limit from 59 to 79. I think that's a value that is much more acceptable since many detailed models have between 60 and 80 joints. The update will come with the soon to be released version 0.11


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group