Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cornell!rochester!rocksanne!bozo!kirby From: kirby@bozo.wbst128.xerox.com (Mike Kirby (co-op)) Newsgroups: comp.graphics Subject: Re: 3D object file formats Keywords: file formats, 3D Message-ID: <718@rocksanne.UUCP> Date: 14 Apr 89 16:15:40 GMT References: <30686@sgi.SGI.COM> Sender: news@rocksanne.UUCP Reply-To: kirby@bozo.UUCP (Mike Kirby (co-op)) Organization: WRC, XEROX Lines: 57 >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)