Bezeichnung
gl.ColorMaterial -- bestimmt, welche Materialparameter sich auf die aktuelle Farbe auswirken
Übersicht
gl.ColorMaterial(face, mode)
Beschreibung
gl.ColorMaterial() gibt an, welche Materialparameter sich auf die aktuelle Farbe auswirkt. Wenn #GL_COLOR_MATERIAL aktiviert ist, wirken sich die in mode angegebenen Materialparameter oder Parameter, die in face angegebe Materials oder der angegebenen Materialien, zu jeder Zeit auf die aktuelle Farbe. face kann auf #GL_FRONT, #GL_BACK oder #GL_FRONT_AND_BACK gesetzt werden. Der Anfangswert ist #GL_FRONT_AND_BACK.

Die folgenden Werte können im Parameter mode übergeben werden: #GL_EMISSION, #GL_AMBIENT, #GL_DIFFUSE, #GL_SPECULAR und #GL_AMBIENT_AND_DIFFUSE. Der Anfangswert ist #GL_AMBIENT_AND_DIFFUSE.

Um #GL_COLOR_MATERIAL zu aktivieren und zu deaktivieren, rufen Sie gl.Enable() und gl.Disable() mit dem Argument #GL_COLOR_MATERIAL auf. #GL_COLOR_MATERIAL ist anfangs deaktiviert.

gl.ColorMaterial() ermöglicht es, eine Untermenge von Materialparametern für jeden Scheitel nur mit dem Befehl gl.Color() zu ändern, ohne gl.Material() aufzurufen. Wenn nur eine solche Teilmenge von Parametern für jeden Scheitel angegeben werden soll, ist der Aufruf von gl.ColorMaterial() besser als der Aufruf von gl.Material().

Rufen Sie gl.ColorMaterial() vor dem Aktivieren von #GL_COLOR_MATERIAL auf.

Durch den Aufruf von gl.DrawElements() oder gl.DrawArrays() kann die aktuelle Farbe unbestimmt bleiben, wenn das Farb-Feld aktiviert ist. Wenn gl.ColorMaterial() aktiviert ist, während die aktuelle Farbe unbestimmt ist, ist der durch face und mode angegebene Status des Beleuchtungsmaterials ebenfalls unbestimmt.

Wenn die GL-Version 1.1 oder höher ist und #GL_COLOR_MATERIAL aktiviert ist, wirken sich ausgewertete Farbwerte auf die Ergebnisse der Beleuchtungsgleichung so aus, als ob die aktuelle Farbe geändert würde, aber der Beleuchtungsparametern der aktuellen Farbe wird nicht geändert.

Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.

Eingaben
face
gibt an, ob nur Vorder-, nur Rückseite- oder beide Seiten-Materialparameter die aktuelle Farbe beeinflussen sollen
mode
gibt an, welche von mehreren Materialparametern die aktuelle Farbe beeinflussen (siehe oben)
Fehler
#GL_INVALID_ENUM wird generiert, wenn face oder der Modus kein akzeptierter Wert ist.

#GL_INVALID_OPERATION wird erzeugt, wenn gl.ColorMaterial() zwischen gl.Begin() und gl.End() ausgeführt wird.

Verbundene get-operationen
gl.IsEnabled() mit dem Argument #GL_COLOR_MATERIAL

gl.Get() mit dem Argument #GL_COLOR_MATERIAL_PARAMETER

gl.Get() mit dem Argument #GL_COLOR_MATERIAL_FACE


Navigation zeigen