GLFW

GLFW
原作者マーカス・ギールナード
開発者GLFW開発チーム
初回リリース2002年2月17日 (2002年2月17日
安定版リリース
3.4 / 2024年2月23日[ 1 ] ( 2024-02-23 )
リポジトリ
書かれたC
オペレーティング·システムLinuxmacOSMicrosoft WindowsFreeBSDNetBSDOpenBSD
プラットフォームクロスプラットフォーム
タイプAPI
ライセンスzlib/libpngライセンス[ 2 ]
Webサイトwww.glfw.org ウィキデータで編集する

GLFW (Graphics Library Framework)は、 OpenGLOpenGL ESVulkanで使用するための軽量ユーティリティライブラリです。プログラマーは、ウィンドウやOpenGLおよびVulkanコンテキストの作成と管理、ジョイスティックキーボードマウス入力の処理が可能になります。[ 3 ]

ソフトウェアアーキテクチャ

GLFWは、OpenGLコンテキストを持つウィンドウの作成と管理を可能にする小さなCライブラリであり、複数のモニターやビデオモードの使用も可能にします。キーボード、マウス、ジョイスティックからの入力へのアクセスも提供します。[ 4 ] APIは、主にOpenGL APIを介してのみグラフィックス出力を行うアプリケーション向けに、薄型のマルチプラットフォーム抽象化レイヤーを提供します。GLFWはマルチプラットフォームのOpenGLアプリケーションの開発に非常に有用ですが、単一プラットフォームの開発者にとっても、プラットフォーム固有のAPIを扱う必要がないというメリットがあります。

GLFWはウィンドウを必要とするプログラムで使用されます。これは、OpenGLが必要なコンテキストの作成、ウィンドウの管理、ユーザー入力、タイミングなどのメカニズムを提供していないためです。 [ 5 ] OpenGL開発を支援するために利用できるライブラリは他にもいくつかあります。最も一般的なものはFreeGLUT(GLUTのオープンソース実装)とSDLです。ただし、FreeGLUTは主にGLUTの安定したクローンを提供することに重点を置いているのに対し、SDLは一部の人にとっては大きすぎ、OpenGLを主な対象としたことがありません。GLFWは、OpenGLのコンテキスト、ウィンドウ、および入力を管理するための軽量でモダンなライブラリの余地があるという仮定に基づいています。

GLFWは、ユーザーインターフェースライブラリ、プラットフォーム固有のライブラリ、画像読み込みライブラリ、スレッドライブラリではありません。また、独立したレンダリングやサウンドの再生もできません。[ 6 ]

プログラミング言語バインディング

GLFWはC言語で書かれていますが、 AdaC#Common LispDDelphiGoHarbourHaskellJavaJuliaPythonRebolRedRubyRustなどの他のプログラミング言語でAPIを使用するためのバインディングが存在します。[ 7 ]

バックエンド

GLFWバージョン3.2では、コンパイル時のフラグを通じてWaylandを実験的にサポートしています。 [ 8 ]

参照

参考文献

  1. ^ "リリース · glfw/glfw" . github.com . 2024年2月23日閲覧
  2. ^ "License | GLFW" . glfw.org . 2021年4月10日閲覧
  3. ^ 「GLFWホームページ」www.glfw.org . 2022年9月15日閲覧
  4. ^ 「GLFW: 入力ガイド」 . www.glfw.org . 2021年2月7日閲覧
  5. ^ 「LearnOpenGL - ウィンドウの作成」 . www.learnopengl.com . 2022年9月15日閲覧。
  6. ^ 「GLFW – FAQ」 。 2015年7月11日閲覧
  7. ^ 「GLFWプログラミング言語バインディング」 。 2019年9月4日閲覧
  8. ^ 「GLFW: 3.2 の新機能」