Bezeichnung
gl.AlphaFunc -- setzt die Alpha-Test-Funktion
Übersicht
gl.AlphaFunc(func, ref)
Beschreibung
Der Alpha-Test verwirft Fragmente in Abhängigkeit vom Ergebnis eines Vergleichs zwischen dem Alpha-Wert eines eingehenden Fragments und einem konstanten Referenzwert. gl.AlphaFunc() gibt den Referenzwert und die Vergleichsfunktion an. Der Vergleich wird nur durchgeführt, wenn der Alpha-Test aktiviert ist. Standardmäßig ist er nicht aktiviert. (Siehe gl.Enable() und gl.Disable() unter #GL_ALPHA_TEST.)

func und ref geben die Bedingungen an, unter denen das Pixel gezeichnet wird. Der eingehende Alpha-Wert wird in ref mit der in func angegebenen Funktion verglichen. Wenn der Wert den Vergleich besteht, wird das eingehende Fragment gezeichnet, wenn es auch nachfolgende Schablonen- und Tiefenpuffer-Tests (Stencil- und Depth-Puffertest) durchläuft. Wenn der Wert den Vergleich nicht besteht, wird keine Änderung an dem Bildpuffer an dieser Pixelstelle vorgenommen. Die Vergleichsfunktionen sind wie folgt:

#GL_NEVER
Niemals erfolgreich.

#GL_LESS
Ist erfolgreich, wenn der ankommende Alpha-Wert kleiner als der Referenzwert ist.

#GL_EQUAL
Ist erfolgreich, wenn der ankommende Alpha-Wert gleich dem der Referenzwert ist.

#GL_LEQUAL
Ist erfolgreich, wenn der ankommende Alpha-Wert kleiner oder gleich dem Referenzwert ist.

#GL_GREATER
Ist erfolgreich, wenn der ankommende Alpha-Wert größer als der Referenzwert ist.

#GL_NOTEQUAL
Ist erfolgreich, wenn der ankommende Alpha-Wert nicht mit dem Referenzwert übereinstimmt.

#GL_GEQUAL
Ist erfolgreich, wenn der ankommende Alpha-Wert größer oder gleich dem Referenzwert ist.

#GL_ALWAYS
Immer erfolgreich (Voreingestellt).

gl.AlphaFunc() funktioniert bei allen Pixelschreibvorgängen, einschließlich denjenigen, die sich aus der Scanumwandlung von Punkten, Linien, Polygonen und Bitmaps ergeben und aus Pixelzeichnungs- und Pixelkopiervorgängen. gl.AlphaFunc() wirkt sich nicht auf Bildschirmlöschvorgänge aus.

Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.

Eingaben
func
Alpha-Vergleichsfunktion (siehe oben)
ref
Gibt den Referenzwert an, mit dem eingehende Alpha-Werte verglichen werden. Dieser Wert wird auf den Bereich 0 bis 1 festgelegt, wobei 0 den niedrigsten möglichen Alpha-Wert und 1 den höchstmöglichen Wert darstellt (der anfängliche Referenzwert ist 0).
Fehler
#GL_INVALID_ENUM wird generiert, wenn func kein akzeptierter Wert ist.

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

Verbundene get-operationen
gl.Get() mit dem Argument #GL_ALPHA_TEST_FUNC

gl.Get() mit dem Argument #GL_ALPHA_TEST_REF

gl.IsEnabled() mit dem Argument #GL_ALPHA_TEST


Navigation zeigen