gl.EvalCoord(u[, v])
gl.EvalCoord()
wertet aktivierte ein- oder zweidimensionale Karten bei
den Argument u
oder u
und v
aus. Um eine Karte zu definieren, rufen Sie
gl.Map() auf; um sie zu aktivieren und zu deaktivieren,
rufen Sie gl.Enable() und gl.Disable() auf.
Wenn der Befehl gl.EvalCoord()
ausgegeben wird, werden alle aktuell aktivierten
Karten der angegebenen Dimension ausgewertet. Dann ist es für jede aktivierte
Karte so, als ob der entsprechende GL-Befehl mit dem berechneten Wert ausgegeben
worden wäre. Das heißt, wenn #GL_MAP1_INDEX
oder #GL_MAP2_INDEX
aktiviert ist,
wird ein gl.Index() simuliert. Wenn #GL_MAP1_COLOR_4
oder #GL_MAP2_COLOR_4
aktiviert ist, wird ein gl.Color() simuliert. Wenn #GL_MAP1_NORMAL
oder #GL_MAP2_NORMAL
aktiviert ist, wird ein normaler Vektor erzeugt, und wenn
eine der Konstanten #GL_MAP1_TEXTURE_COORD_1
, #GL_MAP1_TEXTURE_COORD_2
, #GL_MAP1_TEXTURE_COORD_3
,
#GL_MAP1_TEXTURE_COORD_4
oder auch die Konstanten #GL_MAP2_TEXTURE_COORD_1
,
#GL_MAP2_TEXTURE_COORD_2
, #GL_MAP2_TEXTURE_COORD_3
oder #GL_MAP2_TEXTURE_COORD_4
aktiviert ist, dann simuliert GL ein entsprechender Befehl gl.TexCoord().
Die Farb-, Farbindex-, Normale- und Texturkoordinatenwerte werden jedes mal errechnet, wenn die Berechunung für diese aktiviert wurde (ansonsten werden die aktuellen Werte benutzt). Diese berechneten Werte überschreiben allerdings nicht die aktuellen Farb-, Farbindex-, Normale- oder Texturkoordiantenwerte. Also, wenn gl.Vertex()-Befehle mit gl.EvalCoord()-Befehlen durchsetzt sind, wobei die Farb-, Normal- und Texturkoordinatenwerte den gl.Vertex()-Befehle zugeordnet sind, nicht von den Werten der gl.EvalCoord()-Befehle beeinflusst, sondern nur von den letzten gl.Color(), gl.Index(), gl.Normal() und gl.TexCoord() Befehlen.
Für Karten, die nicht aktiviert sind, werden keine Befehle ausgegeben. Wenn
für eine bestimmte Dimension mehr als eine Texturauswertung aktiviert ist
(z.B. #GL_MAP2_TEXTURE_COORD_1
und #GL_MAP2_TEXTURE_COORD_2
), dann wird nur
die Auswertung der Karte durchgeführt, die die größere Anzahl von Koordinaten
ergibt (in diesem Fall #GL_MAP2_TEXTURE_COORD_2
). #GL_MAP1_VERTEX_4
überschreibt
#GL_MAP1_VERTEX_3
und #GL_MAP2_VERTEX_4
überschreibt #GL_MAP2_VERTEX_3
auf
die gleiche Weise. Wenn für die angegebene Dimension weder eine Drei- noch
eine Vierkomponenten-Scheitelkarte aktiviert ist, wird die Option beim
gl.EvalCoord()-Befehl ignoriert.
Wenn Sie die automatische Normalen-Generierung aktiviert haben, indem Sie
gl.Enable() mit dem Argument #GL_AUTO_NORMAL
aufrufen, erzeugt
gl.EvalCoord()
Oberflächennormale analytisch, unabhängig vom Inhalt oder der
Aktivierung der #GL_MAP2_NORMAL-Karte. Wenn die automatische Normalen-Generierung
deaktiviert ist, wird die entsprechende Normalen-Karte #GL_MAP2_NORMAL
, falls
aktiviert, verwendet, um eine Normale zu erzeugen. Wenn weder die automatische
Normalen-Generierung noch eine Normalen-Karte aktiviert ist, wird für den
gl.EvalCoord()-Befehl keine Normalen generiert.
Alternativ können Sie auch eine Tabelle mit einer oder zwei Domänenkoordinaten
an gl.EvalCoord()
übergeben.
Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.
#GL_MAP1_VERTEX_3
gl.IsEnabled() mit dem Argument #GL_MAP1_VERTEX_4
gl.IsEnabled() mit dem Argument #GL_MAP1_INDEX
gl.IsEnabled() mit dem Argument #GL_MAP1_COLOR_4
gl.IsEnabled() mit dem Argument #GL_MAP1_NORMAL
gl.IsEnabled() mit dem Argument #GL_MAP1_TEXTURE_COORD_1
gl.IsEnabled() mit dem Argument #GL_MAP1_TEXTURE_COORD_2
gl.IsEnabled() mit dem Argument #GL_MAP1_TEXTURE_COORD_3
gl.IsEnabled() mit dem Argument #GL_MAP1_TEXTURE_COORD_4
gl.IsEnabled() mit dem Argument #GL_MAP2_VERTEX_3
gl.IsEnabled() mit dem Argument #GL_MAP2_VERTEX_4
gl.IsEnabled() mit dem Argument #GL_MAP2_INDEX
gl.IsEnabled() mit dem Argument #GL_MAP2_COLOR_4
gl.IsEnabled() mit dem Argument #GL_MAP2_NORMAL
gl.IsEnabled() mit dem Argument #GL_MAP2_TEXTURE_COORD_1
gl.IsEnabled() mit dem Argument #GL_MAP2_TEXTURE_COORD_2
gl.IsEnabled() mit dem Argument #GL_MAP2_TEXTURE_COORD_3
gl.IsEnabled() mit dem Argument #GL_MAP2_TEXTURE_COORD_4
gl.IsEnabled() mit dem Argument #GL_AUTO_NORMAL