Poligonos de mosaico
O OpenGL pode exibir diretamente apenas polígonos convexos simples. Um polígono é simples se:
- As bordas se cruzam somente em vértices.
- Não há vértices duplicados.
- Exatamente duas bordas se encontram em qualquer vértice.
Para exibir polígonos não coniventes simples ou polígonos simples contendo orifícios, primeiro você deve triangular os polígonos (subdividi-los em polígonos convexos). Essa subdivisão é chamada de mosaico. O GLU fornece uma coleção de funções que executam o mosaico. Observe que as funções de mosaico GLU não podem lidar com polígonos não simplificados; não há nenhum método OpenGL padrão para lidar com esses polígonos.
Como o mosaico geralmente é necessário e pode ser bastante complicado, esta seção descreve as funções de mosaico GLU em detalhes. Essas funções têm como entrada polígonos simples arbitrários que podem incluir orifícios e retornam alguma combinação de triângulos, malhas de triângulo e ventiladores de triângulo. Se você não quiser lidar com malhas ou ventiladores, poderá especificar que as funções de mosaico retornam apenas triângulos. No entanto, as informações de malha e ventilador melhoram o desempenho. As funções de mosaico de polígono triangulam um polígono côncavo com um ou mais contornos.
usar o de mosaico de polígono
Crie um objeto de mosaico com gluNewTess.
Use gluTessCallBack para definir funções de retorno de chamada que você usará para processar os triângulos gerados pelo mosaico.
Com gluBeginPolygon, gluTessVertex, gluNextContoure gluEndPolygon, especifique o polígono com orifícios ou o polígono côncavo a ser mosaicado.
Quando a descrição do polígono é concluída, o recurso de mosaico invoca suas funções de retorno de chamada conforme necessário.
Você pode destruir objetos de mosaico desnecessários com gluDeleteTess.
Para obter mais informações sobre como salvar os dados de mosaico, consulte Usando funções de retorno de chamada.