いいえ

軽量 Java ゲームライブラリ (LWJGL)
原作者カスピアン・プリンス
開発者イオアニス・ツァクピニス
初回リリース2007年2月4日; 18年前[1] (2007-02-04)
安定版リリース
3.3.6 / 2025年1月4日; 10か月前 (2025-01-04)
リポジトリgithub.com/lwjgl
書かれたJavaCコトリン[2] [3]
オペレーティング·システムLinuxmacOSWindowsFreeBSD
プラットフォームJavaプラットフォーム
タイプ無料のコンピュータライブラリ
ライセンスBSD[4]異なるライセンスに基づくいくつかのバインディング[2]
Webサイトlwjgl.org

軽量JavaゲームライブラリLWJGL)は、ビデオゲーム開発者向けに、様々なCライブラリとJavaのバインディングを提供するオープンソース ソフトウェアライブラリです。Vulkan 、OpenGLGLFWOpenALOpenCLなど、ビデオゲームやマルチメディアタイトルの開発で一般的に使用されるクロスプラットフォームライブラリを公開ています

このプロジェクトの主目的は、Java開発者が既存のJavaプラットフォームでは利用できない、あるいは実装が不十分なリソースにアクセスできるようにすることです。その理念は、基盤となる技術を薄いラッパーとして公開し、オリジナルに近いAPIを作成することです。これは、 libGDXjMonkeyEngineといった多くの高水準Javaゲームエンジンやライブラリの基盤にもなっています

歴史

このライブラリの開発は、2002年のJ2SE 1.4のリリースとともに開始され、新たに追加された非ブロッキングI/O操作オフヒープメモリアクセスを活用しました。これらのJDKへの追加により、ネイティブメモリやJDKに含まれていないライブラリへのアクセスが向上しました。このライブラリの最初の公式リリースは2007年2月4日に行われました。[1]

2014年11月13日にバージョン3が発表され、2015年4月27日にアルファ版がリリースされ、LWJGLの完全な書き直しとなった。[5] [6] [7] GLFWEGLObjective-Cなど、多くの新しいバインディングが追加された。[4] [6] LibOVRバインディングにより、 Oculus Rift開発のサポートも追加された。[4] [7]新バージョンは、3年半以上の開発期間を経て、2016年6月4日にリリースされた。[8]

バインディング

このライブラリは、Java Native Interface (JNI) を介してネイティブCコードにアクセスします。各ネイティブライブラリへのバインディングは個別のモジュールとして存在するため、開発者は特定のプログラムに必要なものだけを含むカスタムビルドを作成できます。[4] [7] [9]

ユーティリティクラスは純粋なJavaで書かれていますが、バインディングクラスのほとんどはKotlinで実装されたカスタムジェネレータによって自動的に生成されます[2] [3]

バージョン3.1以降、LWJGLは51個のモジュールに完全に分割され、個別にダウンロードして使用できます。このプロセスを容易にするために、プロジェクトではオンラインビルドコンフィギュレータを提供しています。これにより、ユーザーはモジュールのカスタム組み合わせをダウンロードでき、MavenおよびGradleの設定ファイルを自動的に生成して既存のプロジェクトでの使用を容易にします。[10] [11]

提供されたバインディング[2] [4]
バインディングカテゴリ説明注記
EGLクロノスAPIKhronos レンダリング API と基盤となるネイティブ プラットフォーム ウィンドウ システム間のインターフェイス。
オープンCLクロスプラットフォーム並列コンピューティング用の API 。
オープンGLほとんどのGPUベンダーによって実装されている 3D グラフィックス仕様ほとんどの拡張機能はサポートされていますが、あまり人気のない拡張機能もリクエストに応じて追加されます。
OpenGL ES携帯電話、タブレット、コンソールなどの組み込みシステム向けの OpenGL 。
ヴルカン近々登場するクロスプラットフォーム 3D グラフィック API。
GLFW表示と入力OpenGL および Vulkan コンテキストとユーザー入力を処理するために必要なウィンドウ管理ライブラリ。
ジョートAWTネイティブ インターフェイス。
nfd小さなクロスプラットフォームのネイティブ ファイル ダイアログ ライブラリ。
タイニーfd小さなネイティブ ダイアログ ライブラリ。
オープンALオーディオ3次元オーディオAPI。ALCおよびその他の拡張機能がサポートされています。具体的には、OpenAL Soft実装がバンドルされています。
オーパスオープンでロイヤリティフリーのオーディオ コーデック
アシンプグラフィックさまざまな3D モデル形式をインポートするためのポータブル オープン ソース ライブラリ
bgfx複数のグラフィック バックエンドをサポートするクロスプラットフォーム レンダリング ライブラリ。
ドリフトFXOpenGL コンテンツを JavaFX ノードにレンダリングするためのライブラリ。
リブOVROculus Rift SDKの API
メショップティマイザーメッシュを小さくし、レンダリングを高速化するメッシュ最適化ライブラリ
ナノSVGシンプルなSVGパーサー。
ナノVGOpenGL を使用した 2D ベクター グラフィックス レンダリング ライブラリ。
ヌクリアシンプルなGUIライブラリ。
パーシェイプパラメトリックおよびその他の単純な形状のジェネレーター
par_streamlines幅の広い線や曲線を三角形に分割します。
オープンVRアプリケーションが対象とするハードウェアの種類に関する特定の知識を必要とせずに、複数のベンダーの VR ハードウェアにアクセスできる API ランタイム。
シェーダークシェーダーコンパイル用のライブラリのコレクション
SPIRVクロスSPIR-Vに対してリフレクションを実行し、SPIR-V を高級言語に逆アセンブルするためのライブラリ。
オープンEXROpenEXR (.exr) イメージを読み込んで保存するための小さな単一ヘッダー ライブラリ。
トゥートル(AMD)既存のメッシュ前処理技術を改良した 3D 三角形メッシュ最適化ライブラリ。
Vulkan メモリアロケータ簡単に統合できる Vulkan メモリ割り当てライブラリ。
ヨガCSS Flexboxを実装するオープンソースのクロスプラットフォーム レイアウト ライブラリ
STBSTB画像、サウンド、フォントを読み込むための軽量の単一ファイル ライブラリ。
弾丸物理学他のVR、ゲーム、視覚効果、ロボット工学、機械学習などのためのリアルタイム衝突検出とマルチフィジックスシミュレーション。
CUDAGPU 上の一般的なコンピューティング向けにNVIDIAが開発した並列コンピューティング プラットフォームとプログラミング モデル。
ディンコール移植可能な方法で C 関数を動的に呼び出すためのライブラリ。削除されるように設定します。
ジェマロック低レベルのメモリ管理。
libffiさまざまな呼び出し規約に対応する、移植可能な高レベルのプログラミング インターフェイス。dyncall を置き換えます。
libdivide高価な整数除算を比較的安価な乗算とビットシフトに置き換えるライブラリ。
LLVMモジュール式で再利用可能なコンパイラとツールチェーン テクノロジのコレクション。
LMDBメモリマップファイルを使用した高速データベースライブラリ
LZ4速度に重点を置いたロスレスデータ圧縮アルゴリズム。
ニャーハッシュ高速な非暗号化ハッシュ
ODBCアプリケーションがさまざまなデータベース管理システムのデータにアクセスできるようにする C 言語インターフェイス。
遠隔地リアルタイム CPU/GPUプロファイラー
rpmallocクロスプラットフォーム スレッド キャッシュ メモリ アロケータ。
xxハッシュ高速な非暗号化ハッシュ。
Z標準高速なロスレス圧縮アルゴリズム。

注目すべき用途

参考文献

  1. ^ ab Matzon, Brian (2007年2月4日). 「LWJGL 1.0 リリース」. LWJGLフォーラム. 2016年7月23日閲覧
  2. ^ abcd "LWJGL/lwjgl3". github.com . 2016年8月13日閲覧
  3. ^ ab "lwjgl3/doc – Generator". github.com . 2015年8月11日. 2015年8月30日閲覧
  4. ^ abcde 「公式サイト」 。 2015年8月14日閲覧
  5. ^ ツァクピニス、イオアニス (2014 年 11 月 13 日)。 「LWJGL 3 へようこそ」。blog.lwjgl.org
  6. ^ ab "LWJGL 3 ロードマップ". github.com . 2015年6月2日閲覧
  7. ^ abc Tsakpinis, Ioannis (2015年4月27日). 「LWJGL 3.0.0a リリース」. blog.lwjgl.org .
  8. ^ 「LWJGL 3.0.0 リリース!」blog.lwjgl.org . 2016年6月4日. 2016年6月4日閲覧
  9. ^ 「Bindings FAQ」. github.com . 2014年12月27日. 2015年7月27日閲覧
  10. ^ 「LWJGL 3.1.0 リリース!」blog.lwjgl.org . 2016年10月30日. 2016年11月11日閲覧
  11. ^ 「ダウンロード – LWJGL」. lwjgl.org . 2016年11月11日閲覧
  12. ^ “Minecraft Attributions | Minecraft”. Minecraft.net . 2020年7月9日閲覧
  13. ^ 「APZDTISA #3: 今回はライブマルチプレイヤー!(原文ママ)」Project Zomboid . 2014年2月17日. 2022年1月25日閲覧
  • 公式サイト
Retrieved from "https://en.wikipedia.org/w/index.php?title=LWJGL&oldid=1314093279"