Usando objetos Tessellation
Como um polígono complexo está sendo descrito e mosaicado, ele requer dados associados, como vértices, bordas e funções de retorno de chamada. Todos esses dados estão vinculados a um único objeto de mosaico. Para mosaico de um polígono, primeiro você usa a função gluNewTess que cria um novo objeto de mosaico e retorna um ponteiro para ele. Um ponteiro nulo será retornado se a função falhar.
Se você não precisar mais de um objeto de mosaico, poderá excluí-lo e liberar toda a memória associada com gluDeleteTess.
Você pode reutilizar um único objeto de mosaico para todas as suas mosaicos. Esse objeto só é necessário porque as funções de biblioteca podem precisar fazer suas próprias mosaicos e elas devem ser capazes de fazê-lo sem interferir em nenhuma mosaico que seu programa esteja executando. Vários objetos de mosaico também serão úteis se você quiser usar diferentes conjuntos de retornos de chamada para mosaicos diferentes. Normalmente, no entanto, você aloca um único objeto de mosaico e o usa para todas as mosaicos. Não há necessidade real de liberá-lo, porque ele usa uma pequena quantidade de memória. Por outro lado, se você estiver escrevendo uma função de biblioteca que usa mosaico GLU, tenha cuidado para liberar quaisquer objetos de mosaico criados.