glMap1d fonction)

Les fonctions glMap1d et glMap1f définissent un évaluateur unidimensionnel.

Syntaxe

void WINAPI glMap1d(
         GLenum   target,
         GLdouble u1,
         GLdouble u2,
         GLint    stride,
         GLint    order,
   const GLdouble *points
);

Paramètres

cible

Type de valeurs générées par l’évaluateur. Constantes symboliques. 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é. Elle peut prendre l’une des neuf valeurs prédéfinies.

Valeur Signification
Map1 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é.
Map1 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 Map1 _ 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 .
Map1 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é. Toutefois, la couleur actuelle n’est pas mise à jour avec la valeur de ces commandes glColor4 .
Map1 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 Map1 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 .
_Map1 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 Map1 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 .
_Map1 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é à glEvalCoord1, à u^, la variable qui est évaluée par les équations spécifiées par cette commande.

U2

Mappage linéaire de u, tel qu’il est présenté à glEvalCoord1, à u^, la variable qui est évaluée par les équations spécifiées par cette commande.

progrès

Nombre de valeurs float ou double entre le début d’un point de contrôle et le début de la suivante dans la structure de données référencée en points. 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.

order

Nombre de points de contrôle. 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
_enum GL non valide _
la cible n’est pas une valeur acceptée.
_valeur non valide du GL _
U1 était égal à U2.
_valeur non valide du GL _
Stride était inférieur au nombre de valeurs dans un point de contrôle.
_valeur non valide du GL _
la commande était inférieure à un ou un _ ordre d’évaluation Max GL _ _ .
_opération non valide du 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 à d’autres étapes 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 splines utilisées dans les graphiques informatiques, y compris les splines B, les courbes de Bézier, les splines Hermite, etc.

Les évaluateurs définissent les courbes en fonction des polynomiaux Bernstein. Définir p () comme

Équation représentant la définition de p ().

Ri est un point de contrôle et () est le polynomial Bernstein de degree n (ordre = n + 1) :

Équation représentant le polynomial Bernstein de degree n.

Rappelez-vous que

Équations présentant l’équivalence à 1.

La fonction glMap1 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 la cible décrite ci-dessus. La fonction glEvalCoord1 évalue les mappages unidimensionnels qui sont activés. Quand glEvalCoord1 présente une valeur u, les fonctions Bernstein sont évaluées à l’aide de u^, où

Équation représentant la définition de votre ^.

Les paramètres Stride, Order 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 paramètre Order est le nombre de points de contrôle dans le tableau. Le paramètre Stride indique le nombre d’emplacements float ou double à faire avancer le pointeur de mémoire interne pour atteindre le point de contrôle suivant.

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 glMap1 avant d’être retourné. Les modifications apportées au contenu des points n’ont aucun effet après l’appel de glMap1 .

Les fonctions suivantes récupèrent les informations relatives à glMap1:

glGet avec l’argument de l' _ ordre d’évaluation Max GL _ _

glGetMap

glIsEnabled avec argument GL _ Map1 _ vertex _ 3

glIsEnabled avec argument GL _ Map1 _ vertex _ 4

glIsEnabled avec argument GL _ Map1 _ index

glIsEnabled avec argument GL _ Map1 _ couleur _ 4

glIsEnabled avec argument GL _ Map1 _ normal

glIsEnabled avec argument GL _ Map1 _ texture _ Coord _ 1

glIsEnabled avec argument GL _ Map1 _ texture _ Coord _ 2

glIsEnabled avec argument GL _ Map1 _ texture _ repère _ 3

glIsEnabled avec argument GL _ Map1 _ 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
GL. h
Bibliothèque
Opengl32. lib
DLL
Opengl32.dll

Voir aussi

glBegin

glColor

glEnable

glEnd

glEvalCoord

glEvalMesh

glEvalPoint

glMap2

glMapGrid

glNormal

glTexCoord

glVertex