For a long time I was looking for a library capable of triangulating self-intersecting polygons or splitting them into
simple polygons . In the end, I settled on the libtess of the
GLU ES - in my case it is more convenient to connect with the mercurial subrepos a complete thirdparty library than roughly ruining and copying a piece of source code.
The GLU ES is the complete (as opposed to
iGLU )
GLU 1.3 port under OpenGL ES. The porting was done by Mikhail Gorchak, for which he thanks a lot!
The library is available under the
SGI FREE SOFTWARE LICENSE B license .
')
The library includes:
- Matrix operations: gluLookAt, gluPerspective, etc.
- Utilities for generating MIP-textures: gluScaleImage, gluBuild {1,2,3} DMipmaps, gluBuild {1,2,3} DMipmapLevels.
- In a military manner, a universal API for triangulating polygons, which, among other things, makes it possible to implement Boolean operations on polygons.
- Geometrical drawing utility utilities are gluSphere, gluCylinder, gluDisk, gluPartialDisk.
- API for triangulating or directly drawing NURBS surfaces.
- A small but pleasant trifle in the form of gluErrorString.
Unfortunately, the version on Google Code does not contain project files for building a project under iOS. Therefore, I forked the project and slightly modified it with a file. Fork is available on
bitbucket . Screenshots of test applications are
here , and the illustrated instructions for setting up a project are
here .
I plan to infuse my changes into the main branch, but so far I have not managed to get in touch with Mikhail.