GLTEXENV

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

名前

glTexEnvf, glTexEnvi, glTexEnvfv, glTexEnviv - テクスチャの環境パラメータを設定する

 

書式

void glTexEnvf( GLenum target,

                  GLenum pname,
                  GLfloat param )
void glTexEnvi( GLenum target,

                  GLenum pname,
                  GLint param )

delim $$  

引き数

target
テクスチャ環境を指定する。 GL_TEXTURE_ENV でなければならない。
pname
値をひとつ持つテクスチャ環境パラメータのシンボル名を指定する。l GL_TEXTURE_ENV_MODE でなければならない。
param
シンボル定数を指定する。 GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE のいずれかを指定する。
 

書式

void glTexEnvfv( GLenum target,

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

                   GLenum pname,
                   const GLint *params )

 

引き数

target
テクスチャ環境を指定する。 GL_TEXTURE_ENV でなければならない。
pname
テクスチャ環境のパラメータのシンボル名を指定する。 指定できる値は GL_TEXTURE_ENV_MODEGL_TEXTURE_ENV_COLOR である。
params
パラメータ配列を指すポインタを指定する。 この配列は、ひとつのシンボル定数または RGBA 色を持つ。
 

説明

テクスチャ環境は、微小要素がテクスチャ処理される際に、 テクスチャ値をどのように扱うのかを指定する。 targetGL_TEXTURE_ENV でなければならない。 pname は、 GL_TEXTURE_ENV_MODE または GL_TEXTURE_ENV_COLOR でなければならない。 pnameGL_TEXTURE_ENV_MODE ならば、 params はテクスチャ関数のシンボル名である (またはシンボル名をポインタで指す)。 指定できるテクスチャ関数は以下の4つである: GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE。 テクスチャ関数は、テクスチャ処理する微小要素に作用を 及ぼす際には、その微小要素に当てはまるテクスチャイメージ値を使う (glTexParameter を参照すること)。 以下の表は、RGBA色がどのように生成されるのかを、 選択可能な3つのテクスチャ関数のそれぞれについて示す。 $C$ は色値(RGB)を表わす3つの数字の組であり、 $A$ はこれと一緒に扱われるアルファ値である。 テクスチャイメージから取り出される RGBA値は [0, 1] の 範囲である。 添字 $f$ は入力される微小要素を表わす。 添字 $t$ はテクスチャイメージを表わす。 添字 $c$ はテクスチャ環境色を表わす。 添字 $v$ は、テクスチャ関数により生成される値を表わす。 テクスチャイメージは、テクスチャの要素ごとに 4個までの要素を持てる(glTexImage1D, glTexImage2D, glTexImage3D, glCopyTexImage1D, glCopyTexImage2D を参照すること。 ) 要素をひとつだけ持つイメージの場合、 $L sub t$ は、この要素そのものを示す。 要素がふたつのイメージでは、$L sub t$, $A sub t$ が使われる。 要素が3個のイメージは、色値をひとつだけ持っている。 これは $C sub t$ で示される。 要素が4個のイメージは、色値 $C sub t$ とアルファ値 $A sub t$ の両方を持っている。


ベースとなる内部形式テクスチャ関数
GL_MODULATEGL_DECALGL_BLENDGL_REPLACE

GL_ALPHA$C sub v ~=~ C sub f$undefined$C sub v ~=~ C sub f$$C sub v ~=~ C sub f$
$A sub v ~=~ A sub f A sub t$$A sub v ~=~ A sub f$$A sub v ~=~ A sub t$

GL_LUMINANCE$C sub v ~=~ L sub t C sub f$undefined$C sub v ~=~ ( 1 - L sub t ) C sub f$$C sub v ~=~ L sub t$
$+ L sub t C sub c$
1 $A sub v ~=~ A sub f$ $A sub v ~=~ A sub f$$A sub v ~=~ A sub f$

GL_LUMINANCE$C sub v ~=~ L sub t C sub f$undefined$C sub v ~=~ ( 1 - L sub t ) C sub f $$C sub v ~=~ L sub t$
\f3_ALPHA $+ L sub t C sub c$
2$A sub v ~=~ A sub t A sub f$$A sub v ~=~ A sub t A sub f$$A sub v ~=~ A sub t$

GL_INTENSITY$C sub v ~=~ C sub f I sub t$undefined$C sub v ~=~ ( 1 - I sub t ) C sub f$ $C sub v ~=~ I sub t$
$+ I sub t C sub c$
c $A sub v ~=~ A sub f I sub t$$A sub v ~=~ ( 1 - I sub t ) A sub f $$A sub v ~=~ I sub t$
$+ I sub t A sub c$

GL_RGB$C sub v ~=~ C sub t C sub f$$C sub v ~=~ C sub t$$C sub v ~=~ (1 - C sub t) C sub f $$C sub v ~=~ C sub t$
$+ C sub t C sub c$
3$A sub v ~=~ A sub f$$A sub v ~=~ A sub f$$A sub v ~=~ A sub f$$A sub v ~=~ A sub f$

GL_RGBA$C sub v ~=~ C sub t C sub f$$C sub v ~=~ ( 1 - A sub t ) C sub f $$C sub v ~=~ (1 - C sub t) C sub f $$C sub v ~=~ C sub t$
$+ A sub t C sub t$ $+ C sub t C sub c$
4$A sub v ~=~ A sub t A sub f$$A sub v ~=~ A sub f$$A sub v ~=~ A sub t A sub f$$A sub v ~=~ A sub t$

pnameGL_TEXTURE_ENV_COLOR の場合、 params はRGBA値をひとつ持つ配列を指すポインタである。 RGBA値は4個の値からなる。 整数の色要素値は線形変換される。 この変換は、最大の正の整数値が 1.0 にマッピングされ、 最小の負の整数値が -1.0 にマッピングされるように行なわれる。 これらの値は、指定された際に [0,1] の範囲を取るように 調整される。 $C sub c$ は、これらの4個の値を取る。 GL_TEXTURE_ENV_MODE はデフォルトでは GL_MODULATE であり、GL_TEXTURE_ENV_COLOR はデフォルトでは (0, 0, 0, 0) である。  

注意

GL_REPLACE はバージョン 1.1 以降の GL でしか使用できない。 1, 2, 3, 4 以外の内部フォーマットは、バージョン 1.1 以降の GL で しか使えない。 実装が GL_ARB_multitexture 機能拡張に対応している場合、 glTexEnv は、現在アクティブなテクスチャユニットに対して テクスチャ環境を制御する。 アクティブなテクスチャユニットは glActiveTextureARB を 使って選択する。 GL_INVALID_ENUM: target または pname が指定可能な値でない場合に起こる。 params が定義済みの定数値を持つべきなのに、定数値がない 場合にも起こる。 GL_INVALID_OPERATION: glBegin と、その対になる glEnd の間で glTexEnv が実行されると起こる。  

関連する取得値

glGetTexEnv  

関連項目

glActiveTextureARB(3G), glCopyPixels(3G), glCopyTexImage1D(3G), glCopyTexImage2D(3G), glCopyTexSubImage1D(3G), glCopyTexSubImage2D(3G), glCopyTexSubImage3D(3G), glTexImage1D(3G), glTexImage2D(3G), glTexImage3D(3G), glTexParameter(3G), glTexSubImage1D(3G), glTexSubImage2D(3G), glTexSubImage3D(3G)


 

Index

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

jman



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