A simple sphere, displayed in shaded mode.
Wireframe models are displayed in the color specified for the outside
of the model.
The Java version of RoffView allows separate specification of the alpha
channel for a transparency effect.
The Painter's Algorithm painting, although not perfect, provides
reasonable results in most cases.
With transparency on, the polygons behind the foremost polygons
can be seen through the model.
Point display mode allows complex models to be very quickly
rotated and zoomed, because fewer calculations need to be made
per frame. This model contains 5,749 verticies.
Wireframe display mode shows the full model, although it is
noticably slower for models this large. This model contains 4,983
polygons, with 20,203 edges. RoffView trims out duplicated edges,
so only the 10,704 unique edges in the model need to be drawn.
Flat shaded display mode tessellates the model into triangles, illuminates
each triangle separately, and paints the triangles from back to
front. The tessellated mesh created by the C++ and Java versions for this
model consists of 10,237 triangles. This image shows the flaws in the
simplistic tessellation method used by the C++ and Java versions. The
"solar panel" fins on the lower end have been filled in by error, because
the polygons that form their outside edges cannot be correctly handled by
the algorithm used.
The OpenGL version of RoffView uses the OpenGL tessellator, which can
correctly handle the "solar panel" polygons. Gouraud (smooth)
shading is also shown in this image.
The control dialog for setting the parameters for the Phong illumination
model used to illuminate the model. The preview panel is raycast, and
updates dynamically as settings are changed.
When viewing a wireframe with hidden lines removed, every triangle
from the tessellation, from back to front, is painted in the background
color, then outlined in the color the triangle would have been filled
with in shaded mode. This erases obscured triangles, leaving the
appearance of a wireframe without any hidden lines. This image also
demonstrates the anti-aliasing functionality, using Java's built-in
This image is an example of an OFF file with per-vertex colors specified
in the file. It is displayed in RoffViewGL with lighting disabled, and
backward facing faces culled. Smooth shading blends the per-vertex colors
within the faces. The vertex colors in the file were calculated using
radiosity techniques, in a different program.
This image shows the effect of combining the lighting with a
radiosity-calculated per-vertex colored OFF file. The effect
is quite pretty, although not very realistic.
Return to RoffView's Main Page