glMap2f fonction)
Les fonctions glMap2d et glMap2f définissent un évaluateur à deux dimensions.
Syntaxe
void WINAPI glMap2f(
GLenum target,
GLfloat u1,
GLfloat u2,
GLint ustride,
GLint uorder,
GLfloat v1,
GLfloat v2,
GLint vstride,
GLint vorder,
const GLfloat *points
);
Paramètres
-
cible
-
Type de valeurs générées par l’évaluateur. Les constantes symboliques suivantes sont acceptées.
Valeur Signification - Map2 du GL- _ _ vertex _ 3
Chaque point de contrôle est trois valeurs à virgule flottante représentant x, y et z. Les commandes glVertex3 internes sont générées lorsque le mappage est évalué. - Map2 du GL- _ _ vertex _ 4
Chaque point de contrôle est quatre valeurs à virgule flottante représentant x, y, z et w. Les commandes glVertex4 internes sont générées lorsque le mappage est évalué. - _Index map2 _ GL
Chaque point de contrôle est une valeur à virgule flottante unique représentant un index de couleurs. Les commandes glIndex internes sont générées lorsque le mappage est évalué. Toutefois, l’index actuel n’est pas mis à jour avec la valeur de ces commandes glIndex . - Map2 GL- _ _ couleur _ 4
Chaque point de contrôle est quatre valeurs à virgule flottante représentant le rouge, le vert, le bleu et l’alpha. Les commandes glColor4 internes sont générées lorsque le mappage est évalué. La couleur actuelle n’est toutefois pas mise à jour avec la valeur de ces commandes glColor4 . - Map2 GL- _ _ normal
Chaque point de contrôle est trois valeurs à virgule flottante représentant les composants x, y et z d’un vecteur normal. Les commandes glNormal internes sont générées lorsque le mappage est évalué. Toutefois, la normale actuelle n’est pas mise à jour avec la valeur de ces commandes glNormal . - _Repère de _ texture map2 GL _ _ 1
Chaque point de contrôle est une valeur à virgule flottante unique représentant la coordonnée de texture s . Les commandes glTexCoord1 internes sont générées lorsque le mappage est évalué. Toutefois, les coordonnées de texture actuelles ne sont pas mises à jour avec la valeur de ces commandes glTexCoord . - _Map2 de _ texture _ GL _ 2
Chaque point de contrôle est deux valeurs à virgule flottante représentant les coordonnées de texture s et t . Les commandes glTexCoord2 internes sont générées lorsque le mappage est évalué. Toutefois, les coordonnées de texture actuelles ne sont pas mises à jour avec la valeur de ces commandes glTexCoord . - _Repère de _ texture map2 GL _ _ 3
Chaque point de contrôle est trois valeurs à virgule flottante représentant les coordonnées de texture s, t et r . Les commandes glTexCoord3 internes sont générées lorsque le mappage est évalué. Toutefois, les coordonnées de texture actuelles ne sont pas mises à jour avec la valeur de ces commandes glTexCoord . - _Map2 de _ texture _ GL _ 4
Chaque point de contrôle est quatre valeurs à virgule flottante représentant les coordonnées de texture s, t, r et q . Les commandes glTexCoord4 internes sont générées lorsque le mappage est évalué. Toutefois, les coordonnées de texture actuelles ne sont pas mises à jour avec la valeur de ces commandes glTexCoord . -
U1
-
Mappage linéaire de u, tel qu’il est présenté à glEvalCoord2, à u^, l’une des deux variables évaluées par les équations spécifiées par cette commande.
-
U2
-
Mappage linéaire de u, tel qu’il est présenté à glEvalCoord2, à u^, l’une des deux variables évaluées par les équations spécifiées par cette commande.
-
ustride
-
Le nombre de valeurs float ou double entre le début du point de contrôle r IJ et le début du point de contrôle r (i \ + 1 ) \ j, où i et j sont les index du point de contrôle u et v , respectivement. Cela permet d’incorporer des points de contrôle dans des structures de données arbitraires. La seule contrainte est que les valeurs d’un point de contrôle particulier doivent occuper des emplacements de mémoire contigus.
-
uorder
-
Dimension du tableau de points de contrôle dans l’axe des États- Unis. Doit être positif.
-
v1
-
Mappage linéaire de v, tel que présenté à glEvalCoord2, vers v^, l’une des deux variables évaluées par les équations spécifiées par cette commande.
-
v2
-
Mappage linéaire de v, tel que présenté à glEvalCoord2, vers v^, l’une des deux variables évaluées par les équations spécifiées par cette commande.
-
vstride
-
Le nombre de valeurs float ou double entre le début du point de contrôle r IJ et le début du point de contrôle r i (j \ + 1 ), où i et j sont les index du point de contrôle u et v , respectivement. Cela permet d’incorporer des points de contrôle dans des structures de données arbitraires. La seule contrainte est que les valeurs d’un point de contrôle particulier doivent occuper des emplacements de mémoire contigus.
-
vorder
-
Dimension du tableau de points de contrôle dans l’axe v. Doit être positif.
-
points
-
Pointeur vers le tableau de points de contrôle.
Valeur renvoyée
Cette fonction ne retourne pas de valeur.
Codes d’erreur
Les codes d’erreur suivants peuvent être récupérés par la fonction glGetError .
| Nom | Signification |
|---|---|
|
la cible n’est pas une valeur acceptée. |
|
U1 était égal à U2 ou v1 était égal à v2. |
|
Ustride ou vstride était inférieur au nombre de valeurs dans un point de contrôle. |
|
Uorder ou Vorder était inférieur à un ou un _ ordre d' _ évaluation Max GL _ . |
|
La fonction a été appelée entre un appel à glBegin et l’appel correspondant à glEnd. |
Notes
Les évaluateurs offrent un moyen d’utiliser le mappage polynomial polynomial ou Rational polynomial pour produire des vertex, des normales, des coordonnées de texture et des couleurs. Les valeurs produites par un évaluateur sont envoyées aux étapes supplémentaires du traitement OpenGL comme si elles avaient été présentées à l’aide de commandes glVertex, glNormal, glTexCoordet glColor , à ceci près que les valeurs générées ne mettent pas à jour la couleur, les coordonnées de texture ou la normale actuelles.
Toutes les splines polynomiaux polynomiales ou rationnelles de tous les degrés (jusqu’au degré maximal pris en charge par l’implémentation OpenGL) peuvent être décrites à l’aide d’évaluateurs. Celles-ci incluent presque toutes les surfaces utilisées dans les graphiques informatiques, y compris les surfaces B-spline, les surfaces NURBS, les surfaces Bézier, etc.
Les évaluateurs définissent les surfaces en fonction des polynomiales bivariées Bernstein. Définir p (u^,v^) comme

où R IJ est un point de contrôle, () est le Bernstein polynomial of degree
n (uorder = n + 1)

et () est le degré polynomial Bernstein de degré m (Vorder = m + 1)

Rappelez-vous que

La fonction glMap2 est utilisée pour définir la base et spécifier le type de valeurs produites. Une fois défini, une carte peut être activée et désactivée en appelant glEnable et glDisable par le nom de la carte, l’une des neuf valeurs prédéfinies pour target, décrite ci-dessus. Quand glEvalCoord2 présente les valeurs u et v, les polynomiales bivariables Bernstein sont évalués à l’aide de u^ et v^, où

et

Le paramètre target est une constante symbolique qui indique le type de points de contrôle fourni en points, ainsi que la sortie générée lorsque le mappage est évalué.
Les paramètres ustride, uorder, vstride, Vorder et points définissent l’adressage de tableau pour accéder aux points de contrôle. Le paramètre points est l’emplacement du premier point de contrôle, qui occupe un, deux, trois ou quatre emplacements de mémoire contigus, en fonction du mappage défini. Le tableau contient des points de contrôle uorder x Vorder . Le paramètre ustride indique le nombre d’emplacements à virgule flottante ou double à ignorer pour faire avancer le pointeur de mémoire interne du point de contrôle r IJ au point de contrôle r (\ i + 1 ) j. Le paramètre vstride indique le nombre d’emplacements à virgule flottante ou double à ignorer pour faire avancer le pointeur de mémoire interne du point de contrôle r IJ au point de contrôle ri (j \ + 1 ).
Comme c’est le cas pour toutes les commandes OpenGL qui acceptent des pointeurs vers des données, c’est comme si le contenu des points était copié par glMap2 avant d’être retourné. Les modifications apportées au contenu des points n’ont aucun effet après l’appel de glMap2 .
Les fonctions suivantes récupèrent les informations relatives à glMap2:
glGet avec l’argument de l' _ ordre d’évaluation Max GL _ _
glIsEnabled avec argument GL _ map2 _ vertex _ 3
glIsEnabled avec argument GL _ map2 _ vertex _ 4
glIsEnabled avec argument GL _ map2 _ index
glIsEnabled avec argument GL _ map2 _ couleur _ 4
glIsEnabled avec argument GL _ map2 _ normal
glIsEnabled avec argument GL _ map2 _ texture _ Coord _ 1
glIsEnabled avec argument GL _ map2 _ texture _ Coord _ 2
glIsEnabled avec argument GL _ map2 _ texture _ repère _ 3
glIsEnabled avec argument GL _ map2 _ texture _ Coord _ 4
Spécifications
| Condition requise | Valeur |
|---|---|
| Client minimal pris en charge |
Windows 2000 Professionnel - [Applications de bureau uniquement] |
| Serveur minimal pris en charge |
Windows 2000 Server - [Applications de bureau uniquement] |
| En-tête |
|
| Bibliothèque |
|
| DLL |
|