home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 28
/
amigaformatcd28.iso
/
-seriously_amiga-
/
graphics
/
3dto3d
/
readme
< prev
next >
Wrap
Text File
|
1998-05-09
|
13KB
|
527 lines
3Dto3D
a little 3D to 3D Format Converter Version 3.0
by Thomas Baier
March 1998
Compuserve: 100527,3011
Internet : thbaier@ibm.net
WWW: http://ourworld.compuserve.com/homepages/thbaier
Copyright by Thomas Baier
Version 1.0 and later of 3Dto3D are Shareware and may be distributed
freely, provided that you leave this documentation file in the
archive. Note that this program is fully functional.
If you enjoy this program, use it frequently, and can afford to pay
a registration fee, then send $20 to:
Thomas Baier
Ammerseestr.9
85551 Kirchheim
Germany
Please include your name and mailing address.
With this registration you help me improve 3dto3d. With registration you
can expect a prompt response on questions or bugs. Thanks.
This program is a little utility to convert 3D files to a number of
other 3D formats. It can generate smooth triangles for those formats
that support it, allowing you to specify the angle under which the
faces should be smoothed.
NOTE TO SOURCECODE
This program was developed on a INTEL platform. If you want to build
versions for other plattforms than DOS/Windows95 or WindosNT,
please keep attention !!!
Please keep in mind, that INTEL platforms use IEEE floating format.
If you have problems, bugs or suggentions please send me a mail.
Thanks to my brother Bernhard. He made this distribution possible.
Source code obfuscation done by COBF (bernhard.baier@ibm.net)
Thanks.
Any modifications of the source modules prohibited!
CONTENT
README this file
a*.cc C++ source modules
*.h needed header files
Makefile Makefile for Linux / GCC 2.7 or better
Please modify for other unices!
3dto3d Linux ELF executable for 486+ machines
chess.raw sample file for 3dto3d
INPUT
This version supports the following input formats:
- *.RAW
Simple RAW format in the form: pnt0 pnt1 pnt2
Multiple objects are supported if the file is in the form:
NAME_OBJECT1
pnta00 pnta01 pnta02
pnta10 pnta11 pnta12
pnta20 pnta21 pnta22
...
NAME_OBJECT2
pntb00 pntb01 pntb02
pntb10 pntb11 pntb12
pntb20 pntb21 pntb22
...
see chess.raw for an example.
- *.3DS/*.PRJ
Binary mesh format for 3D Studio (Trademark ...)
only objects with faces are supported
Splitting by texture surfaces is supported
- *.IOB/*.OBJ
Binary mesh format for Imagine 2.x/3.x (Trademark ...)
only objects with faces are supported
Tip: If you have a object generated in the form - editor, load it
into the detail editor, select it, use the "merge" command and
save it as a ".obj" file. Now the object is ready for converting.
Tip: If you have object files with the extension .iob (Amiga
extension ??) rename it to ".obj".
- *.LWO
Binary mesh format for Lightwave
Splitting by texture surfaces is supported
- *.DXF
Well known interchange format of Autodesk
Objects by layer or color are supported
- *.POB
POV-Ray binary scene format
Only sets of triangles or meshes supported
OUTPUT
This version supports the following output formats:
- *.RAW
The converter can generate a smooth RAW from an unsmoothed
RAW and vice versa.
- *.UDO/*.INC
Userdefined Object format for Moray V2.x and a inc file for
POVRAY2.2 or 3.0 or POLYRAY.
The converter writes a UDO file and a corresponding POV-Ray or
Polyray include file, generating triangles (poly's) and
smooth_triangles (patches). Use the /e parameter to reduce
the edge count if you are getting too many edges in the UDO file.
A value of /e5 will retain just about all edges that are not coplanar.
A value of /e60 will throw out lots of edges and retain only pretty
sharp contours.
Additional wired and wired/blobby output for povray is supported
- *.ASC
ASCII object format for 3D Studio. Hidden edges are supported
- *.OBT
ASCII object format for Highlight Pro
- *.RPL
ASCII object macro format for Real 3D. (Version 3.12)
- *.3DS
Binary object format for 3D Studio. Hidden edges are supported
- *.IOB/*.OBJ
Binary object format for Imagine.
Hidden edges (Quick edges) and smoothing (Sharp Edges) are supported
- *.RWX
ASCII objectformat for RenderWare
- *.WRL
ASCII objectformat for VRML 1.0
- *.DXF
ASCII objectformat for Autocad DXF, output with 3DFACE or POLYLINE
- *.LWO
Binary mesh format for Lightwave
- *.X
Direct X ASCII format for Mircrosoft
- *.OBJ
Binary meshformat for Real 3D
If inputtype and outputtype are the same, $$$ is used as filename.
Usage:
3dto3d xxxx [options]
Example:
3dto3d chess /oe20 /ot3
Options:
/ifvalue (value = Inputtype)
value = 0 RAW (default)
- Supported switches:
/iv
/iu
/it
/ix
value = 1 3DS (3D Studio)
- reads *.3ds and *.prj
- Could split every object by surfaces
- Supported switches:
/iv
/iu
/it
/ix
/imvalue:
value = 0 => no split
value = 1 => split by surfaces
value = 2 OBJ (Imagine)
- Supported switches:
/iv
/iu
/it
/ix
value = 3 LWO (Lightwave)
- Supported switches:
/iv
/iu
/it
/ix
/imvalue:
value = 0 => no split
value = 1 => split by surfaces
value = 4 DXF <AutoCad Object>
- supports objects by layer or color
- Supported switches:
/iv
/iu
/it
/ix
/imvalue:
value = 0 => Objects by Layer
value = 1 => Objects by Color
value = 5 POB <Povray Binary>
- recognizes only triangles and meshes
- Supported switches:
/iv
/iu
/it
/ix
/iv(Verbose on)
- gives status messages on the progress of the conversion
/iu(Unify Mesh on)
- changing all normal vectors pointing outside
/itvalue (value = Swapmode)
value = 0 normal (default);
value = 1 swap X <-> Y;
value = 2 swap X <-> Z
value = 3 swap Y <-> Z
- swaps axis
/ixvalue (val = sizingvalue, default 1.0)
- sizes the mesh.
values from 0.0 to 1.0 shrink the mesh
values greater than 1.0 enlarg the mesh
negative values mirror the mesh
/imvalue (value = Mode)
- mode has different meaning depending on
import format
/ofvalue (value = Outputtype)
value = 0 RAW
- makes a pure RAW file for testing
form: pnt0 pnt1 pnt2
- Supported switches:
/ov
/ou
/ot
/ox
val = 1 Smoothed RAW
- makes a smoothed Raw file
form: pnt0 norm0 pnt1 norm1 pnt2 norm2
- Supported switches:
/ov
/ou
/ot
/ox
/os
val = 2 UDO + POV/INC <Moray/Povray>(default)
- makes a POVRAY include File with triangles
and a MORAY UDO file
- Supported switches:
/ov
/ou
/ot
/ox
/os
/oe
val = 3 UDO + POLY/INC <Moray/Polyray>
- makes a POLYRAY include File with triangles
and a MORAY UDO file
- Supported switches:
/ov
/ou
/ot
/ox
/os
/oe
val = 4 ASC <3DStudio>
- makes a 3DStudio ASC file
- /e affects hiding edges for better viewing
- Supported switches:
/ov
/ou
/ot
/ox
/os
/oe
val = 5 OBT <HighLight>
- makes a HighLightPro OBT file
(multible objects are converted to
multible files, f00000, f00001, ...)
- Supported switches:
/ov
/ou
/ot
/ox
val = 6 RPL <Real3D Macro>
- makes Real3D RPL file, ASCII Macro
- Supported switches:
/ov
/ou
/ot
/ox
val = 7 3DS <3DStudio>
- makes a 3DStudio binary file
- /e affects hiding edges for better viewing
- Supported switches:
/ov
/ou
/ot
/ox
/os
/oe
val = 8 UDO + POV/INC <Moray/Povray>(wire)
- makes a POVRAY include File
and a MORAY UDO file
For every edge in the object a cylinder
and for every vertex a sphere is output
The radius is controlled via /r
/r1.0 for radius 1.0
Can be used to make a 'real' wireframe object
- Supported switches:
/ov
/ou
/ot
/ox
/os
/oe
/or
val = 9 UDO + POV/INC <Moray/Povray>(blobbywire)
- makes a POVRAY include File
and a MORAY UDO file
For every edge in the object a line of blobs
and for every vertex a blob is output
The radius and the spacing is controlled via /r
/r1.0 for radius 1.0
- Supported switches:
/ov
/ou
/ot
/ox
/os
/oe
/or
val = 10 OBJ <Imagine Object>
- makes a Imagine binary file
- /e affects hiding edges for better viewing
(Quickedges)
- /s affects smoothing edges for better viewing
(Sharpedges). A low value makes more edges sharp.
- Supported switches:
/ov
/ou
/ot
/ox
/os
/oe
val = 11 RWX <RenderWare Object>
- makes RenderWare object file, ASCII
- Supported switches:
/ov
/ou
/ot
/ox
val = 12 WRL <VRML 1.0 Object>
- makes VRML object file, ASCII
- Supported switches:
/ov
/ou
/ot
/ox
val = 13 DXF < Autocad DXF Object>
- makes DXF object file, ASCII
- Supported switches:
/ov
/ou
/ot
/ox
/imvalue:
value = 0 => 3DFACE
value = 1 => POLYLINE
val = 14 LWO < LWO Lightwave Object>
- makes LWO object file and a Lightwave Scene file
(multible objects are converted to
multible files)
- Supported switches:
/ov
/ou
/ot
/ox
/os
val = 15 UDO + POV3/INC <Moray/Povray>
- makes a POVRAY 3.0 include File with triangles
and a MORAY UDO file
- Supported switches:
/ov
/ou
/ot
/ox
/os
/oe
val = 16 Direct X <Microsoft>
- makes a Direct 3D X file, smoothing is supported
- Supported switches:
/ov
/ou
/ot
/ox
/os
val = 17 OBJ <Real3D Object>
- makes a Real 3D binary object file
- Supported switches:
/ov
/ou
/ot
/ox
/osvalue (value = Smoothing Angle in degrees, default 70.0ø)
- smoothes tri's with a normal angle below value
/oevalue (value = Edge Detect Angle in degree, default 1.0ø)
- throws out edges with an angle below value
/orvalue (value = radius for wireframe objetcs, default 1.0)
/ov(Verbose on)
- gives status messages on the progress of the conversion
/ou(Unify Mesh on)
- changing all normal vectors pointing outside
/otvalue (value = Swapmode)
value = 0 normal (default);
value = 1 swap X <-> Y;
value = 2 swap X <-> Z
value = 3 swap Y <-> Z
- swaps axis
/oxvalue (val = sizingvalue, default 1.0)
- sizes the mesh.
values from 0.0 to 1.0 shrink the mesh
values greater than 1.0 enlarg the mesh
negative values mirror the mesh
/omvalue (value = Mode)
- mode has different meaning depending on
export format
History
Version 3.0
- 3dto3d, 3DWin and 3DWinOGL share same source of fileformats
- Direct X added
- Real 3D added
- DXF added
- POB added
- lots of improvements
Version 1.7
- Strang memory bug fixed during loading lwo files
- lwo output implemented
Version 1.6
- Support for Lightwave objects added
- Bug with imgine naming fixed (imagine writes zero name)
- Better obt (Highlight) support. Multible Objects are
converted to multible files in the form f00000.obt, f00001.obt
- Imagine 2.0/3.0/4.0 limits object size to 32767 vertics or edges
or faces.
Version 1.5
- DXF (Autocad) output supported (/o13)
Version 1.4
- OBJ (Imagine) output supported (/o10)
- Quickedges support (hidden edges in meshes) for 3ds and obj (/e)
- mesh sizing (/x)
- mesh unifing (/u)
- SharpEdges (smoothing) support for obj (/s)
- NT console compile (3dnt3d.exe)
- RWX (RenderWare) output supported (/o11)
- WRL (VRML 1.0) output supported (/o12)
Version 1.3
- bugfix for raw input
Version 1.2
- blobby wire
Version 1.1
- improved 3ds import
Version 1.0
- first public release