ネコのために鐘は鳴る

寺院に住み着くパソコ〇好き

(備忘録)C++でOpenGL使う時に調べた用語まとめ

C++素人がC++OpenGLで遊びたいなと思った時に出てきた用語をまとめた。

知っていた単語、聞いたことはあるが理解していなかった単語、知らなかった単語もあるが、 備忘録として関連してそうなワードを独断と偏見でまとめてみた。

間違いや勘違いがあれば教えてください。

調べた単語

  • Cmake

    cppプロジェクトのコンパイルを自動化するためのツール。コンパイラ非依存。 様々なOSで利用可能。最小限の依存関係のみを持つ設計で、コンパイラ自体は別に必要。 makefileと同じような物だがmakefileの方がレガシー(たぶん)。

  • Clang

    GCCに代わるC系言語のコンパイラ。C, C++, Objective-Cなどで使える。 2019年現在もオープンソース開発は積極的に行われている。「クラン」と読むらしい

  • Boost

    C++の代表的なライブラリ。 データ構造から入出力処理、メモリ操作など多岐にわたる便利機能を提供している。 pythonにとってのnumpyと同じぐらいC++erにとっては当たり前に使うライブラリっぽい。

  • OpenGL

    OSに依存しない2D/3Dグラフィック処理を提供するライブラリ。 APIC/C++。Open Graphics Libraryの略らしい。OS非依存なのでスマホでも動くよ。 もちろんOS非依存だが、グラフィックを表示するためのウィンドウ生成自体は 各OSの機能(WindowsAPI/X Window System等)にお願いせざるを得ないので、初期化部分でOSに依存してしまうかわいそうな子(?)。 その辺のOS差を吸収してくれるGLUKやGLFWといったOpenGL補助ライブラリも存在する。

  • GLFW

    OpenGLの補助ライブラリ。色々とOpenGLを扱うのが簡単になる。 昔([要出典] いつ?)はGLUKというのがよく使われていたらしいが、 2016年に開発が止まっているので、今はGLFWを使うのが主流らしい。

  • OpenCL

    Open Computing Language。 名前が似ているOpenGLと混同されがちだが別物。 こちらはGPUに計算処理をさせるためのフレームワーク

  • 静的ライブラリ・共有ライブラリ (C/C++)

    静的ライブラリは、単にC言語のオブジェクトファイル(拡張子 .o)を複数まとめただけのアーカイブ。 リンカがリンク時に使用しコンパイルする。 Windowsでの拡張子は.lib、unix系は.a

    共有ライブラリは呼び出し時に動的に呼び出されるバイナリ。 Windowsでの拡張子は.dll、unix系は.so

  • X Window System

    Unix系OSGUIのウィンドウを表示するためのシステム。

  • DirectX

    Microsoftが開発しているWindows向け2D/3Dグラフィック処理API群。 Windowsでゲームなどで高速にグラフィックを扱うために作られた。もちろんMac/Linuxでは使えない。