glGetConvolutionFilter: Unterschied zwischen den Versionen
K (kleiner Tipfehler korrigiert) |
(an manpages angepasst) |
||
Zeile 3: | Zeile 3: | ||
<br> | <br> | ||
== Name == | == Name == | ||
− | '''glGetConvolutionFilter''' - Abfrage des momentanen [[Convolution-Filter|Convolution-Filters]]. | + | '''glGetConvolutionFilter''' - Abfrage des momentanen 1D- oder 2D-[[Convolution-Filter|Convolution-Filters]]. |
<br> | <br> | ||
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
− | procedure '''glGetConvolutionFilter'''(''target'': TGLenum; ''format'': TGLenum; ''_type'': TGLenum; ''image'': PGLvoid); | + | procedure '''glGetConvolutionFilter'''(''target'': TGLenum; ''format'': TGLenum; |
+ | ''_type'': TGLenum; ''image'': PGLvoid); | ||
<br> | <br> | ||
Zeile 13: | Zeile 14: | ||
{| border="1" rules="all" | {| border="1" rules="all" | ||
! ''target'' | ! ''target'' | ||
− | | | + | | Filter, der abgefragt werden soll. Akzeptierte Werte sind '''GL_CONVOLUTION_1D''' und '''GL_CONVOLUTION_2D'''. |
|- | |- | ||
! ''format'' | ! ''format'' | ||
Zeile 29: | Zeile 30: | ||
== Beschreibung == | == Beschreibung == | ||
− | '''glGetConvolutionFilter''' | + | '''glGetConvolutionFilter''' gibt den aktuellen 1D- oder 2D-Convolution-Faltungskern als Bild zurück. Das ein- oder zweidimensionale Bild wird in ''image'' platziert, abhängig von den Definitionen in ''format'' und ''_type''. Keine Pixeltransferoperationen (gesetzt mit [[glPixelTransfer]]) werden auf dieses Bild ausgeführt, aber es werden die relevanten Pixelspeichermodes angewendet (gesetzt mit [[glPixelStore]]). |
+ | |||
+ | Farbkomponenten, die sich in ''format'', aber nicht im internen Format des Filter befinden, werden als 0 zurückgegeben. Die Zuweisungen von 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> | ||
<br> | <br> | ||
== Hinweise == | == Hinweise == | ||
− | + | '''glGetMinmaxParameter''' ist nur verfügbar, wenn '''GL_ARB_imaging''' von [[glGetString]] mit dem Argument '''GL_EXTENSIONS''' zurückgeliefert wird. | |
+ | |||
+ | Der aktuelle separable 2D-Filter muss mit [[glGetSeparableFilter]] statt mit '''glGetConvolutionFilter''' abgefragt werden. | ||
Für ''image'' 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''' und '''GL_CONVOLUTION_HEIGHT''' ermittelt werden kann. | Für ''image'' 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''' und '''GL_CONVOLUTION_HEIGHT''' ermittelt werden kann. | ||
Zeile 39: | Zeile 69: | ||
<br> | <br> | ||
== 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'', ''format'' oder ''type'' ein ungültiger Wert übergeben wurde.<br> |
− | GL_INVALID_OPERATION wird generiert wenn '''glGetConvolutionFilter''' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird. | + | |
+ | '''GL_INVALID_OPERATION''' wird generiert, wenn '''glGetConvolutionFilter''' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird.<br> | ||
+ | |||
+ | '''GL_INVALID_OPERATION''' wird generiert, falls ''_type'' eine der folgenden symbolischen Konstanten ist : '''GL_UNSIGNED_BYTE_3_3_2''', '''GL_UNSIGNED_BYTE_2_3_3_REV''', '''GL_UNSIGNED_SHORT_5_6_5''', oder '''GL_UNSIGNED_SHORT_5_6_5_REV''' und das Format nicht '''GL_RGB''' ist.<br> | ||
+ | |||
+ | '''GL_INVALID_OPERATION ''' wird generiert, falls ''type'' eine der folgenden symbolischen Konstanten ist : '''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''' oder '''GL_UNSIGNED_INT_2_10_10_10_REV''' und das Format weder '''GL_RGBA''' noch '''GL_BGRA''' ist.<br> | ||
<br> | <br> | ||
== Siehe auch == | == Siehe auch == | ||
− | [[ | + | [[glConvolutionFilter1D]], [[glConvolutionFilter2D]], [[glConvolutionParameter]], [[glGetSeparableFilter]], [[glGetConvolutionParameter]] |
[[Kategorie:GL|GetConvolutionFilter]] | [[Kategorie:GL|GetConvolutionFilter]] |
Version vom 10. April 2006, 12:58 Uhr
Inhaltsverzeichnis
glGetConvolutionFilter
Name
glGetConvolutionFilter - Abfrage des momentanen 1D- oder 2D-Convolution-Filters.
Delphi-Spezifikation
procedure glGetConvolutionFilter(target: TGLenum; format: TGLenum; _type: TGLenum; image: PGLvoid);
Parameter
target | Filter, der abgefragt werden soll. Akzeptierte Werte sind GL_CONVOLUTION_1D und GL_CONVOLUTION_2D. |
---|---|
format | Pixelformat des Filterkernels. 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 für Pixelwerte des Filterkernels. Erlaubt sind die Parameter 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. |
image | Zeiger auf Speicher, in der die Daten des Filterkernels geladen werden sollen. |
Beschreibung
glGetConvolutionFilter gibt den aktuellen 1D- oder 2D-Convolution-Faltungskern als Bild zurück. Das ein- oder zweidimensionale Bild wird in image platziert, abhängig von den Definitionen in format und _type. Keine Pixeltransferoperationen (gesetzt mit glPixelTransfer) werden auf dieses Bild ausgeführt, aber es werden die relevanten Pixelspeichermodes angewendet (gesetzt mit glPixelStore).
Farbkomponenten, die sich in format, aber nicht im internen Format des Filter befinden, werden als 0 zurückgegeben. Die Zuweisungen von 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
glGetMinmaxParameter ist nur verfügbar, wenn GL_ARB_imaging von glGetString mit dem Argument GL_EXTENSIONS zurückgeliefert wird.
Der aktuelle separable 2D-Filter muss mit glGetSeparableFilter statt mit glGetConvolutionFilter abgefragt werden.
Für image 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 und GL_CONVOLUTION_HEIGHT ermittelt werden kann.
Fehlermeldungen
GL_INVALID_ENUM wird generiert, wenn target, format oder type ein ungültiger Wert übergeben wurde.
GL_INVALID_OPERATION wird generiert, wenn glGetConvolutionFilter innerhalb eines glBegin-glEnd Blocks aufgerufen wird.
GL_INVALID_OPERATION wird generiert, falls _type eine der folgenden symbolischen Konstanten ist : GL_UNSIGNED_BYTE_3_3_2, GL_UNSIGNED_BYTE_2_3_3_REV, GL_UNSIGNED_SHORT_5_6_5, oder GL_UNSIGNED_SHORT_5_6_5_REV und das Format nicht GL_RGB ist.
GL_INVALID_OPERATION wird generiert, falls type eine der folgenden symbolischen Konstanten ist : 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 oder GL_UNSIGNED_INT_2_10_10_10_REV und das Format weder GL_RGBA noch GL_BGRA ist.
Siehe auch
glConvolutionFilter1D, glConvolutionFilter2D, glConvolutionParameter, glGetSeparableFilter, glGetConvolutionParameter