glMinmax
Inhaltsverzeichnis
glMinmax
Name
glMinmax - berechnet die minimalen und maximalen Pixelwerte eines Pixelrechtecks.
Delphi-Spezifikation
procedure glMinmax(target : TGLenum; internalformat : TGLenum; sink : TGLboolean)
Parameter
target | Muss GL_MINMAX sein. |
---|---|
internalformat | Format der Pixel, für die Minmax-Werte berechnet werden sollen. Zulässige Werte sind GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_R3_G3_B2, GL_RGB, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12 und GL_RGBA16. |
sink | Flag, ob die Pixel nach der Minmax-Operation gerendert werden sollen. |
Beschreibung
Mit glMinmax kann man die Eigenschaften der Minmax-Operation festlegen. target muss dabei immer GL_MINMAX sein. Der Parameter internalformat gibt an, für welche Farbkomponenten die Minmax-Werte berechnet werden sollen. 1, 2, 3 und 4 sind im Gegensatz zum gleichen Parameter bei glTexImage keine zulässigen Werte für internalformat und erzeugen einen GL_INVALID_ENUM-Fehler.
Mit dem Parameter sink wird bestimmt, wie nach der Minmax-Operation fortgefahren werden werden soll. Bei GL_TRUE werden die Pixel nicht mehr in der Pipeline weitergeleitet, bei GL_FALSE weiter in den Renderprozess geschickt.
Nach Aufruf der Funktion wird eine interne Minmax-Tabelle erzeugt. Diese Tabelle enthält immer genau zwei Einträge, um die, durch internalformat festgelegten, minimalen und maximalen Werte für die Farbkomponenten (als float-Werte) einzutragen.
Nach Erzeugung der Tabelle werden alle Minimalwerte auf ihr Maximum und alle Maximalwerte auf ihr Minimum gesetzt.
Zusätzlich wird für die Tabelle nocheinmal das interne Format und das sink-Flag abgespeichert (Defaultwerte sind GL_RGBA und GL_FALSE).
Mit glGetMinmax kann der Inhalt der Minmax-Tabelle jederzeit abgefragt werden.
Mit glResetMinmax ist es möglich, die Einträge der Tabelle auf ihre Initialwerte zurückzusetzen.
Hinweise
glMinmax ist erst ab GL Version 1.2 oder höher nutzbar.
glMinmax ist nur verfügbar, wenn GL_ARB_imaging von glGetString mit dem Argument GL_EXTENSIONS zurückgeliefert wird.
Die Minmax-Operation wird erst durch den Aufruf von glEnable(GL_MINMAX) aktiviert.
Die Minmax-Operation wird nur auf RGBA-Komponenten angewendet.
Fehlermeldungen
GL_INVALID_ENUM wird generiert, wenn target keinen der zulässigen Werte hat.
GL_INVALID_ENUM wird generiert, wenn internalformat keinen der zulässigen Werte hat.
GL_INVALID_VALUE wird generiert, wenn sink weder den Wert GL_TRUE, noch GL_FALSE hat.
GL_INVALID_OPERATION wird generiert, wenn glMinmax innerhalb eines glBegin-glEnd Blocks aufgerufen wird.