Поделиться через


Использование объектов Тесселяции

Когда сложный многоугольник описывается и тесселируется, необходимы связанные данные, такие как вершины, края и функции обратного вызова. Все эти данные привязаны к одному объекту тесселяции. Чтобы тесселлате многоугольник, сначала используйте функцию gluNewTess, которая создает новый объект тесселяции и возвращает указатель на него. Указатель null возвращается, если функция завершается ошибкой.

Если объект тесселяции больше не нужен, его можно удалить и освободить всю связанную с ним память с помощью gluDeleteTess.

Вы можете повторно использовать один объект тесселяции для всех ваших тесселяций. Этот объект необходим только потому, что функции библиотеки могут нуждаться в выполнении собственных тесселяций, и они должны иметь возможность делать это, не вмешиваясь в тесселяции, которые выполняются вашей программой. Несколько объектов тесселяции также полезны, если вы хотите использовать различные наборы обратных вызовов для различных тесселяций. Как правило, вы выделяете один объект тесселяции и используете его для всех тесселяции. Нет реальной необходимости освободить его, потому что он использует небольшой объем памяти. С другой стороны, если вы пишете функцию библиотеки, использующую тесселяцию GLU, будьте осторожны, чтобы освобождать создаваемые объекты тесселяции.