POLY3D-H - 3d polygonal hidden line removal
BECAUSE POLY3D-H IS LICENSED FREE OF CHARGE, I PROVIDE ABSOLUTELY NO
WARRANTY, TO THE EXTENT PERMITTED BY APPLICABLE STATE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING, I GERSHON ELBER PROVIDE POLY3D-H PROGRAM "AS IS"
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT
NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
PROGRAM IS WITH YOU. SHOULD THE POLY3D-H PROGRAM PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL GERSHON ELBER,
BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY LOST PROFITS, LOST MONIES,
OR OTHER SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR A
FAILURE OF THE PROGRAM TO OPERATE WITH PROGRAMS NOT DISTRIBUTED BY GERSHON
ELBER) THE PROGRAM, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.
A program to remove hidden line of a given polygonal model. The
program does 4 passes over the input:
1. Preprocess and map all polgons in scene, and sort them.
2. Generating edges out of the polygonal model and sort them (preproceesing
for the scan line algorithm) into buckets.
3. Intersects edges, and split edges with non homogeneous visibility (the
scan line algorithm)
4. Visibility test of each edge.
This programs can handle CONVEX polygons only. See poly3d.doc,
Appendix A, for exact text format definition. From irit given object O,
issue the command 'O = convex(O);' to make sure object has convex polygons
only before dumping it out.
poly3d-h [-b] [-m] [-i] [-e #Edges] [-o Objects...] [-v ViewFile] [-z] DFiles
-b : BackFacing - if object is closed (such models dumped from irit solid
modeller), back facing polygons will be deleted, and therefore speed
up the process by at list factor of two.
-m : More - give some more information on the data file(s) parsed.
-i : Internal edges (created by IRIT) - default is not to display them, and
this option will force displaying them also.
-e n : # Edges to use from each given polygon (default all). Very handy to do
'-e 2' on data created from DRAWFN3D.
-o Object(s) : Objects to display (all by default). Object is the name as
appears after the OBJECT key word the data files
(do 'grep OBJECT datafile'...).
-v ViewFile : View file - file of the view matrix transformation
-z : Print version number and current defaults.
The program can be configured using a configuration file named poly3d-h.cfg.
This is a plain ascii file you can edit directly and set the parameters
according to the comments there. executing 'poly3d-h -z' will show the
current configuration as read from the configuration file. This file, in
msdos environment, can be in any directory which is in your path - the same
place as poly3d-h.exe is probably a good choice. In unix environment, this
file is searched in current directory, or if an environment variable IRIT_PATH
is set, it is assumed to hold the directory to look for the config file with
postfix '/' (i.e. 'poly3d-h.cfg' is simply appended to it.).
The program will use 80?87 (msdos only...) if it detects one - again uses
the Turbo C 80?87 autodetect, or will run (much!) slower without it...
As this program is not interactive, usage is quite simple, and only
control available is using the command lines options.
O.k. if you do have any question, suggestion, or even want to report a bug
feel free to send me email (see below)
Feel free to make copies of this program, and distribute them FREE of
charge, provided that all this package is distributed.
Gershon Elber[email protected]