From: georgef@endeavor18.wv.tek.com (George Forman = GHF) Subject: TECH: OIFF an object interchange file format Date: Fri, 21 Aug 92 15:18:02 PDT I have a few suggestions for OIFF: 1. You might include a version # in the header. This will probably save grief later. 2. In the 2-D world, people have found it very useful to include a bounding box in the Postscript files. This saves scanning the whole thing to find out if it's in the field of vision or whatever. Also aids scaling-- suppose I want to put Jim's world in a shoebox on my shelf. 3. Perhaps some notion of subroutines could be incorporated to reduce data size. A 1 page description in a slightly higher level graphics language can produce a scene filled with 1000s of polygons. The OIFF files will blow up geometrically-- each of the 40 houses each have 15 boxes which each have 6 sides. A very low-level OIFF will have to represent an awful lot of data, but a slightly higher-level OIFF can be much smaller. I suggest such simple languages as found in computer graphics course textbooks. 4. The file could specify the 6 light reflecting characteristics of a flat surface (RGB reflected & RGB diffuse) & let the *user's* display program decide whether to just quickly use a flat color model (just using the first 3 numbers), or to produce a beautifully lighted model using all 6. To save space, suggest that the OIFF define a color map which the polygons then use by reference. In the future, this color map could become sophisticated w/ texture & tiling information. You certainly wouldn't want each polygon to have to specify all this information explicitly each time-- takes a lot of polygons of the same color to make a blue tree. These are probably frills for the second version. 5. Suggest making the file more readable & printable. Right now it seems extremely vertical-- could waste a lot of printer paper. Wouldn't hurt to use a tab character between components of a vertex & newline after each vertex, or commas and tabs. 6. I'm not so certain that things should be broken up according to the 5 senses: SOUN,VISI,HAPT,OLFA,TAST. Yes, it's stable over centuries, but I'd think it'd be better to break things up according to the virtual devices on which they are to be displayed. The 3-D world device (probably HUD, but perhaps not.), a much higher quality 2-D device (for text, explanations, detailed menus, high-resolution pictures etc. which won't work well on HUD), general room lighting device (RGB diffuse light? Strobe?), pack vibrator, floor vibrator, room heater...? Good luck, GHF