Several models have developed smoothing problems, including at least one
that I originally did years ago.  The current 747-400 looks fantastic, by
the way, but it could look _a lot_ better with almost no effort.

About 5 or 6 years ago the AC3D developer added a "crease" parameter to the
ac3d file format.   This crease parameter defaults to 30 degrees.

This crease angle represents the angle between the normals of two adjacent
polygons.   For those who don't know, normals are lines that are
perpendicular to the face of a polygon projected in the direction where the
light is reflected (e.g. the non-transparent side).  You don't see them but
their coordinates are used during rendering.

Our model loader splits the connecting vertices if the angle between
adjacent normals is equal to or more than the crease setting (that defaults
to 30).  This creates the appearance of a sharp crease between the adjacent
polygons (actually triangles) in OpenGL.

This is helpful when you want a sharp edge.   Previously it would be
critical to split the vertices manually in ac3d if you wanted a crease to
show.

The default crease value in ac3d is a problem for fuselages in particular.
The default crease of 30 degrees is quite shallow.   Basically if you
default to 30 then a smooth curve on a fuselage requires a minimum of 4
polygons separating surfaces that are 90 degrees apart.  A lot of the models
just don't have that many polygons.  Even if they do have that many polygons
the shape of the fuselage can still lead to adjacent polygons whose normals
are over 29.99 degrees apart.  The result is a crease shows up where it
doesn't belong.

The whole crease concept really falls apart (this is a jab at ac3d) with
shapes like you'd have on a zeppelin or dh-82 where the creases go
lengthwise but the polygons that represent the curves should smooth.  The
crease feature in AC3D is convenient but it ultimately reduces the
flexibility some modelers think they have.  You can always set the crease to
180 and split your vertices manually.

We, in our loader, are defaulting the crease value to something like 60
degrees for the case where ac3d files do not contain crease data (most of
the older ones do not).  As these models are updated though,  all the crease
values are defaulted to 30 and suddenly creases start showing up where they
never were before.   The 747 for example, has a sharp line down the center
of the fuselage top and bottom as well as several undesirable creases
elsewhere.

For those who are modeling and are not bothering with setting the crease
value now (and letting it default to 30) I would strongly recommend removing
all the lines from the ac files that contain the word crease before
committing them to CVS.   I think you will really enjoy the improved
appearance of your work.

Best,

Jim
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to