gavin@krypton.SGI.COM (Gavin Bell) (04/14/89)
I am looking for information on 3-D object file formats; if you have a lot of experience with 3D formats, or know of any relevant references, I would appreciate E-mail, or, if you think this might be of general interest, a response in this newsgroup. My general wants: -- I want a format that allows me to express relations like "These material properties are attached to these polygons", for example. I want the set of types to be extensible, but it should include at least the following: polygons, vertices, colors, normals, material properties (i.e. index of refraction, diffuse, specular, etc.) It should be easy to add: splines, nurbs, textures, CSG primitives, triangle meshes, etc. -- I want a format that allows useful tools to be written: i.e. a filter that finds the normals for an object, a filter that triangulates the polygons in an object, a filter that converts a file from a CSG representation to a polygonal representation. This means a display-list type of format just isn't good enough. I know about the following formats: -- Dec's off file format. Great for what it does, but too simple. -- Princeton University Lincoln format. A winged-edge format, definitely not easily extensible, concerned almost exclusively with topology. -- Mathematica's format. Quick and dirty. -- At least 7 different formats used here at Silicon Graphics; most of them were written as one-time things, none of the do what I want them to. -- Aliases object file format. Specific to what their software is capable of. -- Wavefront's object file format. Specific to what their software does. -- A couple of ray-tracer formats. Specific to the kinds of objects/textures/etc that they support. I am asking this since I would rather not invent Yet Another Object File Format. However, I haven't found anything appropriate. Any suggestions? --gavin (gavin@sgi.com)
bullerj@handel.colostate.edu (Jon Buller) (04/14/89)
In article <30686@sgi.SGI.COM> gavin@krypton.SGI.COM (Gavin Bell) writes: >I am looking for information on 3-D object file formats; if you have >a lot of experience with 3D formats, or know of any relevant >references, I would appreciate E-mail, or, if you think this might be >of general interest, a response in this newsgroup. > [ he wants all sorts of things you might want to describe a picture] [ then some stuff about filters and tools to manipulate the description ] [ and finally some stuff about various current file formats ] > >I am asking this since I would rather not invent Yet Another Object >File Format. However, I haven't found anything appropriate. Any >suggestions? > >--gavin (gavin@sgi.com) ME TOO, ME TOO, ME TOO!!! This has been one of the things holding my graphics programs back. I don't want to write a new description interpreter for every experiment/renderer I would like to try out. Gavin could you PLEASE keep me posted on what you find out? Anyone else too. I just don't want to put so much effort into re-inventing the wheel (or at least re-coding it 8-). My only problem is that I graduate in 1 month, when this account will go away, (and so will I 8-). Although I belive I will have news and e-mail access, I don't know whre it will be... I'll try to keep you all up to date, (even if you want to flame my simple bugs, simple programs, and simple mind 8-) ------------------------------------------------------------------------------- Jon Buller FROM fortune IMPORT quote; ..!ccncsu!handel!bullerj FROM lawyers IMPORT disclaimer;
kirby@bozo.wbst128.xerox.com (Mike Kirby (co-op)) (04/14/89)
>I am looking for information on 3-D object file formats; if you have >a lot of experience with 3D formats, or know of any relevant >references, I would appreciate E-mail, or, if you think this might be >of general interest, a response in this newsgroup. Hmmm, Well....I just happen to be developing one of those "yet another format" for description of three-d objects. It is based on an object oriented approach to everything. I think perhaps this might be something along the lines of what you want, because if you forget anything, then you simply create another message. For example. define bluesphere { color setcolor [0.0 0.0 1.0]; sphere (radius #f ) (center []); } this definition indicates that a sphere should be defined as having the properties of the following objects : color and sphere. Color is passed the message "setcolor" (a little redundant, yes..I know) and a "point_type" which is enclosed within square brackets. A sphere type takes 2 messages, radius and center. In this case, they are left as implicitly defined (i.e. they are passed in as messages when the object blueshpere is used). Explicit definitions (like setcolor) are constant within the confines of the sphere. Now, if you wanted to expand it and include textureing, you could do something like this: define bumpyblue { bluesphere (radius #f) (center[]); maptexture filename "/usr/textures/texture1" method inverse_spherical; } Here, we have taken our bluesphere and again, passed the implicit definitions along and included a new object called maptexture. maptexture takes two messages, a filename (all string types are enclosed within "") and a method. The method type is one of several predefined texturing methods. With what you seem to have in mind you could simply begin adding on more and more objects as you see fit. The specification would remain compatible with previous version, and also continue to have new features. Note, that the environment has not been defined as of yet. In my system it is always done first with the definition of a special object ENVIRONMENT. Comments? Suggestions? I am still developing this idea, and would appreciate comments. I like this method because (although verbose in some aspects), it is easy to construct complicated images, and it is easy to implement. while I was defining it, I was careful to keep implementation details in mind. Michael Kirby mpk9172@ritvax.bitnet (This works) mpk9172%ritcv@cs.rit.edu (this is a little flaky, but usually works) kirby.wbst128@xerox.com (never tried this one)