Direct3D、Metal、OpenGL、Vulkan、WebGLを抽象化し、独自のエンジンと組み合わせて使えるクロスプラットフォームのC++レンダリングライブラリ。
Dav1dde/glad
公式仕様からOpenGL、Vulkan、EGL、GLX、WGLなどのC/C++ほか各言語向けバインディングを生成するローダージェネレーター。
- スター
- 4,629
- フォーク
- 514
- 未解決の Issue
- 33
- 最終コミット
- 先月
これは何?
gladは、OpenGL、OpenGL ES、Vulkan、EGL、GLX、WGLなどのグラフィックスAPI用ローダーコードを生成します。これらのAPIの関数の多くは、リンク済みライブラリではなく実行時にグラフィックスドライバーから公開されるため、アプリケーションが関数を呼び出すには、まず関数ポインターを取得するローダーが必要です。gladは公式API仕様からローダーを生成するので、必要なAPIバージョンや拡張機能を選ぶと、それに対応するヘッダーファイルとソースファイルを取得できます。
このプロジェクトはジェネレーターで、API、バージョン、プロファイル、拡張機能を選んで生成ファイルをダウンロードできるWebサービス gen.glad.sh も提供しています。複数の言語向けに出力でき、READMEにはC、C++、Rustの例が掲載されています。また、一部の言語は旧ジェネレーターのglad1でのみ利用できると記載されています。コミュニティ製プラグインを使うとFortranにも対応できます。
サンプルでは、GLFWやSDL2/SDL3など一般的なウィンドウライブラリのほか、GLX、WGL、EGLを直接使う構成も紹介しています。
主な機能
- 01OpenGL、OpenGL ES、Vulkan、EGL、GLX、WGL用のローダーを生成します。
- 02公式API仕様をもとに生成し、バージョンや拡張機能を選択できます。
- 03オプションを選んで生成ファイルをダウンロードできるWebサービスを提供しています。
- 04C/C++やRustのサンプルがあり、プラグインを通じてほかの言語向けのバインディングも利用できます。
ユースケース
- GLFWやSDLを使うC/C++アプリケーションで、OpenGLまたはVulkanのレンダラーをセットアップする。
- 特定のOpenGLバージョンと拡張機能の組み合わせに固定したローダーを生成する。
- GL関数ポインターを必要とするグラフィックスプログラムをRustで書く。
クイックスタート
- 1
glad2 Webサービスで必要なローダーファイルを生成します
- 2
生成されたヘッダー(例: glad/gl.h)をインクルードし、ウィンドウ管理ライブラリのローダーを使って gladLoadGL を呼び出します
使う前に知っておきたいこと
- 一部の言語は、旧式の glad1 ジェネレーターでのみ利用できます。
- これは 2.0 ブランチで、以前のバージョンから API が変更されています。
- ライセンスは明確に特定できておらず、同梱されている Khronos 仕様の一部は Apache 2.0 の対象です。
トピック
よくある質問
- glad とは?
- 公式仕様からOpenGL、Vulkan、EGL、GLX、WGLなどのC/C++ほか各言語向けバインディングを生成するローダージェネレーター。 gladは、OpenGL、OpenGL ES、Vulkan、EGL、GLX、WGLなどのグラフィックスAPI用ローダーコードを生成します。これらのAPIの関数の多くは、リンク済みライブラリではなく実行時にグラフィックスドライバーから公開されるため、アプリケーションが関数を呼び出すには、まず関数ポインターを取得するローダーが必要です。gladは公式API仕様からローダーを生成するので、必要なAPIバージョンや拡張機能を選ぶと、それに対応するヘッダーファイルとソースファイルを取得できます。
- glad は無料で使えますか?ライセンスは?
- glad は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- glad は今もメンテナンスされていますか?
- 半年以内に更新あり。glad の最終コミットは 2026年9月28日 です。
- glad は何に使えますか?
- GLFWやSDLを使うC/C++アプリケーションで、OpenGLまたはVulkanのレンダラーをセットアップする。 特定のOpenGLバージョンと拡張機能の組み合わせに固定したローダーを生成する。 GL関数ポインターを必要とするグラフィックスプログラムをRustで書く。
- glad のインストール方法は?
- glad2 Webサービスで必要なローダーファイルを生成します 生成されたヘッダー(例: glad/gl.h)をインクルードし、ウィンドウ管理ライブラリのローダーを使って gladLoadGL を呼び出します
- glad はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/Dav1dde/glad
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
OGREは、Vulkan、Direct3D、OpenGLを抽象化し、C++やPythonでの3Dアプリケーション開発を支援するモジュール型C++レンダリングエンジンです。
宣言的DSLを中心に構成された、GLFW/SDL2のウィンドウバックエンドとOpenGL/Vulkan描画に対応するクロスプラットフォームC++17 UIフレームワーク。
three.js風API、OpenGLおよびVulkanバックエンド、Pythonバインディング、物理・センサーシミュレーションを備えたクロスプラットフォームのC++20 3Dライブラリ。
OpenAPI仕様から多くの言語・フレームワーク向けのAPIクライアントSDK、サーバースタブ、ドキュメントを生成
Androidでの軽量・高効率な動作を重視して設計された、Android、iOS、Linux、macOS、Windows、WebGL2対応のリアルタイム物理ベースレンダリングエンジン。