Usando curvas e superfícies nurbs
As funções nurbs (b-spline racional) não uniformes fornecem descrições gerais e poderosas de curvas e superfícies em duas e três dimensões, convertendo as curvas e superfícies em avaliadores OpenGL. As funções NURBS podem representar geometria em muitos sistemas de design mecânicos auxiliados por computador. Eles podem renderizar curvas e superfícies em uma variedade de estilos e podem lidar automaticamente com subdivisões adaptáveis que mosaicam o domínio em triângulos menores em regiões de alta curvatura e bordas próximas à silhueta. As funções NURBS se enquadram nas categorias a seguir.
Para gerenciar um objeto NURBS, use:
- gluNewNurbsRenderer (criar um objeto NURBS)
- gluDeleteNurbsRenderer (exclui um objeto NURBS)
- gluNurbsCallback (estabelece uma função de tratamento de erros)
Para especificar as curvas desejadas, use:
Para especificar as superfícies desejadas, use:
Você também pode especificar uma região de corte, que define um subconjunto do domínio de superfície NURBS a ser avaliado para que você possa criar superfícies que tenham limites suaves ou que contenham buracos.
Para especificar a região de corte, use:
Assim como acontece com objetos quadráticos, você pode controlar como as curvas e superfícies NURBS são renderizadas. Você pode determinar:
- Se deseja descartar uma curva ou superfície cujo poliedro de controle está fora do visor atual.
- O comprimento máximo (em pixels) das bordas dos polígonos usados para renderizar curvas e superfícies.
- Se você usará a matriz de projeção, a matriz de modelview e o visor do servidor OpenGL ou fornecerá-os explictly com gluLoadSamplingMatrices.
Use gluNurbsProperty para definir essas propriedades ou use os valores padrão. Você pode consultar um objeto NURBS sobre seu estilo de renderização com gluGetNurbsProperty.