英語で読む

次の方法で共有


glTexEnvf 関数

glTexEnvf 関数は、テクスチャ環境パラメーターを設定します。

構文

void WINAPI glTexEnvf(
   GLenum  target,
   GLenum  pname,
   GLfloat param
);

パラメーター

target

テクスチャ環境。 GL_TEXTURE_ENVする必要があります。

pname

単一値テクスチャ環境パラメーターのシンボリック名。 GL_TEXTURE_ENV_MODEする必要があります。

param

1 つのシンボリック定数(GL_MODULATE、GL_DECAL、GL_BLEND、またはGL_REPLACEのいずれか)。

戻り値

この関数は値を返しません。

エラー コード

glGetError 関数では、次のエラー コードを取得できます。

名前 意味
GL_INVALID_ENUM
target または pname は、受け入れ可能な定義値の 1 つではなかったか、 または params が定義された定数値 ( pname の値に基づく) を持っている必要があり、そうでない場合。
GL_INVALID_OPERATION
glBegin の呼び出しと glEnd の対応する呼び出しの間に関数が呼び出されました。

解説

テクスチャ環境では、フラグメントがテクスチャ化されるときにテクスチャ値がどのように解釈されるかを指定します。 ターゲット パラメーターはGL_TEXTURE_ENVする必要があります。 pname パラメーターがGL_TEXTURE_ENV_MODE。 GL_MODULATE、GL_DECAL、GL_BLENDの 3 つのテクスチャ関数が定義されています。

テクスチャ関数は、フラグメントに適用されるテクスチャ イメージ値を使用してテクスチャ化されるフラグメントに対して機能し ( glTexParameter を参照)、そのフラグメントの RGBA 色を生成します。 次の表は、選択できる 3 つのテクスチャ関数のそれぞれについて、RGBA の色がどのように生成されるかを示しています。 C はカラー値 (RGB) の 3 倍で、 A は関連付けられたアルファ値です。 テクスチャ イメージから抽出された RGBA 値は、[0, 1] の範囲内にあります。 添字 f は、受信フラグメントを参照し、下付き 文字 t をテクスチャ イメージに、下付き文字 c をテクスチャ環境の色に、添字 v はテクスチャ関数によって生成された値を示します。

テクスチャ イメージには、テクスチャ要素ごとに最大 4 つのコンポーネントを含めることができます ( glTexImage1DglTexImage2D を参照)。 1 つのコンポーネントイメージでは、Lt はその 1 つのコンポーネントを示します。 2 コンポーネントのイメージでは 、L?A? が使用されます。 3 つのコンポーネントイメージには、色の値 C ? しかありません。 4 成分の画像には、色の値 C? とアルファ値 A? の両方があります。

コンポーネントの数 GL_MODULATE GL_DECAL GL_BLEND
1${REMOVE}$
Cv = L。Cf undefined${REMOVE}$
Cv = (1 - L?)Cf + L?C c
a v = Af a v = Af
2${REMOVE}$
Cv = L。Cf undefined${REMOVE}$
Cv = (1 - L?)Cf + L?C c
a v = Af a v = Af
3${REMOVE}$
Cv = C。Cf Cv = C。 undefined${REMOVE}$
a v = Af a v = Af
4${REMOVE}$
Cv = C。Cf Cv = (1 - A?)Cf + A?C。 undefined${REMOVE}$
a v = A。Af a v = Af

GL_TEXTURE_ENV_MODEの既定値は GL_MODULATE です。

次の関数は、 glTexEnvf に関連する情報を取得します。

glTexGetEnvfv

必要条件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Gl.h
ライブラリ
Opengl32.lib
[DLL]
Opengl32.dll

関連項目

glBegin

glEnd

glTexImage1D

glTexImage2D

glTexParameter