Чтобы дать вам еще несколько вариантов библиотек:
Polyboolean. Я никогда не пробовал этот, но выглядит многообещающе: http://www.complex -a5.ru / polyboolean / index.html
General Polygon Clipper. Это очень хорошо работает на практике и выполняет триангуляцию, а также отсечение и отверстия: http://www.cs.man.ac.uk/~toby/alan/software/
Моя личная рекомендация: используйте тесселяцию из GLU (OpenGL Utility Library). Код надежен, быстрее чем GPC и генерирует меньше треугольников. Вам не нужен инициализированный OpenGL-дескриптор или что-то подобное, чтобы использовать библиотеку.
Если вам не нравится идея включения системных библиотек OpenGL в приложение DirectX, есть и решение: просто скачайте эталонный код реализации SGI OpenGL и снимите с него триангулятор. Он просто использует имена OpenGL-Typedef и полный набор перечислений. Вот и все. Вы можете извлечь код и создать автономную библиотеку за час или два.
В общем, мой совет - использовать то, что уже работает, и не начинать писать свою собственную триангуляцию.
Соблазнительно катиться самостоятельно, если вы читали об алгоритме срезания ушей или стреловидности, но факт в том, что алгоритмы вычислительной геометрии невероятно сложно написать так, чтобы они работали стабильно, никогда не падали и всегда возвращались значимый результат. Числовые ошибки округления накапливаются и убивают вас в конце.
Я написал алгоритм триангуляции на C для компании, с которой я работаю. Работа над основным алгоритмом заняла два дня. На то, чтобы заставить его работать со всеми типами вырожденных входов, потребовалось еще два года (я не работал над ним полный рабочий день, но поверьте мне - я потратил на это больше времени, чем следовало бы).