LoginSignup
6
11

More than 5 years have passed since last update.

OpenGL について

Last updated at Posted at 2018-02-17

OpenGL周りについての知識をまとめる。
間違っているところもあると思うが、とりあえず現状の認識を
指摘や新たに分かった事があれば随時反映。

1. OpenGL とは

  • Open Graphics Library
  • グラフィックライブラリで、ハードウェアに近いレベルの機能を提供する
  • マルチプラットフォーム対応で様々なOS上で動く
  • 3Dのプログラムを書こうと思った時に、まずこれか DirectX が候補にあがるぐいらい代表的なもの

[補足] API, ライブラリ, フレームワークについて
それぞれ自身のコードにリンクできる便利な外部機能群の事だが、それぞれ微妙に意味が異なるらしい。

  • API ... Application Programming Interface。便利機能を呼び出す際のプログラム的な仕様。
    文章でもいいし、実際のプログラムでもいいみたい
  • ライブラリ ... 実装されたAPI
  • フレームワーク ... ライブラリの中でもプログラムの土台部分を提供するもの

2. OpenGL を使うには

OpenGL自体はハードウェアに近いレベルの機能を提供するライブラリであるそうで、OS上にウィンドウを出すなどの機能は提供されていない。なので、実際にアプリを作る際は、下記の拡張ライブラリから使うのが一般的らしい。(それぞれマルチプラットフォーム対応で、言語はC/C++)

  • GLUT

    • OpenGL Utility Toolkit
    • OpenGLを使うのに便利なツールキット(GUI機能)を提供する
    • だいぶ前から更新停止
  • FreeGLUT

    • gultを強化したもの
    • 最終releaseは、2015/03
    • ツールキット部分は、コールバック関数を多用するのが特徴
  • GLFW (zlib/libpng)

    • freeglutに変わる新しいOpenGLフレームワーク
    • ツールキット部分は、普通の上から下に流れるプログラムで書ける

他にも OpenGL を使う上で便利なライブラリがある。

  • GLEW (修正BSD, MIT)
    • OpenGL3.xや4.xの機能を使いやすく提供してくれるライブラリ
    • OpenGLを使う時には必須レベルのものらしい

3. 参考URL

6
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
11