Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I am using Ogre for my rendering engine, and I planned on just using the .mesh format that is setup by default with Ogre. However, I recently purchased a large number of 3d assets from a company, only to find out that they use 7 blend weights where as Ogre has a max limit of 4.

I don't know much about modeling and animation (which is why I purchased the art) but just from thinking, it is probably fairly difficult to change something like this in the model without having to reanimate it.

So this led me to think about a custom model format. I know the basics of what is stored, verts/polygons/etc, but I am wondering if this is something I am right in thinking I probably need to do? If so, are there any good resources on developing a custom model format? Tutorials/samples/anything would be great. So far all I have found is http://www.falloutsoftware.com/tutorials/gl/gl6.htm which is helpful but not complete.

share|improve this question
1  
I wrote a utility (sourceforge.net/projects/protodata) a while back to help me prototype binary file formats. It's not perfect, but it works, and I hope it can be of use to you. –  Jon Purdy Oct 8 '10 at 23:19
    
Thank you, I will give that a try. –  Brett Powell Oct 9 '10 at 0:35
    
I added an extended example to the project home page, copied from one of the projects for which I used Protodata. protodata.sourceforge.net/cgi-bin/MainPage#Example –  Jon Purdy Oct 10 '10 at 20:57

2 Answers 2

In OgreConfig.h you can find the OGRE_MAX_BLEND_WEIGHTS option. It is set to 4 by default and I never tried setting it to anything else myself, but it is worth a try. (You have to recompile Ogre afterwards of course.)

The Ogre mesh file format itself has no limit for the number of bone assignments per vertex. The binary format simply stores bone assignment as arrays of {unsigned int vertexindex; unsigned short boneindex; float weight;}

On the other hand, seven blend weights seems like overkill, so another way is to leave out the three assignments with the smallest weights and adjust the other four bone assignments.

share|improve this answer

Google returned this result on the GD.Net forums.

Then again, could you use another existing mesh format with Ogre instead?

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.