OpenGLはクロスプラットフォームのグラフィックスAPI。プラットフォームに依存の機能はないので補助ライブラリとセットで用いる。以下のサードパーティライブラリはクロスプラットフォームに使えるものを挙げている。どれも同じというわけでなく、OpenGLそのものの拡張、関数呼び出し、入出力補助の3グループに分かれるらしい。
拡張
GLU: カメラや球、円筒、曲面などの取り扱いを補助する
関数呼び出し
GLEW、gl3w
入出力
GLUT(開発が止まっている)、FreeGLUT(GLUTのクローン)、GLFW、FLTK
参考
- GLFW or GLEW? Which OpenGL library should I use - For Beginners - GameDev.net
- OpenGL関連のライブラリ - code snippets
以下2chのテンプレのコピペ
== OpenGLと一緒に使われるツール&ライブラリ == 苦労したくなかったらとりあえず入れとけ。 ・glx: XからOpenGLを使うためのライブラリ。普通は直接は使わず意識する事はない ・glut: クロスプラットフォームなツールキット。でもさすがに古くさい ・GLFW より新しいマルチプラットフォームなツールキット ・glew: これを入れないと拡張機能が使えないor使いにくい ・glxgears: 歯車が回るベンチマーク。-infoでOpenGLのバージョンが見られる。OpenGLの動作確認はこれで ・glxinfo: 自分の使っているカードのOpenGLの機能が全てリストアップされる。 ・OpenTK C#からOpenGLを簡単に使えるようになる。VC#の強力なIntellisenseとあわせてサクサク開発可能。 ・OpenSceneGraph: OpenGL を高度に抽象化し、利便性を高めたラッパー。C++ ライブラリ ・OpenGL Mathematics (GLM): GLSL 文法ライクの C++ 数学ライブラリ == チュートリアルサイト == 床井研究室: http://marina.sys.wakayama-u.ac.jp/~tokoi/oglarticles.html OpenGL de プログラミング: http://wiki.livedoor.jp/mikk_ni3_92/ NeHe: http://nehe.gamedev.net/ Tutorials for OpenGL 3.3 and later http://www.opengl-tutorial.org/ Learning Modern 3D Graphics Programming http://www.arcsynthesis.org/gltut/ == 必読書 == -- CG入門 -- OpenGL以前の普遍的なCGの概念。 CG-ARTS協会の3冊は初心者向け。あとの2冊は上級者向け。 ・コンピュータグラフィックス (CG-ARTS協会) ・ビジュアル情報処理 (CG-ARTS協会) ・ディジタル映像表現 (CG-ARTS協会) ・ゲーム制作者になるための3Dグラフィックス技術 ・ビジュアルコンピューティング 3次元CGによる画像生成 -- 初心者用 -- ・GLUTによるOpenGL入門 ・GLUTによるOpenGL入門2 テクスチャマッピング ・OpenGL ES 2.0 プログラミングガイド -- 上級者用 -- ・OpenGL Shading Language (橙本) ・Shader Xシリーズ ・GPU Gemsシリーズ ・GPU Proシリーズ == 必読書2 == -- モダンなOpenGL -- シェーダーベースの最新のOpenGLの学習 ・OpenGL 4.0 シェーディング言語 -実例で覚えるGLSLプログラミング ・OpenGL SuperBible: Comprehensive Tutorial and Reference ・OpenGL 4.0 グラフィックシステム -- 数学 -- ・ゲームプログラミングのための3Dグラフィックス数学 ・実例で学ぶゲーム3D数学 ・ゲーム開発のための数学・物理学入門 -- 過去の書籍 -- 有名だが古いバージョンのOpenGLをもとに書かれているためすでに時代遅れ 通常は買う必要はない ・OpenGLプログラミングガイド 原著第5版 (赤本) ・OpenGL Reference Manual (青本) == チュートリアルサイト2 == OpenGL Step By Step: http://ogldev.atspace.co.uk/ OpenGL Samples Pack: http://ogl-samples.g-truc.net/