2010年11月10日水曜日

Windowsにおけるgl.hとopengl32.dll

グラフィックボードのドライバをアップデートすると,OpenGLのバージョンも上がったりして新しい機能がサポートされたりする.
しかし,gl.hとopengl32.dllが更新されるわけではない.

ずっと不思議に思っていたんだけど,OpenGL公式wikiを読んでやっと謎が解けたので書いておく.


  • opengl32.dllはnvogl32.dll(nvidiaカードの場合.amdはatioglxx.dll)を呼んでるだけ.
  • opengl32.dllとopengl32.lib(libと関係するgl.hも)はシステムファイルなのでマイクロソフトから提供されるのを使うしかない.
  • マイクロソフトはDirectXをオススメしたいのでOpenGLは放置気味.
  • gl.hとopengl32.dllが更新されないために直接新しい機能を提供する関数が呼べない
  • だから新しい機能を使うにはwglGetProcAddress()というメンドくさいことをしなくちゃいけない
  • (´・ω・`)


ということみたいです.