GLBINDTEXTURE
Section: Misc. Reference Manual Pages (3G)
索引
xjman
名前
glBindTexture
- 名前付きのテクスチャをテクスチャ貼り付け対象に割り当てる
書式
void glBindTexture(
GLenum target,
GLuint texture )
引き数
- target
-
テクスチャが割り当てられる対象を指定する。
GL_TEXTURE_1D,
GL_TEXTURE_2D,
GL_TEXTURE_3D
のいずれかでなければならない。
- texture
-
テクスチャの名前を指定する。
説明
glBindTexture を使うと名前付きテクスチャを生成したり利用したり
できる。
引き数 target に
GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D
のいずれかを指定し、引き数 texture に新しいテクスチャの名前を
設定して glBindTexture を呼び出すと、テクスチャの名前が
貼り付け先に割り当てられる。
ある対象にテクスチャが割り当てられると、その対象に前に割り当てられてい
たテクスチャは自動的に破棄される。
テクスチャの名前は符号なしの整数である。
0 は各テクスチャ対象におけるデフォルトのテクスチャを表すために
予約されている。
テクスチャの名前と、それに対応するテクスチャの内容は、現在の GL
レンダリングテキストの共有ディスプレイリスト空間(glXCreateContext)
についてローカルな情報である。
ふたつのレンダリングコンテキストがテクスチャの名前を共有できるのは、
両者がディスプレイリストも共有している場合だけである。
glGenTextures を使うと、新しいテクスチャの名前をまとめて作るこ
ともできる。
最初にテクスチャが割り当てらると、対象の次元が仮定される:
最初に GL_TEXTURE_1D に割り当てられたテクスチャは 1 次元の
テクスチャとなり、
最初に GL_TEXTURE_2D に割り当てられたテクスチャは 2 次元の
テクスチャとなり、
最初に GL_TEXTURE_3D に割り当てられたテクスチャは 3 次元の
テクスチャとなる。
最初の割り当ての直後に割り当てられた 1次元のテクスチャの状態は、
GL が初期化された際のデフォルトの GL_TEXTURE_1D の状態となる。
2 次元や 3 次元の場合も同様である。
テクスチャが割り当てられている間は、テクスチャが割り当てられている
対象に対して GL の操作を行うと、割り当てられているテクスチャも
影響を受ける。また、テクスチャが割り当てられている対象に対して
問合せを行うと、割り当てられているテクスチャから状態が返される。
テクスチャが割り当てられている対象が持っている次元のテクスチャ
マッピングが有効であれば、この割り当てられているテクスチャが使われる。
実質的には、テクスチャの貼り付け対象は現在割り当てられているテクスチャ
を示すエイリアスとなる。
また、名前が 0 であるテクスチャは、初期化の際に割り当てられた
デフォルトのテクスチャを示す。
glBindTexture で作られたテクスチャ割り当ては、同じ対象に別の
テクスチャが割り当てられるか、割り当てられたテクスチャが
glDeleteTextures を使って削除されるまではずっと有効である。
いったん生成されると、名前付きテクスチャの一致する次元の
対象への再割り当ては必要に応じて行われる。
既存の名前付きテクスチャをテクスチャの貼り付け対象のひとつに割り当てる
場合は、glBindTexture を使う方が、
glTexImage1D や glTexImage2D, glTexImage3D を
使って再ロードするよりもずっと高速である。
性能を上げるためにさらに細かい制御を行うには
glPrioritizeTextures
を使う。
glBindTexture はディスプレイリストに含まれる。
注意
glBindTexture は GL のバージョン 1.1 以降でしか使えない。
エラー
target の値が指定可能なものでなければ、
GL_INVALID_ENUM エラーとなる。
texture の次元が target に合わなければ、
GL_INVALID_OPERATION となる。
glBindTexture が、glBegin とその対となる glEnd
の間で実行された場合には GL_INVALID_OPERATION エラーとなる。
関連する取得値
引き数に GL_TEXTURE_BINDING_1D を指定した glGet
引き数に GL_TEXTURE_BINDING_2D を指定した glGet
引き数に GL_TEXTURE_BINDING_3D を指定した glGet
関連項目
glAreTexturesResident(3G),
glDeleteTextures(3G),
glGenTextures(3G),
glGet(3G),
glGetTexParameter(3G),
glIsTexture(3G),
glPrioritizeTextures(3G),
glTexImage1D(3G),
glTexImage2D(3G),
glTexParameter(3G)
Index
- 名前
-
- 書式
-
- 引き数
-
- 説明
-
- 注意
-
- エラー
-
- 関連する取得値
-
- 関連項目
-
Time: 07:01:04 GMT, January 12, 2009