OpenGL1.0から1.3におけるテクスチャ機能の変遷についてやっと理解できたので、備忘録としてブログに書き留めておく。

・1.0
1.0には、glActiveTexture()もglGenTextures()もglBindTexture()もない。
OpenGLのテクスチャ機能はデフォルトで、テクスチャユニットGL_TEXTURE0が有効であり、無名テクスチャがバインドされているわけだが、1.0ではこの組み合わせしか使えない。
その分、使い方は単純であり、無名テクスチャに対してglTexImage2D()でフォーマットの設定や画像配列のコピーをしてレンダリングするだけでよい。

・1.1
1.0に対して、glGenTextures(), glBindTexture()などが追加される。
つまり、無名テクスチャ以外のテクスチャオブジェクトを生成して、それをglBindTexture()で切り替えて使用することができるようになったのだ。
また、glCopyTexImage2D()も1.1で追加されており、この関数は、バインドされているテクスチャに対して、バッファの内容をコピーする。
何をコピーするかは、glTexImage2D()で設定したフォーマットによって決まる。

・1.3
1.1に対して、glActiveTexture()などが追加される。
つまり、GL_TEXTURE0以外のテクスチャユニットが使えるようになる。
これによって、マルチテクスチャが可能となった。