Thanx, to McC. That may be what I end up doing.
Further reservation I have is this:
My client already has his own wireframe display mechanisms, using old fashioned windows DC
techniques. Included in these are quite sound NURBS evaluators for curves, trimmed surfaces, and offset
surfaces. One advantage in going to OGL is shading, and one other main advantage for me is that for just
surface values all I need to do is define the surface, using gluNurbsSurface, and then tell OGL to go get it,
in a declarative fashion, sort of. To do the offset vertex by vertex, I have to write lots of procedural code,
and my client already has this. So much of the declarative value of OGL is lost for offset surfaces. I could
just as well write my own raytracing functions, and ignore OGL. What do you (or anyone) think about such
tradeoffs?
Actually, this all leads me to suspect that some group of users might profitably push for implementation of
offset surface capability on OGL. Perhaps even more, general “procedurally defined” surfaces (see
footnote). I recall that in a very old version of APT, a numerical control cutting system, circa 1970, there
was a feature where you could add your own surface evaluator. APT wasn’t even an object oriented system-
I don’t think object oriented concepts were well defined at the time. I, a man from yesterday, say that
certainly a generalized surfacing feature should not be difficult to add in today’s world. We don’t
necessarily need the full power of Fahrenheit. I also have some reservation about using Mesa and
modifying it, even though I have the skill, since then I have to support the modification, and my client is
not big enough to support it, either.
(footnote) I quail at the term “procedurally defined”, even though I was one of the first to use it. NURBS
things are “procedurally” defined. The order, cps, knots, stride, etc, themselves aren’t enough to be useful.
One needs an algorithm, a procedure- be it E.Lee, Cox- deBoor, or whatever. So, an evaluation of offsets is
just a little bit longer algorithm. I would allow that maybe there is a significant difference if I have to
evaluate an implicitly defined surface by iterative methods, where the procedure can’t tell in advance how
many cycles must be done before algorithm termination, or even whether the algorithm won’t ever
converge.
Marvin E Walden