Share via


Função gluNurbsCurve

A função gluNurbsCurve define a forma de uma curva B-Spline Racional Não Uniforme (NURBS).

Sintaxe

void WINAPI gluNurbsCurve(
   GLUnurbs *nobj,
   GLint    nknots,
   GLfloat  *knot,
   GLint    stride,
   GLfloat  *ctlarray,
   GLint    order,
   GLenum   type
);

Parâmetros

nobj

O objeto NURBS (criado com gluNewNurbsRenderer).

nknots

O número de nós em nós. O parâmetro nknots é igual ao número de pontos de controle mais a ordem.

Uma matriz de nknots não indexando valores de nó.

Passo

O deslocamento (como um número de valores de ponto flutuante de precisão simples) entre pontos de controle de curva sucessivos.

ctlarray

Um ponteiro para uma matriz de pontos de controle. As coordenadas devem concordar com o tipo.

order

A ordem da curva NURBS. O parâmetro order é igual a grau + 1; portanto, uma curva cúbica tem uma ordem de 4.

tipo

O tipo da curva. Se essa curva for definida em um par gluBeginCurve/gluEndCurve , o tipo poderá ser qualquer um dos tipos de avaliador unidimensionais válidos (como GL_MAP1_VERTEX_3 ou GL_MAP1_COLOR_4). Entre um par gluBeginTrim/gluEndTrim , os únicos tipos válidos são GLU_MAP1_TRIM_2 e GLU_MAP1_TRIM_3.

Retornar valor

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

Comentários

Quando gluNurbsCurve aparece entre um par gluBeginCurve/gluEndCurve , ele descreve uma curva a ser renderizada. Associe coordenadas posicionais, de textura e de cor apresentando cada uma como um gluNurbsCurve separado entre um par gluBeginCurve/gluEndCurve . Não faça mais de uma chamada para gluNurbsCurve para dados de cor, posição e textura em um único par gluBeginCurve/gluEndCurve . Faça exatamente uma chamada para descrever a posição da curva (um tipo de GL_MAP1_VERTEX_3 ou GL_MAP1_VERTEX_4).

Quando gluNurbsCurve aparece entre um par gluBeginTrim/gluEndTrim , ele descreve uma curva de corte em uma superfície NURBS. Se o tipo for GLU_MAP1_TRIM_2, ele descreverá uma curva no espaço de parâmetro bidimensional (u e v). Se for GLU_MAP1_TRIM_3, ele descreverá uma curva no espaço de parâmetro homogêneo bidimensional (u, v e w). Para obter mais discussões sobre o corte de curvas, consulte gluBeginTrim.

Exemplos

As seguintes funções renderizam uma curva NURBS texturizada com normais:

gluBeginCurve(nobj); 
    gluNurbsCurve(nobj, ..., GL_MAP1_TEXTURE_COORD_2); 
    gluNurbsCurve(nobj, ..., GL_MAP1_NORMAL); 
    gluNurbsCurve(nobj, ..., GL_MAP1_VERTEX_4);  
gluEndCurve(nobj); 

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

gluBeginCurve

gluBeginTrim

gluEndCurve

gluEndTrim

gluNewNurbsRenderer

gluPwlCurve