Help us understand the problem. What is going on with this article?

OpenGL について

More than 1 year has passed since last update.

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

jamaican
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away