Compartilhar via


Função gluTessProperty

A função gluTessProperty define a propriedade de um objeto de mosaico.

Sintaxe

void WINAPI gluTessProperty(
   GLUtesselator *tess,
   GLenum        which,
   GLdouble      value
);

Parâmetros

Tess

O objeto de mosaico (criado com gluNewTess).

Que

O valor da propriedade a ser definido. Os seguintes valores são válidos: GLU_TESS_WINDING_RULE, GLU_TESS_BOUNDARY_ONLY e GLU_TESS_TOLERANCE.

Valor Significado
GLU_TESS_WINDING_RULE
Determina quais partes do polígono estão no interior. O parâmetro value pode ser definido como um dos seguintes: GLU_TESS_WINDING_ODD, GLU_TESS_WINDING_NONZERO, GLU_TESS_WINDING_POSITIVE, GLU_TESS_WINDING_NEGATIVE ou GLU_TESS_WINDING_ABS_GEQ_TWO.
Para entender como a regra de enrolamento funciona, primeiro considere que os contornos de entrada particionam o plano em regiões. A regra de enrolamento determina quais dessas regiões estão dentro do polígono.
Para um C de contorno único, o número sinuoso de um ponto x é simplesmente o número assinado de revoluções que fazemos em torno de x à medida que viajamos uma vez ao redor de C (onde o anti-horário é positivo). Quando há vários contornos, os números sinuosos individuais são somados. Este procedimento associa um valor inteiro com sinal a cada ponto x no plano. Observe que o número sinuoso é o mesmo para todos os pontos em uma única região.
A regra de enrolamento classifica uma região como "interna" se seu número sinuoso pertencer à categoria escolhida (valor ímpar, diferente de zero, positivo, negativo ou absoluto de pelo menos dois). O mosaico GLU anterior (antes do GLU 1.2) usou a regra "ímpar". A regra "diferente de zero" (GLU_TESS_WINDING_NONZERO) é outra maneira comum de definir o interior. As outras três regras (GLU_TESS_WINDING_POSITIVE, GLU_TESS_WINDING_NEGATIVE GLU_TESS_WINDING_ABS_GEQ_TWO) são úteis para operações de CSG de polígono.
GLU_TESS_BOUNDARY_ONLY
Especifica um valor booliano (valor definido como GL_TRUE ou GL_FALSE). Quando você define o valor como GL_TRUE, um conjunto de contornos fechados que separam o interior e o exterior do polígono é retornado em vez de um mosaico. Contornos externos são orientados no sentido anti-horário em relação ao normal; os contornos interiores são orientados no sentido horário. Os retornos de chamada GLU_TESS_BEGIN e GLU_TESS_BEGIN_DATA usam o tipo GL_LINE_LOOP para cada contorno.
GLU_TESS_TOLERANCE
Especifica uma tolerância para mesclar recursos para reduzir o tamanho da saída. Por exemplo, dois vértices muito próximos um do outro podem ser substituídos por um único vértice. A tolerância é multiplicada pela maior magnitude de coordenada de qualquer vértice de entrada; especifica a distância máxima que qualquer recurso pode mover como resultado de uma única operação de mesclagem. Se um único recurso participar de várias operações de mesclagem, a distância total movida poderá ser maior.
A mesclagem de recursos é completamente opcional; a tolerância é apenas uma dica. A implementação é livre para mesclar em alguns casos e não em outros ou nunca mesclar recursos. A tolerância padrão é zero.
A implementação atual mescla vértices somente se eles forem exatamente coincidentes, independentemente da tolerância atual. Um vértice será spliced em uma borda somente se a implementação não puder distinguir em qual lado da borda o vértice está. Duas bordas são mescladas somente quando ambos os pontos de extremidade são idênticos.

value

O valor da propriedade indicada.

Retornar valor

Essa função não retorna um valor.

Comentários

A função gluTessProperty controla as propriedades armazenadas em um objeto de mosaico. Essas propriedades afetam a maneira como os polígonos são interpretados e renderizados.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho
Glu.h
Biblioteca
Glu32.lib
DLL
Glu32.dll

Confira também

gluGetTessProperty

gluNewTess