blob: 0b6b624dd57f0d114be87e202c3abb47a6128e5e [file] [log] [blame]
This is a nearly verbatim copy of the GLU tessellator source code from
SGI's OpenGL Sample Implementation at
http://oss.sgi.com/projects/ogl-sample/ . Per
http://oss.sgi.com/projects/FreeB/ , the code is covered under the SGI
Free Software License B, version 2.0, a copy of which is in
LICENSE.txt in this directory.
The following changes were made in order to incorporate this code:
- The addition of a simplified gluos.h to eliminate operating system
dependencies. The entry points to the tessellator were prefixed with
Sk_ to avoid symbol collisions with any host OS version of GLU via
#defines in gluos.h.
- The removal of inclusion of GL/glu.h and replacement with an
include of sk_glu.h.
- In tess.c, the obsolete entry points gluBeginPolygon,
gluNextContour and gluEndPolygon in tess.c were #if 0'd out.
Default branches were added to the switch statements in GotoState.
- In memalloc.h, the include of malloc.h was changed to an include
of stdlib.h.
- In normal.c, an unused variable "w" was removed from
__gl_projectPolygon. #if guards were placed around the definition
of the unused Normalize function.
- In priorityq-heap.c, an #include of <limits.h> was added.
- In sweep.c, IsWindingInside() was given a return value to silence a
warning-as-error in release builds.
- In sweep.c, DoneEdgeDict()'s fixedEdges was wrapped in #indef NDEBUG, to
silence a warning-as-error in release builds.
- In priorityq.c, render.c, and others: the construct "if(1)...else" was
replaced with "do{...}while(1)" to silence a warning-as-error in Mac builds.
- rename all __gl_ functions to Sk__gl_ to avoid conflicting with other
static linkers of this library.