Thread Tools
Old December 23, 2002, 09:26   #1
targon
Prince
 
Local Time: 16:07
Local Date: November 1, 2010
Join Date: Nov 2002
Location: Dolgoprudny, Moscow region
Posts: 360
Case study: model format
First of all, I'm an artist, not a coder, so possible I simply annoy competent people with my humble opinions. In such a pity case I hereby give my apologizes.
We still need some format for 3D models of units. It was said what StP will employ true 3D graphics, and it is Good Thing as we live in 3D world and think in 3D terms. I found several prerequestives for such a formats, namely following ones:
1) It must be either open or at least supported by open source programs as export option
2) It may be extensible, as we could add some features in the future
3) It would be easy to parse (at least by computers )
4) It must support explicit uv texture mapping
5) It must be reasonable compact
6) It have to be 3D mesh oriented rather than scene description, freeform surface etc.
While first option may seems questionable, I belibe it's right, as open source programs can't thrive on commertial stuff. Label me open source purist and zealot, but I think so.
Here is a list of 3D formats I think deserves mention:

3DS, ASC 3D Studio data format. Once upon a time, 3D studio consisted from several different programs, like Shaper, Lofter, Keyframer and so on. 3DS was designed to store various sorts of thing in one scene while distinct tool were able to save their own files (Shaper .shp if I correctly remember and so on). Now it's widespread interchange format for 3D mesh data, for historical reasons.
Status: widespread in 3D computing as mesh interchange, development frozen
Origin: commercial, officaly not documented (?)
Format: chunked binary (unit16 tags), little endian, easy to parse; most chunks are obsolete as they were meant to store original 3D Studio stuff, we have to bother with 0x3d3d top-level chunk. There is also plain text (ASCII) .asc
Contents: 3D triangle mesh, no quads, rudimentary surfaces
Texturing: it depends, but in general, it's silly.
Usage: it's relatively easy to read/write and here is opensource library for loading

AC AC3D is shareware 3D editor. IMHO, it ist neither dramaticaly good nor horrible; usable interface, some interesting modeling features, even more vital features are still missing
Status: lurks around, some usage was found in opensource projects, still alive
Origin: commercial, shareware, documented
Format: plain text
Contents: some degenerate subtype of scene graph with parent/kid scheme, materials section + objects section, polygon mesh
Texturing: silly, but may be viewed as existing
Usage: possible easy

BLEND Blender scene file. Not a long ago, Blender was evil commercialware and Nature punished its owners for such a ignorance so they bunkrupt. Then they become more enlightned and opened it (but only after community donation of $100,000 BTW) so Blender is open source once and for all (GPL plus BSD). Blender is one of the best mesh editors I know while its UI is _very_ special and discouraging for unexperienced user. In fact, blender has its own "game" engine inside along with workshop for creating event-driven VR worlds so .blend files have way too much unneeded features.
Status: reincarnated and about to improve
Origin: freed commercial
Contents: lots of things, without much of documentation but with source code
Usage: hard, I think

DXF AutoCAD Drawing Interchange, exchange format used for many CAD/CAM applications, it may in fact store some mesh defenition
Status: in use
Origin: commercial, used for some open source CAD applications, some modelers may export it
Format: plain text
Contents: lots of drawing-related things, including layers, line styles etc. Heavy block structure with somewhat chaotic syntax.
Texturing: no way, AFAIK
Usage: Ugh!

IV Inventor / Open Inventor scene graph. It's almost internal format for SGI own C++ scene graph toolkit, possible useles without Inventor itself but of course it may be used alone, with some pain.
Status: still alive, but not much
Origin: commercial, almost open source later
Format: plain text or binary
Contents: full-blown scene graph with various nodes. Wonder if we can use half of them.
Usage: hard away from Inventor itself but possible may be imported to other scene graph toolkits.

LWO LightWave is one of best commercial 3D workshops I know of, it has simply best mesh modeler out there with lots of useful features, wow! But it's way too expensive...
Status: widespread in professional 3D modeling world and some games, Independance War for example. Healthy.
Origin: commercial, do't know about open source tools saving that files (HELP!), documented
Format: .IFF chunked binary, big-endian, word boundary pad, uint32 tags
Contents: lots of. Point data (vectors) is mapped into vertices then vertex data mapped to polygons. Also include bones, subdiv surfaces, metaballs and some other things along with keyframing, surface and envelope data. Arbitary type mesh (from 0 - sided polygons to infinity).
Texturing: good, really good
Usage: not hard indeed, just keep track of all these chunk types

MDL, MD2, MD3 Quake engines and friends. Supports mesh data, skins and comprehansive animation, this models are almost ultimate choice for any person looking for character models.
Status: legendary
Origin: commercial, but ID seems to throw away and GLPize obsolete code, so old engines are in fact free
Format: binary, of course
Contents: lots of stuff, including mesh data, animation sequences, skinning...
Texturing: exists, and even good
Usage: hard, but most of BSP game engines managed to read it somehow and its code may be stolen.

OBJ, MOD Very old object format used by Wavefront, it was dislodged from its original birthplace but still in use as interchange format. Open/save by various programs including open source like Art of Illusion.
Status: undead, widespread interchange format
Origin: commercial, documented
Format: plain text, resembles Xfig's .fig or binary(?)
Contents: lines/polygons/curves/surfaces plus some scene graph stubs like object merge and smoothing groups
Texturing: exists
Usage: not too hard

OFF, AOFF Somewhat stale format first introduced by DEC and later used in some 3D applicatons. Was meant as library and interchange format for storing 3D objects.
Status: waning
Origin: commertial/public, documented
Format: plain text and binary
Contents: polygon mesh, simple material properties and aux info (author etc.)
Texturing: none, AFAIK
Usage: should be easy


V3D Vertex 3D Model Assembler is infamous open source mesh editor. It has somewhat silly UI and some OpenGL-friendly stuff like explicit quad strips, so artist may spend some time optimizing mesh rather making it better. For low-poly models only, IMHO.
Status: lurking around, but possible already sinked
Origin: open source
Format: plain text
Contents: various mesh data along with transformations and surfaces
Texturing: explicit uv
Usage: may be easy, especialy for "raw" OpenGL w/o any toolkit

VR Dive object/actor format, used by one of the oldest VR toolkits out there, and I really saw couple of modeling apps saving this format.
Status: alive(?)
Origin: open source
Format: plain text
Contents: defenitely resembles .vrml (see)
Texturing: yes
Usage: ?

VRML [i]Virtual Reality Markup Language[/b], in fact it's another one scene markup language specialy crafted for low download times rather than eye candy or feature richness. It comes in 3 flavors, namely versions 1, 2 and 97, but the later pair is almost identical. Here is another upcoming format called x3d featuring stream-oriented server communications, more interactivity etc. OK, it is't model format but it can be abused to do so.
Status: wide(?)spread and evolving
Origin: both open and closed source, well supported and documented, read/write by almost any modeler
Format: plain text, usualy gzip'ed
Contents: some degenerate scene graph plus auguments like animation, events and hyperlinks.
Texturing: yes, but do't expect much
Usage: possible, especialy ignoring all other than mesh data

All other formats I forgot.

IMHO, specific format to work with may be selected as consensus between coder and artist groups as both groups are interested in various aspects of choice in question.
Targon out.
targon is offline  
Old December 23, 2002, 09:27   #2
targon
Prince
 
Local Time: 16:07
Local Date: November 1, 2010
Join Date: Nov 2002
Location: Dolgoprudny, Moscow region
Posts: 360
Modelers I know
Here is a list of modelers I've tasted, with maximaly polite opinions. All trademarks mentioned below belongs to their unlucky holders.

3D Studio Max - commercial "professional" (in fact amateur playing professional) 3D modeler. It's useful for rendering even complex things while you are't too interested in photorealistic looks. Mesh editing is humble, despite some stuff like "Uv unwrap". Saves lots of formats.
AC3D - inexpensive yet not open-source (hence I label this kind as shareunaware) shareware modeler. May be used for not too extensive modeling as eventualy you'll become bored of it. Texturing is still inchoate. Saves its own A3D along with various VRMLs, DXF and some even more exotic.
Art of Illusion - written on Java, so it runs on every machine out there, right, but SLOW. Still somewhat buggy. Sometimes resembles RayDream Studio. Best surface editor I ever seen, BTW. Saves VRML and OBJ.
Ayam - modeling/rendering frontend for Pixar Renderman-based renderers, like Exluna BMRT and others. They are non-free (in "freedom to speech" sense, according to FSF) counterparts of PovRay, for example. Saves AY and standerd RIB files.
Blender - really nice thing, but somewhat biased towards interactive "game" creation; features VERY special interface Saves BLEND, DXF and VideoScape (?!)
gSculpt - some play around 3DSMax-alike modifier stack, but in more general case; really works but hardly useful for real mesh editing. Saves its own Yet Another Format.
Innovation3D - poor interface and editing
KPovModeler - nice modeler, but its bicubic patch facilities are rudimentary; no export/import besides povray. Saves its own KPM along with POV
LightWave - really good thing, but expensive, let alone open source, and of course without Linux version (but runs under some versions of Wine). Saves LWO
Loq Airou (sorry if misspelled) - another _very_ special modeler, emphasizing eye candy and mouse gesture control as means of arousing one's creativity. May evolve into very interesting concept, but still hardly usable. Rarely saves anyway.
MindsEye - this thing failed to compile, can't try. It's stale anyway.
mg^2 - useless, period
Pygmalion - it's messy thing. Has some mesh editing along with some rendering support, but no texturing anyway. Saves DXF and OFF.
RayDream Studio - commercial, somewathat old modeler with strong amateur taste. Had usable mesh editing though. Saves lots of formats.
OpenFX - ex-comercial, nowdays open source, but sadly window$-only (just imagine: open source without Linux port!). Still walks under Wine (_walk_ not _run_). Sometimes useful, sometimes useless, eye candy interface... I may tolerate this modeler, especialy its Linux port. Saves 3DS, DXF and some others.
Truevison - yet another PovRay modeler. Saves surprise, surprise, POV (and its own .tvs).
Vertex - bad interface, support of raw OpenGL features like fans&strips. Saves its own V3D.
Undulate - something about particle editing. Failed to compile for modern Qt.
targon is offline  
Old December 23, 2002, 10:04   #3
Kurilka
Chieftain
 
Kurilka's Avatar
 
Local Time: 16:07
Local Date: November 1, 2010
Join Date: Dec 2002
Location: Arkhangelsk, by the White Sea
Posts: 95
From your review I see OBJ, Mod are not bad...
But didn't yet found some loader library or something like that, but that were mere 20 minutes
Maybe a bit later...
Kurilka is offline  
Old December 23, 2002, 10:18   #4
targon
Prince
 
Local Time: 16:07
Local Date: November 1, 2010
Join Date: Nov 2002
Location: Dolgoprudny, Moscow region
Posts: 360
IMHO, .obj is bad, as it can't store texturing data AFAIK. Correct me if I'm wrong, please.
Personaly, I like .lwo, but we may use it only if someone knows some editor saving this files.
That's why my second post was related with modelers. I do't pretend I know all popular (open-source) modelers, so I urge people with more knowledge to post their comments. We need format 1) feature-rich 2) easy to handle by coder team 3) easy to work with for artist team. And sorry, Kurilka, but 3rd is more valuable than 2nd, as your work is one-time while ours is neverending.
__________________
If you don't see my avatar, your monitor is incapable to display 128 bit colors.
Stella Polaris Development Team, ex-Graphics Manager
targon is offline  
Old December 23, 2002, 10:22   #5
Rasbelin
Emperor
 
Rasbelin's Avatar
 
Local Time: 15:07
Local Date: November 1, 2010
Join Date: Nov 1999
Posts: 3,801
I read your case studies and I can only say you've done a great job, IMO. So which ones are your personal favourites right now?
__________________
"Kids, don't listen to uncle Solver unless you want your parents to spank you." - Solver
Rasbelin is offline  
Old December 23, 2002, 10:32   #6
targon
Prince
 
Local Time: 16:07
Local Date: November 1, 2010
Join Date: Nov 2002
Location: Dolgoprudny, Moscow region
Posts: 360
LWO pros: very feature rich, good documentation, modern approach
cons: commercial modeler (PLEASE, correct me if I'm wrong here!)
3DS pros: support by almost any modeler out there, wide range of loader libraties/plugins
cons: ancient format, not especialy useful for modern rendering techniques.
targon is offline  
Old December 23, 2002, 12:15   #7
carbaher
Settler
 
carbaher's Avatar
 
Local Time: 14:07
Local Date: November 1, 2010
Join Date: Nov 2002
Posts: 15
targon, I think you should start working with the format which is more easy to you. As you've said you're going to work all day with it. Then developers (count with me of course) will do the rest, so it's your vote wich count most. What is the format that you work best with? (more comfortable to you)
carbaher is offline  
Old December 23, 2002, 15:26   #8
Joeno
Alpha Centauri Democracy Game
Chieftain
 
Local Time: 14:07
Local Date: November 1, 2010
Join Date: Aug 2002
Posts: 59
I remember the name "POV Ray" (or something like that) being used with 3D graphics in the past, and a number of design were made with it.

Or something like that I believe. My memory isn't that good, and I didn't pay that much attention to the graphics discussions
Joeno is offline  
Old December 24, 2002, 02:59   #9
Kurilka
Chieftain
 
Kurilka's Avatar
 
Local Time: 16:07
Local Date: November 1, 2010
Join Date: Dec 2002
Location: Arkhangelsk, by the White Sea
Posts: 95
for lwo i've found
http://liblwo.sourceforge.net/ and
http://kon.alphadimensions.net/metaverse/lwo/

But what about modeller?

2 Joeno:
POV Ray is used for rendering and could be used for prerendered images (background, slpashscreen etc.), but our model will be rendered in real-time, so it is not so useful...
Kurilka is offline  
Old December 24, 2002, 05:59   #10
carbaher
Settler
 
carbaher's Avatar
 
Local Time: 14:07
Local Date: November 1, 2010
Join Date: Nov 2002
Posts: 15
Haven't found anything about open source .lwo modellers ...
carbaher is offline  
Old December 25, 2002, 05:00   #11
targon
Prince
 
Local Time: 16:07
Local Date: November 1, 2010
Join Date: Nov 2002
Location: Dolgoprudny, Moscow region
Posts: 360
Some 3D formats to add:
ASE ???
Status: ??? some modelers may export it
Origin: ???
Format: text?
Contents: polygon mesh: coords/colors/uv
Texturing: yes
Usage: may be easy

TRI Alias Triangle.
Status: interchange, lurking around. Couple of modelers may save it AFAIK.
Origin: commercial
Format: do't know, think it's text
Contents: raw tri-mesh with coords/colors/uv per vertex
Texturing: yes
Usage: not too hard IMHO
targon is offline  
Old December 26, 2002, 00:17   #12
Blake
lifer
PolyCast TeamCivilization IV: MultiplayerC4DG Gathering StormCivilization IV CreatorsApolyton UniversityApolytoners Hall of Fame
Beyond the Sword AI Programmer
 
Blake's Avatar
 
Local Time: 02:07
Local Date: November 2, 2010
Join Date: Oct 2000
Location: I am a Buddhist
Posts: 5,680
Thanks for your work targon, it's appreciated.
Personally I think we should go for a format with a wide compatability, rather than based on technical merits. Having existing loaders for the engine/graphics SDK we decide to us would be a big plus too.
Blake is offline  
Old December 26, 2002, 03:17   #13
targon
Prince
 
Local Time: 16:07
Local Date: November 1, 2010
Join Date: Nov 2002
Location: Dolgoprudny, Moscow region
Posts: 360
I do think you're right, Blake. It may be 3DS for example as it's really widespread and accepted by almost any modeling program. And I do't know any reasonable big 3D toolkit completely ignorant to this format. Thanks Autodesk and its de-facto monopoly on low-end market long ago.
So please grok it for youself and decide how this format suits your needs. In theory, it's almost self-sufficient and may be used for some modern rendering techniques.
__________________
If you don't see my avatar, your monitor is incapable to display 128 bit colors.
Stella Polaris Development Team, ex-Graphics Manager
targon is offline  
Old December 26, 2002, 03:25   #14
targon
Prince
 
Local Time: 16:07
Local Date: November 1, 2010
Join Date: Nov 2002
Location: Dolgoprudny, Moscow region
Posts: 360
I've found some really interesting modeler: Wings3D. Really good modeling features, sometimes comparable with best commercial modelers, per-face material painting and lots of other things. One sadness: it's written on language called Erlang that despite its great hack value is't especialy popular. As it's VM-driven language it is't especialy fast, too (but nothing like Art of Illusiion and its Java). Saves 3DS, OBJ and VRML(2) along with more hermetic tongues like .NDO, .XNDO and .PLY.
__________________
If you don't see my avatar, your monitor is incapable to display 128 bit colors.
Stella Polaris Development Team, ex-Graphics Manager
targon is offline  
Old December 26, 2002, 04:21   #15
targon
Prince
 
Local Time: 16:07
Local Date: November 1, 2010
Join Date: Nov 2002
Location: Dolgoprudny, Moscow region
Posts: 360
I've just found .LWO export plugin for the Blender modeler, it's here:
http://ourworld.compuserve.com/homep...der_suites.htm
But it has't any UV export though...
__________________
If you don't see my avatar, your monitor is incapable to display 128 bit colors.
Stella Polaris Development Team, ex-Graphics Manager
targon is offline  
Old December 27, 2002, 05:16   #16
targon
Prince
 
Local Time: 16:07
Local Date: November 1, 2010
Join Date: Nov 2002
Location: Dolgoprudny, Moscow region
Posts: 360
Another one usable modeler (is't really useful for now, but I surely will watch its progress), Moonlight3D. Some really useful features, nice interface and very stale code (it's reincarnated ex-commercial modeler). Currently saves .RIB .DXF VRML and some others. Texturing support coming soon.
__________________
If you don't see my avatar, your monitor is incapable to display 128 bit colors.
Stella Polaris Development Team, ex-Graphics Manager
targon is offline  
Old January 4, 2003, 03:48   #17
targon
Prince
 
Local Time: 16:07
Local Date: November 1, 2010
Join Date: Nov 2002
Location: Dolgoprudny, Moscow region
Posts: 360
OK, if nobody is really interested in that stuff, let's say it will be 3DS for now, as it's wide accepted and has working UV mapping.
__________________
If you don't see my avatar, your monitor is incapable to display 128 bit colors.
Stella Polaris Development Team, ex-Graphics Manager
targon is offline  
Old January 4, 2003, 05:03   #18
Kurilka
Chieftain
 
Kurilka's Avatar
 
Local Time: 16:07
Local Date: November 1, 2010
Join Date: Dec 2002
Location: Arkhangelsk, by the White Sea
Posts: 95
As I see no other good alternative, I vote for 3DS...
Kurilka is offline  
Old January 4, 2003, 13:47   #19
carbaher
Settler
 
carbaher's Avatar
 
Local Time: 14:07
Local Date: November 1, 2010
Join Date: Nov 2002
Posts: 15
okie, 3ds should do the trick , my vote is for 3ds
carbaher is offline  
Old January 9, 2003, 09:21   #20
targon
Prince
 
Local Time: 16:07
Local Date: November 1, 2010
Join Date: Nov 2002
Location: Dolgoprudny, Moscow region
Posts: 360
BTW, dear coders, how you imagine basic unit animation, like turret rotation, track movement etc? Some .3ds export/import schemes seems to have "features" in handling multiple tri-mesh chunks, so possible we'll need to divide the model into _distinct_ .3ds files (please correct me if I'm wrong!), which in turn arises some problem regarding (my favorite) atlas UV mapping (it's really hard to place more than single UV projection on the map).
__________________
If you don't see my avatar, your monitor is incapable to display 128 bit colors.
Stella Polaris Development Team, ex-Graphics Manager
targon is offline  
 

Bookmarks

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump


All times are GMT -4. The time now is 09:07.


Design by Vjacheslav Trushkin, color scheme by ColorizeIt!.
Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Apolyton Civilization Site | Copyright © The Apolyton Team