glMinmax

Aus DGL Wiki
Version vom 7. April 2006, 20:01 Uhr von Dj3hut1 (Diskussion | Beiträge) (neu erstellt)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

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.


Zugehörige Wertrückgaben

glGetMinmaxParameter

Siehe auch

glGetMinmax, glResetMinmax