glGetConvolutionFilter
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