glMinmax: Unterschied zwischen den Versionen
(neu erstellt) |
DGLBot (Diskussion | Beiträge) K (Bot: konvertiere/korrigiere <BR>) |
||
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
= glMinmax = | = glMinmax = | ||
− | + | ||
+ | |||
== Name == | == Name == | ||
− | '''glMinmax''' - | + | '''glMinmax''' - definiert die Minmax-Tabelle. |
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
procedure '''glMinmax'''(''target'' : TGLenum; ''internalformat'' : TGLenum; | procedure '''glMinmax'''(''target'' : TGLenum; ''internalformat'' : TGLenum; | ||
− | + | ''sink'' : TGLboolean) | |
Zeile 14: | Zeile 15: | ||
{| border="1" rules="all" | {| border="1" rules="all" | ||
! ''target'' | ! ''target'' | ||
− | | Muss '''GL_MINMAX''' sein. | + | | Die Minmax-Tabelle, dessen Parameter gesetzt werden. Muss '''GL_MINMAX''' sein. |
|- | |- | ||
! ''internalformat'' | ! ''internalformat'' | ||
− | | Format der | + | | Das Format der Einträge der Minmax-Tabelle. 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'' | ! ''sink'' | ||
− | | | + | | Falls '''GL_TRUE''', werden die Pixel durch den Minmax-Prozess zerstört und kein Zeichnen oder Texturladen findet statt. Falls '''GL_FALSE''', werden die Pixel zum letzten Konvertierungs-Prozess nach Minmax weitergeleitet. |
|} | |} | ||
== Beschreibung == | == Beschreibung == | ||
− | + | Wenn '''GL_MINMAX''' aktiviert ist, werden die RGBA-Komponenten der eintreffenden Pixel mit dem Minimal- und Maximalwert für jede Komponente verglichen, welche in der zweielementigen Minmax-Tabelle gespeichert werden. (Das erste Element speichert das Minimum und das zweite Element speichert das Maximum.) Falls eine Pixelkomponente grösser als die entsprechende Komponente im Maximumelement ist, dann wird das Maximumelement mit dem Wert der Pixelkomponente aktualisiert. Falls eine Pixelkomponente kleiner als die entsprechende Komponente im Minimumelement ist, dann wird das Minimumelement mit dem Wert der Pixelkomponente aktualisiert. (Enthält in beiden Fällen das interne Format der Minmax-Tabelle die Helligkeits-Komponente, wird die R-Farbkomponente der eintreffenden Pixel für den Vergleich benutzt.) Die Inhalte der Minmax-Tabelle können zu einem späteren Zeitpunkt durch den Aufruf von [[glGetMinmax]] zurückgeliefert werden. Die Minmax-Operation wird durch den Aufruf von [[glEnable]] oder [[glDisable]] mit dem Argument '''GL_MINMAX''' aktiviert bzw. deaktivert. | |
− | + | '''glMinmax''' definiert die aktuelle Minmax-Tabelle neu, um Einträge zu haben, die durch ''internalformat'' spezifiziert werden. Das maximale Element wird mit dem kleinstmöglichstem Komponentenwert initialisiert und das minimale Element wird mit dem grösstmöglichstem Komponentenwert initialisiert. Die Werte in der vorhergehenden Minmax-Tabelle, falls existent, gehen verloren. Falls ''sink'' '''GL_TRUE''' ist, werden die Pixel nach Minmax aufgegeben; es findet keine weitere Verarbeitung der Pixel statt, und kein Zeichnen, Texturladen oder Zurücklesen von Pixel wird ausgeführt. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Hinweise == | == Hinweise == | ||
Zeile 57: | Zeile 47: | ||
'''GL_INVALID_OPERATION''' wird generiert, wenn '''glMinmax''' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird. | '''GL_INVALID_OPERATION''' wird generiert, wenn '''glMinmax''' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird. | ||
− | + | ||
+ | |||
== Zugehörige Wertrückgaben == | == Zugehörige Wertrückgaben == |
Aktuelle Version vom 22. April 2006, 19:22 Uhr
Inhaltsverzeichnis
glMinmax
Name
glMinmax - definiert die Minmax-Tabelle.
Delphi-Spezifikation
procedure glMinmax(target : TGLenum; internalformat : TGLenum; sink : TGLboolean)
Parameter
target | Die Minmax-Tabelle, dessen Parameter gesetzt werden. Muss GL_MINMAX sein. |
---|---|
internalformat | Das Format der Einträge der Minmax-Tabelle. 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 | Falls GL_TRUE, werden die Pixel durch den Minmax-Prozess zerstört und kein Zeichnen oder Texturladen findet statt. Falls GL_FALSE, werden die Pixel zum letzten Konvertierungs-Prozess nach Minmax weitergeleitet. |
Beschreibung
Wenn GL_MINMAX aktiviert ist, werden die RGBA-Komponenten der eintreffenden Pixel mit dem Minimal- und Maximalwert für jede Komponente verglichen, welche in der zweielementigen Minmax-Tabelle gespeichert werden. (Das erste Element speichert das Minimum und das zweite Element speichert das Maximum.) Falls eine Pixelkomponente grösser als die entsprechende Komponente im Maximumelement ist, dann wird das Maximumelement mit dem Wert der Pixelkomponente aktualisiert. Falls eine Pixelkomponente kleiner als die entsprechende Komponente im Minimumelement ist, dann wird das Minimumelement mit dem Wert der Pixelkomponente aktualisiert. (Enthält in beiden Fällen das interne Format der Minmax-Tabelle die Helligkeits-Komponente, wird die R-Farbkomponente der eintreffenden Pixel für den Vergleich benutzt.) Die Inhalte der Minmax-Tabelle können zu einem späteren Zeitpunkt durch den Aufruf von glGetMinmax zurückgeliefert werden. Die Minmax-Operation wird durch den Aufruf von glEnable oder glDisable mit dem Argument GL_MINMAX aktiviert bzw. deaktivert.
glMinmax definiert die aktuelle Minmax-Tabelle neu, um Einträge zu haben, die durch internalformat spezifiziert werden. Das maximale Element wird mit dem kleinstmöglichstem Komponentenwert initialisiert und das minimale Element wird mit dem grösstmöglichstem Komponentenwert initialisiert. Die Werte in der vorhergehenden Minmax-Tabelle, falls existent, gehen verloren. Falls sink GL_TRUE ist, werden die Pixel nach Minmax aufgegeben; es findet keine weitere Verarbeitung der Pixel statt, und kein Zeichnen, Texturladen oder Zurücklesen von Pixel wird ausgeführt.
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.