glTexParameteriv 関数
テクスチャ パラメーターを設定します。
構文
void WINAPI glTexParameterfv(
GLenum target,
GLenum pname,
const GLint *params
);
パラメーター
-
target
-
ターゲット テクスチャ。GL_TEXTURE_1DまたはGL_TEXTURE_2Dである必要があります。
-
pname
-
1 つの値を持つテクスチャ パラメーターのシンボリック名。 pname では、次の記号を使用できます。
値 説明 - GL_TEXTURE_MIN_FILTER
テクスチャ縮小関数は、テクスチャ化されるピクセルが 1 つ以上のテクスチャ要素の領域にマップされるたびに使用されます。 6 つの定義された縮小関数があります。 そのうちの 2 つは、最も近い 1 つまたは最も近い 4 つのテクスチャ要素を使用してテクスチャ値を計算します。 他の 4 つではミップマップが使用されます。
mipmap は、同じ画像を徐々に低い解像度で表す配列の順序付けされたセットです。 テクスチャのサイズが 2nx2m の場合は、max(n, m) + 1 mipmaps があります。 最初のミップマップは、寸法が 2nx2 m の元のテクスチャです。 後続の各ミップマップの次元は 2k1x2l1 で、2kx 2l は k = 0 または l = 0 になるまで前のミップマップの次元です。 その時点で、後続のミップマップは、次元 1x1 を持つ最終的なミップマップまで、次元 1x2l1 または 2k1x1 を持ちます。 ミップマップは、mipmap の順序を示す詳細レベルの引数を使用して、glTexImage1D または glTexImage2D を使用して定義されます。 レベル 0 は元のテクスチャです。level bold max(n, m) は、最終的な 1x1 mipmap です。- GL_TEXTURE_MAG_FILTER
テクスチャ拡大関数は、テクスチャ化されているピクセルが 1 つのテクスチャ要素以下の領域にマップされるときに使用されます。 テクスチャの拡大機能をGL_NEARESTまたはGL_LINEARに設定します。 - GL_TEXTURE_WRAP_S
テクスチャ座標のラップ パラメーターを GL_CLAMP または GL_REPEAT に設定します。 GL_CLAMPでは、座標が [0,1] の範囲にクランプされ、1 つのイメージをオブジェクトにマッピングするときにアーティファクトが折り返されるのを防ぐのに役立ちます。 GL_REPEATすると、s 座標の整数部分は無視されます。OpenGL では小数部のみを使用するため、繰り返しパターンが作成されます。 罫線テクスチャ要素にアクセスできるのは、折り返しがGL_CLAMPに設定されている場合のみです。 最初に、GL_TEXTURE_WRAP_Sは GL_REPEAT に設定されます。 - GL_TEXTURE_WRAP_T
テクスチャ座標 t のラップ パラメーターをGL_CLAMPまたはGL_REPEATに設定します。 「GL_TEXTURE_WRAP_S」の下のディスカッションを参照してください。 最初に、GL_TEXTURE_WRAP_Tは GL_REPEAT に設定されます。 - GL_TEXTURE_BORDER_COLOR
罫線の色を設定します。 params パラメーターには、テクスチャ境界の RGBA 色を構成する 4 つの値が含まれています。 整数の色成分は、最も正の整数が 1.0 にマップされ、最も負の整数が 1.0 にマップされるように線形的に解釈されます。 値が指定されると、値は [0,1] の範囲にクランプされます。 最初は、罫線の色は (0、0、0、0) です。 - GL_TEXTURE_PRIORITY
現在バインドされているテクスチャのテクスチャ の保持優先度を指定します。 指定できる値の範囲は [0, 1] です。 詳細については、「 glPrioritizeTextures 」および 「glBindTexture 」を参照してください。 -
params
-
pname の値または値が格納されている配列へのポインター。 params パラメーターは、次のいずれかとしてテクスチャを縮小するための関数を提供します。
値 説明 - GL_NEAREST
テクスチャ化されるピクセルの中心に最も近い (マンハッタン距離) テクスチャ要素の値を返します。 - GL_LINEAR
テクスチャ化されるピクセルの中心に最も近い 4 つのテクスチャ要素の加重平均を返します。 これには、GL_TEXTURE_WRAP_S、GL_TEXTURE_WRAP_T、および正確なマッピングの値に応じて、境界線テクスチャ要素を含めることができます。 GL_NEARESTは通常、GL_LINEARよりも高速ですが、テクスチャ要素間の遷移が滑らかではないので、エッジが鋭いテクスチャイメージを生成できます。 GL_TEXTURE_MAG_FILTER の既定値はGL_LINEARです。 - GL_NEAREST_MIPMAP_NEAREST
テクスチャの対象となるピクセルのサイズに最も近いミップマップを選択し、GL_NEAREST条件 (ピクセルの中心に最も近いテクスチャ要素) を使用してテクスチャ値を生成します。 - GL_LINEAR_MIPMAP_NEAREST
テクスチャ化されるピクセルのサイズに最も近いミップマップを選択し、GL_LINEAR条件 (ピクセルの中心に最も近い 4 つのテクスチャ要素の加重平均) を使用してテクスチャ値を生成します。 - GL_NEAREST_MIPMAP_LINEAR
テクスチャ化されるピクセルのサイズに最も近い 2 つのミップマップを選択し、GL_NEAREST条件 (ピクセルの中心に最も近いテクスチャ要素) を使用して、各ミップマップからテクスチャ値を生成します。 最終的なテクスチャ値は、これら 2 つの値の加重平均です。 - GL_LINEAR_MIPMAP_LINEAR
テクスチャ化されるピクセルのサイズに最も近い 2 つのミップマップを選択し、GL_LINEAR条件 (ピクセルの中心に最も近い 4 つのテクスチャ要素の加重平均) を使用して、各ミップマップからテクスチャ値を生成します。 最終的なテクスチャ値は、これら 2 つの値の加重平均です。 params パラメーターは、次のいずれかとしてテクスチャを拡大するための関数を提供します。
値 説明 - GL_NEAREST
テクスチャ化されるピクセルの中心に最も近い (マンハッタン距離) テクスチャ要素の値を返します。 - GL_LINEAR
テクスチャ化されるピクセルの中心に最も近い 4 つのテクスチャ要素の加重平均を返します。 これには、GL_TEXTURE_WRAP_S、GL_TEXTURE_WRAP_T、および正確なマッピングの値に応じて、境界線テクスチャ要素を含めることができます。 GL_NEARESTは通常、GL_LINEARよりも高速ですが、テクスチャ要素間の遷移が滑らかではないので、エッジが鋭いテクスチャイメージを生成できます。 GL_TEXTURE_MAG_FILTER の既定値はGL_LINEARです。
戻り値
この関数は値を返しません。
エラー コード
glGetError 関数では、次のエラー コードを取得できます。
名前 | 意味 |
---|---|
|
target または pname が、受け入れ可能な定義値の 1 つではなかったか、 param に定義された定数値 ( pname の値に基づく) があり、定義されていない必要がある場合。 |
|
この関数は、 glBegin の呼び出しと glEnd の対応する呼び出しの間で呼び出されました。 |
解説
テクスチャ マッピングは、イメージがデカールまたはセロファンのシュリンク ラップであるかのように、オブジェクトのサーフェスにイメージを適用する手法です。 イメージはテクスチャ空間に作成され、 (s, t) 座標系が使用されます。 テクスチャは、1 次元または 2 次元のイメージと、サンプルがイメージからどのように派生するかを決定するパラメーターのセットです。
glTexParameter 関数は、pname として指定されたテクスチャ パラメーターに params の値または値を割り当てます。 ターゲット パラメーターは、ターゲット テクスチャ (GL_TEXTURE_1DまたはGL_TEXTURE_2D) を定義します。
縮小プロセスでサンプリングされるテクスチャ要素が増えるにつれて、明らかなエイリアシングアーティファクトが少なくなります。 GL_NEARESTとGL_LINEAR縮小関数は他の 4 つよりも高速ですが、レンダリングされるピクセルのテクスチャ値を決定するために 1 つまたは 4 つのテクスチャ要素のみをサンプリングし、モアレ パターンや不規則な遷移を生成できます。 GL_TEXTURE_MIN_FILTER の既定値はGL_NEAREST_MIPMAP_LINEARです。
(引数 GL_TEXTURE_1D または GL_TEXTURE_2D で glEnable を呼び出すことによって) テクスチャリングが有効になっており、GL_TEXTURE_MIN_FILTERが mipmap を必要とする関数のいずれかに設定されている場合を考えます。 現在定義されているテクスチャ イメージのサイズ ( glTexImage1D または glTexImage2D の以前の呼び出しで) がミップマップの適切なシーケンスに従っていない場合、または定義されているテクスチャ イメージの数が必要以上に少ない場合、またはテクスチャ イメージのセットのテクスチャ コンポーネントの数が異なる場合は、テクスチャ マッピングが無効になっているかのようになります。 線形フィルタリングは、2-D テクスチャ内の 4 つの最も近いテクスチャ要素にのみアクセスします。 1-D テクスチャでは、線形フィルタリングは最も近い 2 つのテクスチャ要素にアクセスします。 次の関数は、glTexParameterf、glTexParameteri、glTexParameterfv、glTexParameteriv に関連する情報を取得します。
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
ライブラリ |
|
[DLL] |
|