packages icon
Read the Q_and_A file for information concerning the x3d 2.0 .obj file format
and how .obj files were generated.  The ./hull directory contains a conversion
utility to make .obj files.

To compile, just type:


If the Makefile does not work try the following:

cc -o x3d x3d.c -lX11 -lm

Tweaking the compiling of x3d helps it run MUCH faster on most systems
Read the manual pages for your compiler and try its optimization flags.
(Look at the Makefile and set some system dependent flags)

After compiling the program try viewing an object by typing:

x3d xwing.obj

once the programs starts up a help menu is available by pressing the "M" key.  

Some of the changes to x3d for version 2.0 or later are:

1) Support multiple colors for the non-stereo modes (i.e. you can have a
flyer with orange propellers, gray wings, and various parts other colors).

2) A new hull utility that understands polygons.  For each polygon in the object
it takes a list of points that live in the same plane, calculates the convex
hull of the points, then writes out the new .obj file for the object.  

3) Slightly better optimized rotate, project, clip routines

4) Hidden line / Hidden surface display modes

Hopefully the following will be added soon:

1) A -wave option which causes waves to travel through the object.  I
displace the Z coordinate according to a functions of a points X value, Y
value, and time.

2) A better user interface with buttons and menus.

3) New non-buggy fast hidden surface and hidden line algorithms 

Enjoy the program!

Note:   Additional objects have been acquired from various sources that
are now being used with this program.  Some of them are copyrighted, but all are
freely distributable.  A comment at the beginning of each object file describes
its initial origin before being converted to an x3d object. 

Please send comments, suggestions (especially if you have optimization ideas),
and bug reports to:


Mark Spychalla
University of Wisconsin - Madison