glBindTexture 関数
glBindTexture 関数を使用すると、テクスチャ ターゲットにバインドされた名前付きテクスチャを作成できます。
構文
void WINAPI glBindTexture(
GLenum target,
GLuint texture
);
パラメーター
-
target
-
テクスチャのバインド先のターゲット。 値がGL_TEXTURE_1DまたはGL_TEXTURE_2Dである必要があります。
-
テクスチャ
-
テクスチャの名前。テクスチャ名は現在使用できません。
戻り値
この関数は値を返しません。
エラー コード
glGetError 関数では、次のエラー コードを取得できます。
名前 | 意味 |
---|---|
|
パラメーター ターゲット が受け入れられた値ではありません。 |
|
パラメーター テクスチャ の次元が target と同じではなかったか、 glBegin の呼び出しと glEnd の対応する呼び出しの間に関数が呼び出されました。 |
解説
glBindTexture 関数を使用すると、名前付きテクスチャを作成できます。 target が GL_TEXTURE_1D または GL_TEXTURE_2D に設定され、作成した新しいテクスチャの名前にテクスチャが設定されている glBindTexture を呼び出すと、テクスチャ名が適切なテクスチャ ターゲットにバインドされます。 テクスチャがターゲットにバインドされている場合、そのターゲットの以前のバインドは無効になります。
テクスチャ名は符号なし整数であり、各テクスチャ ターゲットの既定のテクスチャを表すために値 0 が予約されています。 テクスチャ名と対応するテクスチャ コンテンツは、現在の OpenGL レンダリング コンテキストの共有表示リスト空間に対してローカルです。2 つのレンダリング コンテキストは、表示リストも共有する場合にのみテクスチャ名を共有します。 glGenTextures を使用して、一連の新しいテクスチャ名を生成できます。
テクスチャが最初にバインドされると、テクスチャ ターゲットの次元が想定されます。GL_TEXTURE_1Dにバインドされたテクスチャが 1 次元になり、GL_TEXTURE_2Dにバインドされたテクスチャが 2 次元になります。 テクスチャ ターゲットに対して実行する操作は、ターゲットにバインドされたテクスチャにも影響します。 テクスチャ ターゲットに対してクエリを実行すると、戻り値はそれにバインドされたテクスチャの状態になります。 テクスチャ ターゲットは、現在バインドされているテクスチャのエイリアスになります。
glBindTexture を使用してテクスチャをバインドする場合、別のテクスチャが同じターゲットにバインドされるか、glDeleteTextures 関数を使用してバインドされたテクスチャを削除するまで、バインドはアクティブなままになります。 名前付きテクスチャを作成したら、必要に応じて同じ次元のテクスチャ ターゲットにバインドできます。
通常、 glBindTexture を使用して既存の名前付きテクスチャをいずれかのテクスチャ ターゲットにバインドする方が、 glTexImage1D または glTexImage2D を使用してテクスチャ イメージを再読み込みする場合よりもはるかに高速です。 テクスチャリングのパフォーマンスをさらに制御するには、 glPrioritizeTextures を使用します。
表示リストに glBindTexture の呼び出しを含めることができます。
注意
glBindTexture 関数は、OpenGL バージョン 1.1 以降でのみ使用できます。
次の関数は 、glBindTexture に関連する情報を取得します。
- glGet と引数 GL_TEXTURE_1D_BINDING
glGet と引数 GL_TEXTURE_2D_BINDING
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー |
|
ライブラリ |
|
[DLL] |
|