OpenGL関連のライブラリ

opengl-library.png

定番ライブラリ

  • GLFW….ウィンドウシステムを提供します
  • OpenGL Mathematics (GLM)…行列演算、ベクトル演算
  • OpenGL Image (GLI)….画像読んだりテクスチャ作ったりするためのライブラリ.対応画像フォーマットはKTXかDDSのみ
  • Open Asset Import Library…ply,sdlなどの3Dモデルデータをインポートするためのライブラリ

Vulkanのサンプルで使用されてるので太鼓判押されてると思ってよいでしょう

ウィンドウレベルで違うライブラリ

  • GLFW- GLSLなどのOpenGL拡張の使用を容易にするライブラリ
  • SDL
  • GLUT…..最近ホイールが効かない。。。!!!(T_T)
    • FreeGLUT - GLUTの機能を強化した、上位互換ライブラリ [2]
  • SFML
  • ClanLib….衝突判定までしてくれるらしい。Game SDK
  • Allegro

WinAPIのウィンドウを使って書く。

コアなライブラリ

  • GL3W…OpenGLの3と4向けのナウいライブラリらしいぞ!
  • GLUS….GLEWとGLFWを使ったOpenGL3&4向けのナウいライブラリ2 2010年リリース

Windowsにはじめからついている

  • GLU - カメラや球、円筒、曲面などの取り扱いを補助する
  • GLX - X Window SystemでOpenGLを利用するためのライブラリ
  • WGL - Microsoft WindowsでOpenGLを利用するためのライブラリ

CGL, AGL, NSOpenGL (Cocoaの一部) - Mac OS XでOpenGLを利用するためのライブラリ
GLUT - クロスプラットフォームのOpenGL対応ウィジェット・ツールキット
AUX - ウィジェット・ツールキットであるが、古くなっておりGLUTの使用が推奨されている
PLIB - OpenGLを利用したゲーム開発ライブラリ
OpenML
OpenGL ES - 組み込みシステム (embedded system) 向けのOpenGLのサブセット
OpenSceneGraph
FLTK - クロスプラットフォームのOpenGL対応ウィジェット・ツールキット
Open Inventor
GameProgrammingWikiによる表

スレッド

POSIX のスレッド pthread を使う。(OS-X、Linux、mingw では標準です、
VisualStudio を使う場合は、pthread-win32 ライブラリーを使います)

サウンド

OpenAL

3Dモデルデータを扱うライブラリ

ply
assimp….色々な3Dポリゴンフォーマットを読み込んでくれるライブラリ 読み込み専用で、3Dモデルデータ生成はできない。
trimesh…. C++, .ply, off, .3ds, .obj, 各種有名モデルフォーマットに対応した使いやすいライブラリ。

パーサー 

OpenGL自体は3Dのファイルフォーマットを何も規定していないが、
何らかのフォーマットを読めないと面白くないので以下は一例。
(他に使いやすいライブラリがあったらスレで紹介してください)
・TriMesh2: http://www.cs.princeton.edu/gfx/proj/trimesh2/
   PLY,OBJほか
・GLMetaseq: http://kougaku-navi.net/
   メタセコイア、だと思うのだが使った事がないので知らない

その他

OpenSceneGraph
シーングラフライブラリ。
・freetype          http://www.freetype.org/
ビットマップフォントやベクタフォントのレンダリングを行うライブラリ。

フォント描画

・FTGL           http://homepages.paradise.net.nz/henryj/code/index.html#FTGL
Freetypeを利用したもの。マルチプラットフォーム。アウトラインフォント対応。日本語が使えるかは未確認。

クロスプラットフォームの3D API OpenGLに関する話題を扱うスレッド。
現在のバージョンは3.2
http://www.opengl.org/

OpenGLと一緒に使われるツール&ライブラリ

苦労したくなかったらとりあえず入れとけ。
・glx:    XからOpenGLを使うためのライブラリ。普通は直接は使わず意識する事はない
・glut:   クロスプラットフォームなツールキット。でもさすがに古くさい
・glew:   これを入れないと拡張機能が使えないor使いにくい
・glxgears: 歯車が回るベンチマーク。-infoでOpenGLのバージョンが見られる。OpenGLの動作確認はこれで
・glxinfo:  自分の使っているカードのOpenGLの機能が全てリストアップされる。

必読書

・OpenGLプログラミングガイド 原著第5版 (通称赤本)
・OpenGL(R) Reference Manual (通称青本)
・OpenGL Shading Language (通称だいだい本)
・OpenGL(R) SuperBible: Comprehensive Tutorial and Reference
・OpenGL ES 2.0 プログラミングガイド
・GLUTによるOpenGL入門
・GLUTによるOpenGL入門2 テクスチャマッピング
あると便利。
・ゲームプログラミングのための3Dグラフィックス数学

チュートリアルサイト

床井研究室: http://marina.sys.wakayama-u.ac.jp/~tokoi/oglarticles.html
NeHe:    http://nehe.gamedev.net/
SDL ゲームなどのマルチメディア関係のソフトウェアを開発するための、グラフィックやサウンド等のAPIを提供するライブラリの一つ

http://ja.wikipedia.org/wiki/SDL

C/C++以外から使うには

Rubyから    –> ruby-opengl
Pythonから   –> PyOpenGL
Javaから    –> JOGL
JavaScriptから –> ???
Haskellから  –> ???
C#->OpenTK
3 :デフォルトの名無しさん:2010/01/19(火) 20:57:59

その他

・Mesa: http://www.mesa3d.org/
   フリーのOpenGLのソフトウェア実装。どうしても実装のソースが見たい人用。
   ただしお世辞にもわかりやすいとは言えない
Libs that work great with OpenGL

サポートサイト Wikidot.com