OpenGLの修行 #2 投稿
gladについてかなり詳しくやった。Windowsに付属するopengl32.dllに含まれる関数をツールを使って覗いてみると、ごく基本的なものを除いてほとんどが欠落している。例えば、glGenBuffersなどはない。気になるのは、そうした関数はどこに存在しているかだ。これを解き明かすには、gladのソースをみると良い。特にwglGetProcAddressという関数が鍵になる。この関数はopengl32.dllに存在している。この関数はシステムのどこかに存在する、おそらくグラフィックスデバイスのドライバにあるのだろう関数を探してくるのではないかと推測できる。Windows自体はOpenGLの最初のバージョンで策定されたAPI以外を提供せず、残りはグラフィックスデバイスのベンダーに任せるという寸法だ。ここまで理解したら、gladを始めとして、GLEWやGL3WといったOpenGL Loading Libraryの必要性がよく分かった。なかなか実りのある内容だった。