次の方法で共有


glTexParameterfv 関数

テクスチャ パラメーターを設定します。

構文

void WINAPI glTexParameterfv(
         GLenum  target,
         GLenum  pname,
   const GLfloat *params
);

パラメーター

target

ターゲット テクスチャ。GL_TEXTURE_1DまたはGL_TEXTURE_2Dである必要があります。

pname

単一値テクスチャ パラメーターのシンボリック名。 pname では、次の記号を使用できます。

説明
GL_TEXTURE_MIN_FILTER
テクスチャ縮小関数は、テクスチャ化されるピクセルが 1 つのテクスチャ要素より大きい領域にマップされるたびに使用されます。 6 つの縮小関数が定義されています。 そのうちの 2 つは、最も近い 1 つまたは最も近い 4 つのテクスチャ要素を使用してテクスチャ値を計算します。 他の 4 つではミップマップが使用されます。
ミップマップは、同じ画像を徐々に低い解像度で表す配列の順序付けされたセットです。 テクスチャの寸法が 2nx2m の場合は、max(n, m) + 1 mipmaps があります。 最初のミップマップは元のテクスチャで、寸法は 2nx2m です。 後続の各ミップマップのサイズは 2k1x2l1 です。2kx 2l は、k = 0 または l = 0 になるまで、前のミップマップの寸法です。 その時点で、後続のミップマップは、1x2l1 または 2k1x1 のディメンションを持ち、最後のミップマップ (ディメンション 1x1) までです。 Mipmaps は、mipmap の順序を示す詳細レベルの引数と共に glTexImage1D または glTexImage2D を使用して定義されます。 レベル 0 は元のテクスチャです。level bold max(n, m) は最後の 1x1 mipmap です。
GL_TEXTURE_MAG_FILTER
テクスチャ倍率関数は、テクスチャ化されるピクセルが 1 つのテクスチャ要素以下の領域にマップされるときに使用されます。 テクスチャ倍率関数をGL_NEARESTまたはGL_LINEARに設定します。
GL_TEXTURE_WRAP_S
テクスチャ座標 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 関数では、次のエラー コードを取得できます。

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

注釈

テクスチャ マッピングは、イメージがデカールまたはセロファンのシュリンク ラップであるかのように、オブジェクトのサーフェスにイメージを適用する手法です。 イメージはテクスチャ空間に作成され、 (s, t) 座標系が使用されます。 テクスチャは、1 次元または 2 次元のイメージであり、サンプルがイメージからどのように派生するかを決定するパラメーターのセットです。

glTexParameter 関数は、pname として指定されたテクスチャ パラメーターにパラメーターの値または値を割り当てます。 ターゲット パラメーターは、ターゲット テクスチャ (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 つのテクスチャ要素にアクセスします。 次の関数は、glTexParameterfglTexParameteri、glTexParameterfvおよび glTexParameteriv に関連する情報を取得します。

glGetTexParameter

必要条件

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

関連項目

glBegin

glBindTexture

glCopyPixels

glCopyTexImage1D

glCopyTexImage2D

glCopyTexSubImage2D

glDrawPixels

glEnd

glGetTexParameter

glPixelStore

glPixelTransfer

glPrioritizeTextures

glTexEnv

glTexGen

glTexImage1D

glTexImage2D

glTexSubImage1D

glTexSubImage2D