Jump to content
  • Advertisement
Sign in to follow this  
SandoSan

What would you recommend for a mesh format?

This topic is 3623 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Ok, so my DX specific renderer (win32 and c++) is coming along nicely, I got most of the pipeline in place along with a fairly flexible material/shader system. All is good, until I come to start thinking about meshes... What mesh format would you guys recommend using? I would like the format to support skinned animation, multiple texture UV's and references (for normal maps, etc..) and references to .fx effect files... Surely a format exists already that can handle this (and has a decent exporter from maya/max et al) ? My obvious first choice was the .X format - but unless I am reading the spec incorrectly this doesn't allow for multiple texture uv's and even though the SDK comes with DwarfWithEffectInstance.fx I can't see any exporter/modeller that supports assigning such references to .fx files. I then looked at COLLADA, .ogre, etc... - but they all seem to suffer from the same .fx reference problem? edit: By this I mean that no common tool seems to allow adding this information... How do you guys get around this? Is it a case of having to build my own intermediate tool to load up the mesh, assign .fx references to submeshes then save it back out to an extended .X format? (much like the sdkmesh format) Seems like there should be an easier workflow here... Cheers for any suggestions, SandoSan [Edited by - SandoSan on July 18, 2008 7:03:53 AM]

Share this post


Link to post
Share on other sites
Advertisement
I'd recommend you give some thought as to what software will be upstream from your engine. Which art packages will be producing assets that your engine consumes?

I'm not artist but I am aware there are lots of possible combinations here so trying to narrow it down allows you to either decide on a common, existing file format or to better define what sort of conversion utilities you need to find or create.

My other impression is that modelling formats suffer from the same problems as any other IT "standard" - there are so many to choose from everyone can have their own [lol]

hth
Jack

Share this post


Link to post
Share on other sites
Quote:
Original post by jollyjeffers
I'd recommend you give some thought as to what software will be upstream from your engine. Which art packages will be producing assets that your engine consumes?


I have access to Maya, Max and Blender (and some people who know how to use them :P). The trouble is defining a workflow from these packages to the renderer. Surely there is a modern "standard" that supports multiple texture UV's and shader references? Or do I really have to invest a lot of time in creating the required plugin/exporter/spec for my needs?

Seems like a lot of extra work. I was hoping something along these lines already existed. I suppose if there is no alternative then extending the .X format and creating a simple tool to save them out wouldn't be too much trouble...

Would still like to listen to further comment before I go off half-cocked with this!

Share this post


Link to post
Share on other sites
Have a look at the .fbx format. Autodesk is trying to get it accepted as a standard for 3d stuff. I'm pretty sure it supports most of what you need, and if it doesn't directly support referencing .fx files, it should at least allow you to tag your objects with some description string, which you could fill with stuff like "effect=myeffect.fx" and parse that. There's also a sdk to work with that's free of charge.

I haven't tried the format myself, so I might be mistaking in some of my statements. I think they got a webpage at autodesk where the format and sdk is described, give it a look.

Share this post


Link to post
Share on other sites
Quote:
Original post by Trillian
Have a look at the .fbx format. Autodesk is trying to get it accepted as a standard for 3d stuff. I'm pretty sure it supports most of what you need, and if it doesn't directly support referencing .fx files, it should at least allow you to tag your objects with some description string, which you could fill with stuff like "effect=myeffect.fx" and parse that. There's also a sdk to work with that's free of charge.


I did have a quick look at .fbx. It seems to be a pretty good choice, though I can't find a complete description of the format on Autodesk's site - is it the case that I _have_ to use their sdk tools?

The more I look into this the stranger it seems to me that there is no straightforward way to go from modeller --> renderer.

It is looking more and more likely that I will have to define an internal format (would most likely shoot for extending .x at this point) and convert from something that can output the .fx references in some way...

I have found some articles on the net that seem to assert the .x format is quite well supported within Max. Anyone have any experience with this in practice?

Share this post


Link to post
Share on other sites
The .X format is very extensible with its templates - have a look in the SDK documentation (it is a bit buried these days) and you'll see you can actually add lots of extra data in if you want. You may quickly find that you can't use the D3DX loading routines to get this extra data, but it should still be fairly easy.

As for MAX support... don't count on it. Given the reliance on 3rd party exporters (MS stopped shipping theirs a while back) and the number of questions that pop up in forums would not give me a huge amount of confidence in its support [headshake]

hth
Jack

Share this post


Link to post
Share on other sites
I'm quite sure that the COLLADA format has everything you need. The format supports practically everything under the sun. Rather, the issue is whether your exporters for your various 3D modelling programs support exporting everything you need.

Share this post


Link to post
Share on other sites
Quote:
Original post by jollyjeffers
The .X format is very extensible with its templates - have a look in the SDK documentation (it is a bit buried these days) and you'll see you can actually add lots of extra data in if you want. You may quickly find that you can't use the D3DX loading routines to get this extra data, but it should still be fairly easy.


Yeah, it does seem quite capable. It looks like the format I would choose to load at runtime tbh. Having not done any checking I would assume this would be much faster than parsing collada, et al.

Quote:
Original post by jollyjeffers
As for MAX support... don't count on it. Given the reliance on 3rd party exporters (MS stopped shipping theirs a while back) and the number of questions that pop up in forums would not give me a huge amount of confidence in its support [headshake]


Bah. I only mention it because it appeared that some people were using it to assign .fx files to materials. This seems to be my main problem at the moment. I do not really want to have to knockup a tool to allow me to interactively assign submeshes specific .fx references...

Quote:
Original post by Sc4Freak
I'm quite sure that the COLLADA format has everything you need. The format supports practically everything under the sun. Rather, the issue is whether your exporters for your various 3D modelling programs support exporting everything you need.


Yes, exactly. What do people suggest doing in this situation? If I can get an modeller to output this information then I don't mind writing a tool to convert between say collada and my own extended .x format (assuming I would even need to bother doing this - for performance reasons).


Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!