「じっくりGLとJava」 2 そもそもLWJGLとは?Javaで?
前の記事を再利用するという顛末ですが…
LWJGLとは
LWJGLとは…
LWJGL (Lightweight Java Game Library) とはコンピューターゲーム向けのJavaプラットフォームのオープンソースライブラリである。
OpenGL,OpenAL,OpenCL を Java から使えるようにし、ゲームパッドやハンドルやジョイスティックなどのコントローラをOSに依存しない形でアクセスできるようにする。
(by Wikipedia)
という感じです。「OpenGL系」の色々を取り込んだライブラリーでしたね。それが、ゲームに特化しているというのが特徴です。
公式サイトは
です。
Javaのプラットフォームは何が違うのか?
そもそも、JavaとC(C++)は何が違うのでしょうか…というより、なぜJavaなのでしょうか?
JavaはCを元にした言語で、昔から「遅い」と言われてきました。その原因が↓↓
しかし、最近では、Javaも改善されてきて…
というようになって、CやC++並の実行速度になることが出来ました。また、Javaの元々の特徴が、
*オブジェクト指向型言語
*インターネットにも対応
という感じなので、色々な場所(パソコン、スマホ、Web)に対応することが出来ます。
また、OpenGLも”OpenGL ES”という拡張版を使えばスマホなどの機械でも使えるようになるので、Javaに合っているといえます。
LWJGLの入れた他のライブラリー
また、LWJGLは他に
- OpenGL ES :OpenGLを埋込みの(携帯とか)機械でも使えるようにしたもの
- OpenAL :マルチプラットフォーム(マルチ化)のオーディオ(音楽)系API
- OpenCL :マルチ化の並列コンピューティング(計算など)系API
- GLFW :ウィンドウや、入力を管理するOpenGLの拡張ライブラリー
- EGL :OpenGLをそれぞれのプラットフォームとつなげるためのAPI
- Objective-C :C言語のオブジェクト型上位互換言語、iOSとかでも使えるようにする
- LibOVR (beta版) :ゴーグル型ディスプレイ"Oculus Rift"(by Oculus VR)のコード用API
- Vulkan (そのうち実装) :OpenGLの次世代型API
といった様々なAPIが入っています。特に最後の2つは、まだ開発段階ですが、最新技術を取り入れようとしていることがわかると思います。
このように、LWJGLはかなり開発が盛んなライブラリーなのです。ただ、LWJGLの基本が、
「OpenGLなどへの薄いラッパー(カバー)」
であるので、もっと厚くカバーしているものを使いたいのなら、Engine系や、Unityなどのゲーム作成ソフトを使ってみるのがいいでしょう。
次回は、、、、、わかりませんが、OpenGLでの色々をどんどん書いていきたいです。