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


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

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

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

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