- PVSM.RU - https://www.pvsm.ru -

GLU ES — порт GLU 1.3 под OpenGL ES

GLU ES — порт GLU 1.3 под OpenGL ES
Я достаточно долго искал библиотеку способную триангулировать самопересекающиеся многоугольники или разбивать их на простые многоугольники [1]. В конце концов я остановился на libtess в составе GLU ES [2] — в моем случае удобнее подключить с помощью mercurial subrepos цельную thirdparty-библиотеку, чем грубо выдрать и скопировать кусок исходников.

GLU ES является полным (в отличии от iGLU [3]) портом GLU 1.3 [4] под OpenGL ES. Портирование осуществлено Горчак Михаилом, за что ему огромное спасибо!

Библиотека доступна под лицензией SGI FREE SOFTWARE LICENSE B [5].

Библиотека включает в себя:

  1. Операции с матрицами: gluLookAt, gluPerspective и др.
  2. Утилиты для генерации MIP-текстур: gluScaleImage, gluBuild{1,2,3}DMipmaps, gluBuild{1,2,3}DMipmapLevels.
  3. По-военному универсальное API для триангуляции многоугольников, которое в том числе позволяет реализовать булевские операции над многоугольниками.
  4. Утилиты рисования геометрических прмитивов — gluSphere, gluCylinder, gluDisk, gluPartialDisk.
  5. API для триангуляции или непосредственной отрисовки NURBS-поверхностей.
  6. Маленькую но приятную мелочь в виде gluErrorString.

К сожалению, версия на Google Code не содержит проектных файлов для сборки проекта под iOS. Поэтому я форкнул проект и немного доработал его напильником. Форк доступен на bitbucket [6]. Скриншоты тестовых приложений — тут [7], а иллюстрированная инструкция по настройке проекта — здесь [8].

Я планирую влить свои изменения в основную ветку, но мне пока не удалось выйти на связь с Михаилом.

Автор: kjam


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/ios/13394

Ссылки в тексте:

[1] простые многоугольники: http://en.wikipedia.org/wiki/Simple_polygon

[2] GLU ES: http://code.google.com/p/glues/

[3] iGLU: http://code.google.com/p/iphone-glu/

[4] GLU 1.3: http://opengl.org/registry/doc/glu1.3.pdf

[5] SGI FREE SOFTWARE LICENSE B: http://code.google.com/p/glues/source/browse/trunk/glues/LICENSE

[6] bitbucket: http://bitbucket.org/nickolas_pohilets/glues

[7] тут: https://bytebucket.org/nickolas_pohilets/glues/wiki/Screenshots

[8] здесь: https://bitbucket.org/nickolas_pohilets/glues/wiki/XCodeProjectConfig