glTexGend 関数
テクスチャ座標の生成を制御します。
構文
void WINAPI glTexGend(
GLenum coord,
GLenum pname,
GLdouble param
);
パラメーター
-
coord
-
テクスチャ座標。 GL_S、GL_T、GL_R、またはGL_Qのいずれかである必要があります。
-
pname
-
テクスチャ座標生成関数のシンボリック名。
-
param
-
単一値テクスチャ生成パラメーター(GL_OBJECT_LINEAR、GL_EYE_LINEAR、またはGL_SPHERE_MAPのいずれか)。
戻り値
この関数は値を返しません。
エラー コード
glGetError 関数では、次のエラー コードを取得できます。
名前 | 意味 |
---|---|
|
coord または pname が承認済みの定義値でなかったか、 pname がGL_TEXTURE_GEN_MODEされ 、パラメーター が承認済みの定義値ではなかった。 |
|
pname がGL_TEXTURE_GEN_MODEされ、 パラメーター がGL_SPHERE_MAPされ、 coord がGL_RかGL_Q |
|
glBegin の呼び出しと glEnd の対応する呼び出しの間に関数が呼び出されました。 |
解説
glTexGen 関数は、テクスチャ座標生成関数を選択するか、関数の 1 つに係数を提供します。 coord パラメーターは (s,t,r,q) テクスチャ座標の 1 つに名前を付け、GL_S、GL_T、GL_R、またはGL_Qのいずれかの記号である必要があります。 pname パラメーターは、GL_TEXTURE_GEN_MODE、GL_OBJECT_PLANE、またはGL_EYE_PLANEの 3 つのシンボリック定数のいずれかである必要があります。 pname がGL_TEXTURE_GEN_MODEの場合、param はモード、GL_OBJECT_LINEAR、GL_EYE_LINEAR、またはGL_SPHERE_MAPのいずれかを指定します。 pname がGL_OBJECT_PLANEまたはGL_EYE_PLANEの場合、param には対応するテクスチャ生成関数の係数が含まれます。
テクスチャ生成関数がGL_OBJECT_LINEARされている場合、
が使用されます。ここで、g は coord でという名前の座標に対して計算された値です。p1、p2、p3、および p4 は、params で指定される 4 つの値です。x?、y?、z?、w?は頂点のオブジェクト座標です。 この関数を使用すると、海面を参照平面 (p1、p2、p3、p4 で定義) として使用して地形をテクスチャ マップできます。 GL_OBJECT_LINEAR座標生成関数は、地形頂点の高度を海面からの距離として計算します。その高度は、たとえば、白い雪をピークにマップし、緑の草をふもとにマップするためにテクスチャ イメージのインデックスを作成するために使用されます。
テクスチャ生成関数がGL_EYE_LINEARされている場合、
が使用されます。
x?、y?、z?、w?は頂点の目の座標、p1、p2、p3、p4 は param で指定される値であり、M は glTexGen を呼び出すときのモデルビュー 行列です。 M に不十分な条件付きまたは単数形の場合、結果として得られる関数によって生成されるテクスチャ座標が不正確または未定義になる可能性があります。
param の値は、視線座標の参照平面を定義します。 多角形の頂点を変換するときに、それらに適用されるモデルビュー マトリックスを同じマトリックスにすることはできません。 この関数は、動くオブジェクトに動的な輪郭線を生成できるテクスチャ座標のフィールドを確立します。
pname がGL_SPHERE_MAPで、coord がGL_SまたはGL_Tである場合、s および t テクスチャ座標は次のように生成されます。 u は、原点から多角形の頂点 (目の座標) を指す単位ベクトルになります。 目の座標に変換した後、n を現在の法線にします。 f = (fx ( ) fy ( ) fz)T を反射ベクトルにして、
最後に、
次に、i および t テクスチャ座標に割り当てられた値は次のとおりです。
引数としてシンボリック テクスチャ座標名 (GL_TEXTURE_GEN_S、GL_TEXTURE_GEN_T、GL_TEXTURE_GEN_R、またはGL_TEXTURE_GEN_Q) のいずれかを指定して glEnable または glDisable を使用すると、テクスチャ座標生成関数を有効または無効にすることができます。 この関数を有効にすると、指定したテクスチャ座標は、その座標に関連付けられている生成関数に従って計算されます。 関数を無効にすると、後続の頂点は、現在のテクスチャ座標セットから指定されたテクスチャ座標を取得します。 最初は、すべてのテクスチャ生成関数がGL_EYE_LINEARに設定され、無効になります。 どちらの平面方程式も (1,0,0,0);両方のt平面方程式は(0,1,0,0)である。すべての r および q 平面方程式は (0,0,0,0,0) です。
次の関数は、glTexGen に関連する情報を取得します。
glGetTexGen
引数GL_TEXTURE_GEN_Sを使用した glIsEnabled
引数GL_TEXTURE_GEN_Tを使用した glIsEnabled
glIsEnabled と引数 GL_TEXTURE_GEN_R
glIsEnabled と引数GL_TEXTURE_GEN_Q
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
ライブラリ |
|
[DLL] |
|