glGetSeparableFilter: Unterschied zwischen den Versionen
(neu erstellt) |
DGLBot (Diskussion | Beiträge) K (Bot: konvertiere/korrigiere <BR>) |
||
(2 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
= glGetSeparableFilter = | = glGetSeparableFilter = | ||
− | + | ||
+ | |||
== Name == | == Name == | ||
− | '''glGetSeparableFilter''' - | + | '''glGetSeparableFilter''' - holt separable Convolution-Faltungskernbilder. |
+ | |||
+ | |||
− | |||
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
− | procedure '''glGetSeparableFilter'''(''target'' : TGLenum; ''format'' : TGLenum; ''_type'' : TGLenum; | + | procedure '''glGetSeparableFilter'''(''target'' : TGLenum; ''format'' : TGLenum; |
− | + | ''_type'' : TGLenum; ''row'' : PGLvoid; | |
+ | ''column'' : PGLvoid; ''span'' : PGLvoid); | ||
+ | |||
+ | |||
− | |||
== Parameter == | == Parameter == | ||
{| border="1" rules="all" | {| border="1" rules="all" | ||
Zeile 17: | Zeile 21: | ||
|- | |- | ||
! ''format'' | ! ''format'' | ||
− | | Gewünschtes Format | + | | Gewünschtes Format des Ausgabebildes. Erlaubt sind die Parameter '''GL_RGB, GL_RGBA, GL_BGR, GL_BGRA, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE''' und '''GL_LUMINANCE_ALPHA'''. |
|- | |- | ||
! ''_type'' | ! ''_type'' | ||
− | | | + | | Datentyp der Komponenten des Ausgabebildes. Erlaubte symbolische Konstanten sind : '''GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2''' und '''GL_UNSIGNED_INT_2_10_10_10_REV'''. |
|- | |- | ||
! ''row'' | ! ''row'' | ||
− | | Zeiger auf Speicher | + | | Zeiger auf Speicher für das Zeilenfilterbild. |
|- | |- | ||
! ''column'' | ! ''column'' | ||
− | | Zeiger auf Speicher | + | | Zeiger auf Speicher für das Spaltenfilterbild. |
|- | |- | ||
! ''span'' | ! ''span'' | ||
− | | | + | | Zeiger auf Speicher für das Spannenfilterbild (zur Zeit unbenutzt). |
|} | |} | ||
− | + | ||
+ | |||
== Beschreibung == | == Beschreibung == | ||
− | '''glGetSeparableFilter''' liefert den | + | '''glGetSeparableFilter''' liefert die zwei eindimensionalen Faltungskern-Bilder für den aktuellen separablen 2D-Convolution-Filter. Das Zeilenbild ist in ''row'' platziert und das Spaltenbild ist in ''column'' platziert, laut den Spezifikationen in ''format'' und ''_type''. (In der momentanen Implementation wird ''span'' in keiner Art und Weise beeinflusst.) Keine Pixeltransferoperation (gesetzt mit [[glPixelTransfer]]) werden auf die Bilder verarbeitet, aber die relevanten Pixelspeicher-Modes (gesetzt mit [[glPixelStore]]) werden angewendet. |
+ | |||
+ | Farbkomponenten, die in ''format'' vorkommen, aber nicht im internen Format der Filter auftauchen, werden als 0 zurückgegeben. Die Zuweisungen der internen Farbkomponenten an die Komponenten von ''format'' sind wie folgt : | ||
+ | |||
+ | <div align="center"> | ||
+ | {| {{Prettytable_B1}} | ||
+ | ! Interne Komponente | ||
+ | ! Ergebniskomponente | ||
+ | |- | ||
+ | | Rot | ||
+ | | Rot | ||
+ | |- | ||
+ | | Grün | ||
+ | | Grün | ||
+ | |- | ||
+ | | Blau | ||
+ | | Blau | ||
+ | |- | ||
+ | | Alpha | ||
+ | | Alpha | ||
+ | |- | ||
+ | | Helligkeit | ||
+ | | Rot | ||
+ | |- | ||
+ | | Intensität | ||
+ | | Rot | ||
+ | |} | ||
+ | </div> | ||
+ | |||
− | |||
− | |||
== Hinweise == | == Hinweise == | ||
+ | '''glGetSeparableFilter''' ist erst ab GL Version 1.2 oder höher nutzbar. | ||
+ | |||
+ | '''glGetSeparableFilter''' ist nur verfügbar, wenn '''GL_ARB_imaging''' von [[glGetString]] mit dem Argument '''GL_EXTENSIONS''' zurückgeliefert wird. | ||
+ | |||
Wenn ein Fehler durch die Funktion ausgelöst wird, werden keine Veränderungen am Inhalt von ''params'' durchgeführt. | Wenn ein Fehler durch die Funktion ausgelöst wird, werden keine Veränderungen am Inhalt von ''params'' durchgeführt. | ||
Für ''row'' und ''column'' sollte zum Empfang der Daten genügend Speicher allokiert werden. Die Grösse des Speichers ist abhängig von den Parametern ''format'', ''_type'' und der Größe des Filters, welche via [[glGetConvolutionParameter]] mit den Parametern '''GL_CONVOLUTION_WIDTH''' (für die Länge von ''row'') und '''GL_CONVOLUTION_HEIGHT''' (für die Länge von ''column'') ermittelt werden kann. | Für ''row'' und ''column'' sollte zum Empfang der Daten genügend Speicher allokiert werden. Die Grösse des Speichers ist abhängig von den Parametern ''format'', ''_type'' und der Größe des Filters, welche via [[glGetConvolutionParameter]] mit den Parametern '''GL_CONVOLUTION_WIDTH''' (für die Länge von ''row'') und '''GL_CONVOLUTION_HEIGHT''' (für die Länge von ''column'') ermittelt werden kann. | ||
− | + | Nicht-separable 2D-Filter müssen mit [[glGetConvolutionFilter]] geholt werden. | |
+ | |||
+ | |||
+ | |||
== Fehlermeldungen == | == Fehlermeldungen == | ||
− | '''GL_INVALID_ENUM''' wird generiert wenn ''target'', ''format'' oder ''type'' ein ungültiger Wert übergeben wurde.<br> | + | '''GL_INVALID_ENUM''' wird generiert, wenn ''target'' nicht '''GL_SEPARABLE_2D''' ist.<br> |
− | '''GL_INVALID_OPERATION''' wird generiert wenn '''glGetSeparableFilter''' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird. | + | |
+ | '''GL_INVALID_ENUM''' wird generiert, wenn ''format'' oder ''type'' ein ungültiger Wert übergeben wurde.<br> | ||
+ | |||
+ | '''GL_INVALID_OPERATION''' wird generiert wenn '''glGetSeparableFilter''' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird.<br> | ||
+ | |||
+ | '''GL_INVALID_OPERATION''' wird generiert wenn | ||
+ | :* ''type'' einen der folgenden Werte hat: | ||
+ | :** '''GL_UNSIGNED_BYTE_3_3_2''' | ||
+ | :** '''GL_UNSIGNED_BYTE_2_3_3_REV''' | ||
+ | :** '''GL_UNSIGNED_SHORT_5_6_5''' | ||
+ | :** '''GL_UNSIGNED_SHORT_5_6_5_REV''' | ||
+ | :''und'' | ||
+ | :* ''format'' nicht '''GL_RGB''' ist. | ||
+ | |||
+ | '''GL_INVALID_OPERATION''' wird generiert wenn | ||
+ | :* ''type'' einen der folgenden Werte hat: | ||
+ | :** '''GL_UNSIGNED_SHORT_4_4_4_4''' | ||
+ | :** '''GL_UNSIGNED_SHORT_4_4_4_4_REV''' | ||
+ | :** '''GL_UNSIGNED_SHORT_5_5_5_1''' | ||
+ | :** '''GL_UNSIGNED_SHORT_1_5_5_5_REV''' | ||
+ | :** '''GL_UNSIGNED_INT_8_8_8_8''' | ||
+ | :** '''GL_UNSIGNED_INT_8_8_8_8_REV''' | ||
+ | :** '''GL_UNSIGNED_INT_10_10_10_2''' | ||
+ | :** '''GL_UNSIGNED_INT_2_10_10_10_REV''' | ||
+ | :''und'' | ||
+ | :* ''format'' weder '''GL_RGBA''' noch '''GL_BGRA''' ist. | ||
+ | |||
+ | |||
+ | |||
− | |||
== Siehe auch == | == Siehe auch == | ||
− | [[glConvolutionFilter]], [[glGetConvolutionFilter]], [[glGetConvolutionParameter]], [[ | + | [[glConvolutionFilter]], [[glGetConvolutionFilter]], [[glGetConvolutionParameter]], [[glSeparableFilter2D]] |
[[Kategorie:GL|GetSeparableFilter]] | [[Kategorie:GL|GetSeparableFilter]] |
Aktuelle Version vom 22. April 2006, 19:21 Uhr
Inhaltsverzeichnis
glGetSeparableFilter
Name
glGetSeparableFilter - holt separable Convolution-Faltungskernbilder.
Delphi-Spezifikation
procedure glGetSeparableFilter(target : TGLenum; format : TGLenum; _type : TGLenum; row : PGLvoid; column : PGLvoid; span : PGLvoid);
Parameter
target | Der abzufragende separable Filter. Muss GL_SEPARABLE_2D sein. |
---|---|
format | Gewünschtes Format des Ausgabebildes. Erlaubt sind die Parameter GL_RGB, GL_RGBA, GL_BGR, GL_BGRA, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_LUMINANCE und GL_LUMINANCE_ALPHA. |
_type | Datentyp der Komponenten des Ausgabebildes. Erlaubte symbolische Konstanten sind : GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, GL_UNSIGNED_SHORT_5_6_5_REV, GL_UNSIGNED_SHORT_4_4_4_4, GL_UNSIGNED_SHORT_4_4_4_4_REV, GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_8_8_8_8, GL_UNSIGNED_INT_8_8_8_8_REV, GL_UNSIGNED_INT_10_10_10_2 und GL_UNSIGNED_INT_2_10_10_10_REV. |
row | Zeiger auf Speicher für das Zeilenfilterbild. |
column | Zeiger auf Speicher für das Spaltenfilterbild. |
span | Zeiger auf Speicher für das Spannenfilterbild (zur Zeit unbenutzt). |
Beschreibung
glGetSeparableFilter liefert die zwei eindimensionalen Faltungskern-Bilder für den aktuellen separablen 2D-Convolution-Filter. Das Zeilenbild ist in row platziert und das Spaltenbild ist in column platziert, laut den Spezifikationen in format und _type. (In der momentanen Implementation wird span in keiner Art und Weise beeinflusst.) Keine Pixeltransferoperation (gesetzt mit glPixelTransfer) werden auf die Bilder verarbeitet, aber die relevanten Pixelspeicher-Modes (gesetzt mit glPixelStore) werden angewendet.
Farbkomponenten, die in format vorkommen, aber nicht im internen Format der Filter auftauchen, werden als 0 zurückgegeben. Die Zuweisungen der internen Farbkomponenten an die Komponenten von format sind wie folgt :
Interne Komponente | Ergebniskomponente |
---|---|
Rot | Rot |
Grün | Grün |
Blau | Blau |
Alpha | Alpha |
Helligkeit | Rot |
Intensität | Rot |
Hinweise
glGetSeparableFilter ist erst ab GL Version 1.2 oder höher nutzbar.
glGetSeparableFilter ist nur verfügbar, wenn GL_ARB_imaging von glGetString mit dem Argument GL_EXTENSIONS zurückgeliefert wird.
Wenn ein Fehler durch die Funktion ausgelöst wird, werden keine Veränderungen am Inhalt von params durchgeführt.
Für row und column sollte zum Empfang der Daten genügend Speicher allokiert werden. Die Grösse des Speichers ist abhängig von den Parametern format, _type und der Größe des Filters, welche via glGetConvolutionParameter mit den Parametern GL_CONVOLUTION_WIDTH (für die Länge von row) und GL_CONVOLUTION_HEIGHT (für die Länge von column) ermittelt werden kann.
Nicht-separable 2D-Filter müssen mit glGetConvolutionFilter geholt werden.
Fehlermeldungen
GL_INVALID_ENUM wird generiert, wenn target nicht GL_SEPARABLE_2D ist.
GL_INVALID_ENUM wird generiert, wenn format oder type ein ungültiger Wert übergeben wurde.
GL_INVALID_OPERATION wird generiert wenn glGetSeparableFilter innerhalb eines glBegin-glEnd Blocks aufgerufen wird.
GL_INVALID_OPERATION wird generiert wenn
- type einen der folgenden Werte hat:
- GL_UNSIGNED_BYTE_3_3_2
- GL_UNSIGNED_BYTE_2_3_3_REV
- GL_UNSIGNED_SHORT_5_6_5
- GL_UNSIGNED_SHORT_5_6_5_REV
- type einen der folgenden Werte hat:
- und
- format nicht GL_RGB ist.
GL_INVALID_OPERATION wird generiert wenn
- type einen der folgenden Werte hat:
- GL_UNSIGNED_SHORT_4_4_4_4
- GL_UNSIGNED_SHORT_4_4_4_4_REV
- GL_UNSIGNED_SHORT_5_5_5_1
- GL_UNSIGNED_SHORT_1_5_5_5_REV
- GL_UNSIGNED_INT_8_8_8_8
- GL_UNSIGNED_INT_8_8_8_8_REV
- GL_UNSIGNED_INT_10_10_10_2
- GL_UNSIGNED_INT_2_10_10_10_REV
- type einen der folgenden Werte hat:
- und
- format weder GL_RGBA noch GL_BGRA ist.
Siehe auch
glConvolutionFilter, glGetConvolutionFilter, glGetConvolutionParameter, glSeparableFilter2D