Skip to main content
GameDev.net gamedev.net
🔒 Locked

Selecting a data structure

Started by Norm Apr 19, 2003 at 1:55 PM 3 replies 650+ views
Original Post
Norm
Norm
I am not sure that this is the correct place to post this question. Will the moderator please move it if necessary. I am trying to determine the most practical 3d graphics data structure(s) to use as the core for a file format converter to be used with a variety of model formats and a variety of 3d engines. It should be able to handle both skeletal and key frame animation. What I have in mind is a core API and a plugin(dll) for each 3d engine type and/or model format. At the moment, I expect to program it using C++. I have done some research on this but would like to hear what others have to suggest. This question is really for programmers having experience with a variety of structures, not to those who have worked with only one, even though they like it. Thanks for any suggestions, Norm
MindCode
MindCode
Your in luck, because I actually attempted a similar thing a few months back. I never finished it, but I still have some code.

I found that any binary format was too limiting. I began work on a scripted file format that had several tools for defining 3d objects. Inspired by vrml mostly it was becoming quite the robust format. I eventually plan to get around to writting a parser/compiler for it, and work out a binary form of the format to use in a loading library (which was another part of the project). If you want I can send you some of the stuff I had done.
That's just my understanding; I could be wrong.
Yann L
Yann L
Well, it could be because people don''t understand your question.

Personally, I have no idea what you are talking about. Define ''3d graphics data structure''. Do you mean a way to efficiently store 3D geometry in device/API independent ways ? Or a hierarchical spatial structure ? A language class structure to handle geometry through a clean OO interface ? Try to be a bit more precise, and you''ll probably get more answers.
Norm
Norm
OK! That''s more like it!

Let''s see what I can do to make my question more clear.

"I am trying to determine the most practical 3d graphics data structure(s) to use as the core for a file format converter to be used with a variety of model formats and a variety of 3d engines. It should be able to handle both skeletal and key frame animation. "

I would like to create an application designed with the flexibility that will permit it (by adding plug-in/dll''s) to accept input in a specified model format and output a file in a format compatible with a specified 3d engine type. The modules will be created according to what is needed. I am aware that I am aiming at a moving target and want to be able add functionality without starting from scratch as new (to me) formats appear on my horizon.

"What I have in mind is a core API and a plugin(dll) for each 3d engine type and/or model format."

The API will need a structure to store the data in while the conversion process is taking place. This stucture will have to accomodate the data of a wide variety of model and engine formats, but in itself must be generic.

Each plug-in will be either an input converter or an output converter. One end of the conversion will always be the generic data structure of the API. The other end of the conversion (in or out) will be the unique format of the model or the 3d engine.

"I have done some research on this but would like to hear what others have to suggest. This question is really for programmers having experience with a variety of structures, not to those who have worked with only one, even though they like it."

So far, I have examined 3ds, obj, cal3d, lib3d, CR2, Viewpoint mtx schema, the various poser formats, Crystal Space XML map schema,and some other formats.

I have some opinions on their relative merits but am too new to the 3d graphics area of software technology to have a lot of confidence in my own opinions and would like to hear those of people with expertise in this area.

"Thanks for any suggestions,"

I was hoping to hear from more than one person, even if just to say, "I don''t know what you are talking about, tell me more".

I will be happy to respond to any specific questions, keeping in mind that I am only in the conceptual stage.

Norm


Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.