home *** CD-ROM | disk | FTP | other *** search
- OFF2TTDDD
-
- A program to perform conversion of 3D Objects
- between DEC's OFF and Glenn Lewis' TTDDD format
- for use with Impulse's Turbo Silver and Imagine
-
- Copyright © 1990 Udo Schuermann
- Freely Distributable
-
- 20-Dec-1990
-
-
- Legal Stuff
- ~~~~~~~~~~~
- OFF2TTDDD, although owned by Udo Schuermann, may be distributed
- freely. No fee may be charged for the software itself and only a
- nominal and reasonable charge may be applied to cover the cost of
- materials and the effort to transfer the software, including
- shipping.
- Permission is granted explicitly (but not exclusively) to Fred
- Fish to distribute OFF2TTDDD as part of his AmigaLibDisk
- collection.
-
-
- Shareware
- ~~~~~~~~~
- Shareware is a software distribution concept that can bring good
- software to a wide range of users for a fair and acceptable price
- because you don't have to pay for fancy boxes, printing fees,
- shipping and distribution costs, dealer overheads, and advertising
- expenses. Of course, you don't get copy protection either, but
- that is a cross you'll have to bear <grin!>
- Shareware, although distributed freely, is not free software.
- Using the software without paying for it is still stealing it, but
- you do get to try the software for a while before deciding if you
- want to keep it (and pay for it) or throw it out.
- OFF2TTDDD is shareware: If you make use of this program you
- should send me (the author) a $10 (US) registration fee. If YOU
- don't support your shareware authors, then who will???
-
-
- What is OFF2TTDDD?
- ~~~~~~~~~~~~~~~~~~
- OFF2TTDDD converts, as the name implies, three dimensional objects
- from DEC's OFF format to the Textual Three Dimensional Data
- Description used by Glenn Lewis' TTDDD program.
- The TTDDD program may then be used to translate OFF2TTDDD's
- output to the binary format that is used by Impulse's Turbo Silver
- and Imagine raytracing and animation software.
-
-
- What is DEC's OFF format?
- ~~~~~~~~~~~~~~~~~~~~~~~~~
- The OFF format developed at DEC by the WSE group defines both ASCII
- and binary methods for storing three dimensional objects in a
- portable manner. OFF2TTDDD uses only the ASCII version of such
- objects.
-
- What is TTDDD format?
- ~~~~~~~~~~~~~~~~~~~~~
- TTDDD is a Textual version of Impulse's TDDD (Three Dimensional
- Data Description). TTDDD describes objects (and scenes) in a human
- readable form, specifying points, edges, and faces (triangles) of
- objects as well as the attributes of individual faces. TTDDD
- provides for an easy way to create objects algorithmically using a
- custom program that outputs a TTDDD file. It also serves as an
- ideal method for OFF2TTDDD to convert objects without duplicating
- what TTDDD already does so well.
-
-
- So, what good will this OFF2TTDDD do me?
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- It is far more efficient to build upon the efforts of others, than
- to reinvent what hordes of others have already made available. If
- you require 3D objects in your modelling, animation, and/or ray-
- tracing work, you may find just the object you were looking for
- already created by someone else.
- Such is the goal of DEC's decwrl archive, which stores dozens of
- 3D objects in a format that is widely transferrable and is not tied
- to a particular application. To obtain more information about the
- decwrl archive, send an email message to the following internet
- address:
-
- object-archive-server@decwrl.dec.com
-
- Make sure that your Subject: line contains only the word
-
- help
-
- The archive is automated and will, provided it can figure out what
- you want, return a message with information to you.
-
-
- Where can I run OFF2TTDDD?
- ~~~~~~~~~~~~~~~~~~~~~~~~~~
- At this time, I have a release only for the Amiga computer. Since
- TDDD is specific to Impulse's software, which runs only on Amigas,
- I expect little problem with that.
-
-
- What do I need to convert objects with OFF2TTDDD?
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- For starters, you'll need an Amiga computer with at least 250K of
- contiguous free RAM (more or less). OFF2TTDDD requires this much
- because it allocates some large data structures in order to load
- objects, optimize duplicate edges, and create the TTDDD file. The
- "big" version of OFF2TTDDD will require almost 850K.
- It will probably help if you have an OFF file to convert (they're
- usually named with a .geom (geometry) and .pcol (polygon colors)
- extensions and can be obtained from the decwrl archive. Read above
- on how to obtain OFF files.
-
-
- Enough! How do I run this thing?
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- OFF2TTDDD expects its input from the console and writes its output
- to the console unless you either redirect input and/or output, or
- specify on the command line where input comes from and where output
- is to go to:
-
- Usage: OFF2TTDDD [ -i input ] [ -o output ] [ -e ] [ -f ] [ -l ]
-
- -i specify the input file.
-
- -e perform edge optimization. Edge optimization can cut down
- an object's size by merging duplicate edges into one. This
- will also speed up Silver's or Imagine's processing speed.
- The optimization phase, however, can be very time
- consuming, especially with large objects. Use the -l
- option to issue life signs.
-
- -o specify the output to create a new file but not overwrite
- existing files. To force overwriting of existing files,
- specify the -f parameter.
-
- -f force overwriting of existing files.
-
- -l show life signs while edge optimization is being performed.
-
-
- Examples: off2ttddd -icube -ocube.ttddd -e -l
- Reads cube.geom and cube.pcol and produces cube.ttddd
- with edges optimization. In addition, the program will
- show signs of life while it is optimizing edges.
-
- off2ttddd -ocube.ttddd -i cube
- Same thing, but it does not remove duplicate edges. Note
- here that the -i may be separated from its filename
- parameter by a blank, and that the order of the input and
- output parameters can be reversed.
-
- off2ttddd <cube.geom >cube.ttddd
- Reads only cube.geom because input comes from the
- console. All the object's polygons will become the
- default color, brightest white. Output once again goes
- to the file cube.ttddd. No edge optimation is performed.
-
- off2ttddd >cube.ttddd -i cube
- Reads both cube.geom and cube.pcol and outputs to
- cube.ttddd. Again, no edge optimization is performed.
-
- cat cube.geom cube.pcol | off2ttddd >cube.ttddd -e
- This example may not work for you, depending on your
- shell program. What this does is concatenates (cat) the
- input files cube.geom and cube.pcol pipes these into the
- input stream of OFF2TTDDD, which will produce cube.ttddd.
-
- Limitations
- ~~~~~~~~~~~
- OFF2TTDDD was compiled using SAS/C 5.10 under Workbench 1.3 to run
- on any Amiga computer.
- Two versions are distributed, one capable of reading 10,000
- points, 10,000 edges, and process 4,000 faces and their
- corresponding color attributes, and another able to handle 15,000
- points, 20,000 edges, and 10,000 faces. If you require a version
- that is capable of more than that, please contact me and I'll try
- to accommodate you.
- Filter and reflectivity are not implemented because I have not
- dug for them in the OFF documents as yet.
-
-
- Bugs
- ~~~~
- There is a problem with the optimization algorithm, which in a
- few cases, screws up. If WriteTDDD (Glenn Lewis') complains, or
- if the object looks all screwed up, it may be optimization.
- In a few cases, I have found that the problems seems to
- lie with the "OFF" object itself. I am still trying to figure
- that one out, but all these objects are huge and make a hand-trace
- extremely tiring :-(
- I want some of these objects very badly (which is why I
- wrote OFF2TTDDD in the first place) so you can expect me to
- continue looking for a solution to these problems.
- For now, stay away from the optimization if it causes you
- problems.
-
-
- Source Code
- ~~~~~~~~~~~
- If you wish to get the source from me please make this clear when
- you register. The source is not freely distributable because I'd
- like to continue having some control over it. If you fix bugs or
- add features, let me know, please! My preferred form of mailing,
- distributing, and bug collection is the internet. I hate snail
- mail.
- The source code is SAS/C 5.10 and should compile on most
- any system, since it's not Amiga specific, and I'm not using weird
- features.
-
-
- Miscellaneous
- ~~~~~~~~~~~~~
- OFF2TTDDD is my first Amiga program to be released widely, and I
- hope it will serve you well. I have every intention to improve it
- especially based on feedback and (gasp!) bug reports.
-
- If you use OFF2TTDDD, please register it with me. This will
- provide me with feedback and encouragement to write more software
- for the Amiga.
-
- Mail your feedback and (hopefully) your $10 (US) to:
-
- Udo Schuermann
- 11235 Oakleaf Drive, Apt. 1520
- Silver Spring, Maryland 20901 (USA)
-
- I can also be reached via email on the internet as:
-
- walrus@wam.umd.edu
-
- ._.
- ( )
-
-
- Thanks
- ~~~~~~
- I'd like to thank the following people who, each in their own
- capacity have inspired or helped me produce OFF2TTDDD:
-
- Randi J. Rost
- Digital Equipment Corporation
- Workstation Systems Engineering
-
- for the OFF document that I obtained from the decwrl archive
- which provided me with just about enough information to get
- OFF2TTDDD off the ground.
-
-
- Glenn M. Lewis
-
- for the TTDDD program, which provided me with an easy gateway
- into the Turbo Silver and Imagine object formats. Without his
- program I probably would never have had the incentive to even
- start OFF2TTDDD.
-
-
- Helge E. Rasmussen
-
- for pointing me at the decwrl archive which opened up so many
- possibilities and got me started.
-
- #EOT
-