openglの仕様書

GPUPPURでOpenGLDirect3Dのテクスチャを同じように扱えるようなクラスを作ろうと思いどのように設計するか迷ったので、OpenGLのSpecificationsを読んでいました。ちなみに仕様書では関数や定数名の頭にあるgl*やGL_*は省略されて書いてあります。ですので、glHogehogeの文字列を検索しようとしてもダメでHogehogeで検索しないといけません。
OpenGL2.0を使っているのですが、最新版はOpenGL2.1なので一応OpenGL2.1のほうを読むことにしました。ただ、OpenGL2.1に対応したグラフィックスカードが今あるかどうかは知りませんが。
OpenGL2.1だとPixel Buffer Objectが標準機能になっているので、今回参照した3.6 Pixel Rectanglesでは所々Pixel Buffer Object関連の記述が追加されているようです。今回はTextureあたりのことを調べたかったのですが、TexImage3Dでの処理はDrawPixelsと一部同じ処理をするので先に説明されているDrawPixelsでの説明を参考にしないといけません。TexImage3Dの説明の後にTexImage2Dが説明してあったりするので最初みたときは変な感じがしましたが、できるだけ一般的に説明しようとしているのでTexImage2DはTexImage3Dを特殊化したようなものだという感じになってます。
OpenGLにRGBA modeとcolor index modeがあるとは仕様書を読むまで知りませんでした。ただ、これからcolor index modeを使うことはないような気がしますが。OpenGLだと、テクスチャにRの値だけを整数で指定したとしても後で0.0~1.0の値を持つ固定小数点型の数値になり、指定されていないGBは0.0に、Aは1.0になります。
OpenGLではテクスチャ座標は(s,t,r,q)の4つの数字で表すので、TexCoord2fでs,tを指定した場合はrに0、qに1が設定されます。s,t,r,qは最後にs/q, t/q, r/qになります。ここらへんは頂点座標と似ていますね。普通はuv座標とかって言いますがOpenGLの世界ではstrq座標って言ったほうがいいんでしょうか。
それにしてもSpecificationsを読むのは結構疲れます。でもこれを読んで確実なOpenGLの知識を身に付けたほうがいいですし、読みなれればwebで調べなくてもすぐに必要な情報を見つけられるようになると思います。