ShellyLib is able generate files in the following formats:
"BEZ"
/ "POV"
,
Bezier Patches,
Does not work in Nodule-mode! For Nodule-mode use "RAW"
and RAW2POV.
"RPL"
, executable RPL-macro,
creates a B-Spline-mesh in Normal-mode/GenCurve-mode or a
Triset (triangles) in Nodule-mode.
"RIB"
,
RenderMan Interface Bytestream creates NURBS. Does not work
in Nodule-mode.
"3DM"
/ "3DN"
,
3D MetaFile (ASCII) NURBS ("3DN"
) or triangles ("3DM"
), NURBS
do not work in Nodule-mode.
"DXF"
/ "DXC"
/ "DXP"
,
B-Splines ("DXF"
), PolyFace-Meshes ("DXP"
)
or 3DFaces ("DXC"
), "DXF"
and "DXP"
do not work in
Nodule-mode.
"T3D"
,
triangle mesh, Note, that Imagine cannot directly read these
files, convert them from ASCII to binary using T3DLib first.
"RAW"
, triangles,
"TSP"
,
triangles
"SCD"
/ "SCB"
,
contains a triangle mesh ("SCD"
)
or Bezier patches ("SCB"
),
"SCB"
does not work in Nodule-mode.
"X3D"
, triangles,
For fast previewing (wireframe) using X11.
For more information regarding compatibility issues
(will program xy read the file?) refer to the compatibility
section of the ShellyLib Home Page:
"http://www.shelly.de/"
.
ShellyLib allows you to save the generated shells in a variety of different representations, depending on the output format you have choosen (and sometimes additionally from the calculation mode). It is important to know some things about the different surfaces, and how they are generated:
"POV"
or "SCB"
output mode.
POVRay and SCED do only allow patches that contain 16 controlpoints,
four in each direction. Bezier surfaces interpolate only the four
controlpoints on the corners of the patch. Hence, it is not possible
to simply write Bezier-patches in a way that each point calculated by
the shell generator becomes a controlpoint of the Bezier-patches.
This would result in discontinuities and even holes at patch
boundaries.
Instead, new controlpoints have to be calculated
so that the transition between two patches is smooth. For each four
points of the original data from the shell generator a Bezier-patch
with 16 controlpoints is being calculated. This may
increase filesizes considerably!
All generated points at the boundaries of the shell
will be discarded.
All other points generated by ShellyLib will be
interpolated by the resulting surface. The algorithm used to
calculate the controlpoints may deliver bad results in highly curved
regions (thin long nodules, for example).
You need to generate atleast four points in each direction to write
a file in "POV"
or "SCB"
format!
Even though a single Bezier-patch is built from four generated points,
atleast 16 points are needed to write a single patch (four in each
direction).
This is because the calculation of the controlpoints of the Bezier-patch
needs information about the surrounding patches."RPL"
output mode if ShellyLib
is in Normal-mode or GenCurve-mode.
The resulting surface does not interpolate any generated points,
and is much smoother than the Bezier-output.
You can make Real3D interpolate the outer points of the
mesh using "triple ends"
in the "Modify/Freeform"
menu (of Real3D, that is).
It may be necessary to increase the length of nodules (parameter
"L:"
, "L2:"
and "L3:"
) to achieve proper nodule heights."RIB"
output mode if ShellyLib
is in Normal-mode or GenCurve-mode.
The resulting surface does only interpolate all the endpoints
of the surface in S-direction. This is achieved by high knotvalues
for these points. This has been done to ease the work with the
generation curve editor (see section
The Generation Curve Editor). This way
start and end point of the specified generation curve are touched
by the surface. The endpoints in O-direction are not interpolated
in order to achieve a smooth round surface.
Atleast four points in each direction are needed.
The shells rendered with GLU-NURBS and the shells rendered using
the "RIB"
output should look exactly the same.