glSeparableFilter2D: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Parameter: Versuch die Übersetzung näher ans orginal zu rücken.)
K (Die Beschreibung enthält nicht alle Daten des orginals.)
Zeile 1: Zeile 1:
 +
{{Unvollständig}}
 
= glSeparableFilter2D =
 
= glSeparableFilter2D =
  

Version vom 9. April 2006, 18:03 Uhr

Hinweis: Dieser Artikel ist noch unvollständig.
(Mehr Informationen/weitere Artikel)

{{{1}}}

Incomplete.jpg

glSeparableFilter2D

Name

glSeparableFilter2D - Legt einen zweidimensionalen Convolution-Filter gebildet als Produkt aus zwei eindimensionalen Filtern fest.


Delphi-Spezifikation

procedure glSeparableFilter2D(target: TGLenum; internalformat : TGLenum; 
                              width : TGLsizei; height : TGLsizei; 
                              format : TGLenum; _type : TGLenum; 
                              const row : PGLvoid; const column : PGLvoid)

Parameter

target Ziel des Filters. Für diese Funktion muss GL_SEPARABLE_2D gesetzt sein.
internalformat Internes Format der Pixel, auf die der Filter angewendet wird. Erlaubt sind die Werte 1, 2, 3 und 4 oder folgende Parameter : 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_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_RGB, GL_R3_G3_B2, 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.
width Anzahl der Werte in der durch row referenzierten Zeile des Pixel-Arrays. (Breite des Faltungskerns)
height Anzahl der Werte in der durch colum referenzierten Spalte des Pixel-Arrays. (Höhe des Faltungskerns)
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.
row Zeiger auf ein eindimensionales Datenfeld welches benutzt wird um den Zeilen-Faltungskern zu bilden.
column Zeiger auf ein eindimensionales Datenfeld welches benutzt wird um den Spalten-Faltungskern zu bilden.


Beschreibung

Dieser Befehl setzt zwei getrennte eindimensionale Filter, aus denen durch Produktbildung ein zweidimensionaler Convolution-Filter gebildet wird.

Damit erfüllt diese Funktion denselben Zweck wie glConvolutionFilter2D.

Werden z.B. für column die drei Werte -1, 2, -1 und für row die drei Werte 1, 2, 1 übergeben, so wird daraus der folgende zweidimensionale Filter-Kernel gebildet :

SeparableFilter.png

Hinweise

Um den Filter zu aktivieren, muß zusätzlich glEnable(GL_SEPARABLE_2D) aufgerufen werden.

Mit glSeparable2D gesetzte Filter sind im Allgemeinen effizienter als entsprechende Filter, die mit glConvolutionFilter2D definiert werden.

Fehlermeldungen

GL_INVALID_ENUM wird generiert wenn target nicht GL_SEPARABLE_2D ist.

GL_INVALID_ENUM wird generiert wenn internalformat ungültige Werte übergeben wurden. Akzeptiert werden alle interne Pixelformate außer GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24 und GL_DEPTH_COMPONENT32.

GL_INVALID_ENUM wird generiert wenn format ungültige Werte übergeben wurden. Akzeptiert werden alle Formatangaben außer GL_COLOR_INDEX, GL_STENCIL_INDEX und GL_DEPTH_COMPONENT

GL_INVALID_ENUM wird generiert wenn type keine gültige Typkonstante übergeben wurde. Akzeptiert werden alle Typangaben außer GL_BITMAP.

GL_INVALID_VALUE wird generiert wenn die Parameter width und height kleiner als 0 oder größer als die jeweilig maximal zulässigen Werte sind. Mittels glGetConvolutionParameter (mit target GL_SEPARABLE_2D und Parameter GL_MAX_CONVOLUTION_WIDTH oder GL_MAX_CONVOLUTION_HEIGHT) können diese Werte abgefragt werden.

Zugehörige Wertrückgaben

glGetSeparableFilter
glIsEnabled mit dem Token GL_SEPARABLE_2D.


Siehe auch

glConvolutionParameter, glGetSeparableFilter, glGetConvolutionParameter, glConvolutionFilter2D,