GLCONVOLUTIONPARAMETER

Section: Misc. Reference Manual Pages (3G)
索引 xjman
 

名前

glConvolutionParameterf, glConvolutionParameteri, glConvolutionParameterfv, glConvolutionParameteriv - 畳み込みのパラメータを設定する

 

書式

void glConvolutionParameterf( GLenum target,

                                GLenum pname,
                                GLfloat params )
void glConvolutionParameteri( GLenum target,

                                GLenum pname,
                                GLint params )

delim $$

 

引き数

target
畳み込みパラメータの対象。 GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, GL_SEPARABLE_2D のいずれかでなければならない。
pname
設定するパラメータ。 GL_CONVOLUTION_BORDER_MODE でなければならない。
params
パラメータの値。 GL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER のいずれかでなければならない。

 

書式

void glConvolutionParameterfv( GLenum target,

                                 GLenum pname,
                                 const GLfloat *params )
void glConvolutionParameteriv( GLenum target,

                                 GLenum pname,
                                 const GLint *params )

 

引き数

target
畳み込みパラメータの対象。 GL_CONVOLUTION_1D, GL_CONVOLUTION_2D, GL_SEPARABLE_2D のいずれかでなければならない。
pname
設定するパラメータ。 GL_CONVOLUTION_BORDER_MODE, GL_CONVOLUTION_BORDER_COLOR, GL_CONVOLUTION_FILTER_SCALE, GL_CONVOLUTION_FILTER_BIAS のいずれかでなければならない。
params
パラメータの値。 pnameGL_CONVOLUTION_BORDER_MODE の場合、 paramsGL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER のいずれかでなければならない。 それ以外の場合、params は 4 個の値(赤、緑、青、アルファ値) を持つベクトルでなければならない。 このベクトルは、 畳み込みフィルタカーネルのスケーリング処理(pnameGL_CONVOLUTION_FILTER_SCALE の場合は) または畳み込みフィルタカーネルのバイアス処理(pnameGL_CONVOLUTION_FILTER_BIAS の場合)、 定数境界色の設定 (pnameGL_CONVOLUTION_BORDER_COLOR の場合)のいずれかでなければならない。
 

説明

glConvolutionParameter は畳み込みパラメータの値を 設定する。

target は、影響を与える畳み込みフィルタを選択する: 1D フィルタの場合は GL_CONVOLUTION_1D, 2D フィルタの場合は GL_CONVOLUTION_2D, 分割可能 2D フィルタの場合は GL_SEPARABLE_2D を指定する。

pname は変更するパラメータを指定する。 GL_CONVOLUTION_FILTER_SCALEGL_CONVOLUTION_FILTER_BIAS は畳み込みフィルタカーネルの定義に影響する。 詳しくは glConvolutionFilter1D, glConvolutionFilter2D, glSeparableFilter2D を参照すること。 これらの場合、params は 4 つの値を持つ配列であり、 それぞれの値は赤、緑、青、アルファ値に適用される。 GL_CONVOLUTION_FILTER_SCALE に対する初期値は (1, 1, 1, 1) であり、 GL_CONVOLUTION_FILTER_BIAS に対する初期値は (0, 0, 0, 0) である。

GL_CONVOLUTION_BORDER_MODEpname 値は、 畳み込みの境界モードを指定する。 以下の値を指定できる:

GL_REDUCE
畳み込みの結果として得られるイメージは入力イメージより小さい。 フィルタの幅が $Wf$, 高さが $Hf$, 入力イメージの幅が $Ws$, 高さが $Hs$ ならば、 畳み込み処理されたイメージの幅は $Ws ~-~ Wf ~+~ 1$ となり、 高さは $Hs ~-~ Hf ~+~ 1$ となる。 (この縮小によりイメージの幅や高さが 0 以下になる場合、出力は単に 空になる。 エラーは出力されない。) 畳み込みの結果として得られるイメージの座標は、 幅方向では 0 から $Ws ~-~ Wf$ となり、 高さ方向では 0 から $Hs ~-~ Hf$ となる。
GL_CONSTANT_BORDER
畳み込みの結果得られるイメージは入力イメージと同じサイズになる。 GL_CONVOLUTION_BORDER_COLOR で指定された色のピクセルで 入力イメージが囲まれるような処理が行われる。
GL_REPLICATE_BORDER
畳み込みの結果得られるイメージは入力イメージと同じサイズになる。 入力イメージの境界の最も外側にあるピクセルが複製されるような処理が 行われる。
 

注意

glConvolutionParameter が存在するのは、 引き数 GL_EXTENSIONS を指定して glGetString を 呼んだ際に GL_ARB_imaging が返される場合だけである。 不正なディメンジョンの指定によりエラーが起こり得る場合、 チェックされるのは畳み込みの後のディメンジョンであり、 入力イメージのディメンジョンではない。 例えば、glTexImage1D はサイズが 2 の乗数であるイメージを要求する。 GL_REDUCE 境界モードが有効な場合、 入力イメージは最終の 2 の階乗のサイズのイメージより 1 大きくなければならず、 1D フィルタカーネルの大きさより小さくなければならない。  

エラー

GL_INVALID_ENUM: target が指定可能な値のいずれでもない場合に起こる。 GL_INVALID_ENUM: pname が指定可能な値のいずれでもない場合に起こる。 GL_INVALID_ENUM: pnameGL_CONVOLUTION_BORDER_MODE であり、かつ paramsGL_REDUCE, GL_CONSTANT_BORDER, GL_REPLICATE_BORDER のいずれでもない場合に起こる。 GL_INVALID_OPERATION: glBegin と、その対になる glEnd の間で glConvolutionParameter が 実行された場合に起こる。  

関連する取得値

glGetConvolutionParameter  

関連項目

glConvolutionFilter1D(3G), glConvolutionFilter2D(3G), glSeparableFilter2D(3G), glGetConvolutionParameter(3G)


 

Index

名前
書式
引き数
書式
引き数
説明
注意
エラー
関連する取得値
関連項目

jman



Time: 07:01:05 GMT, January 12, 2009