音ゲーの出来ない雑魚のブログ

LWJGLとかのことをいうブログ

「じっくりGLとJava」 1  LWJGL?OpenGL?

LWJGLの説明をもっとじっくりわかりやすく(?)説明したいと思います。LWJGLを知るには、その大元のOpenGLを知らないといけないので、そのへんの説明からしたいと思います。

OpenGL

そもそもOpenGLとは?

OpenGLは、簡単に言うと、、、
「どこでも軽く3D/2D表示出来るようにするフリーのプログラム」
です。
 3D表示をするソフト(3Dグラフィックソフト)というのは、もちろん画面内に3次元の物があるわけじゃなく、仮想的に3次元を作り、その中の「ある視点」を2Dの画面に写しているのです。例えば、数学などで書く展開図や見取り図と同じことです。
f:id:cakkby:20160311022253p:plain
 OpenGLはその中の一つで、無料で使えるライブラリー(中のプログラムを参照できるもの)なのです。
 ちなみに、OpenGLの正式名称は "Open Graphics Library"です。

OpenGLの歴史

 正直、歴史はそんなに大事じゃなさそう(というより、そんなに知らない)ので、細かいことはいいませんが…

 もともと、OpenGLの前駆はSilicon Graphicsという会社の”IrisGL"*1です。これはIRIXというOS*2上でしか動かせないものでした。

 IrisGLは多機能でしたが使いづらかったために、Silicon Graphicsは、使いやすく、更に、他のOSでも使える”Open”なグラフィックプログラムとして、”OpenGL”を作りました。

その後、Silicon Graphicsの破産などを受けて、2006年から The Khronos Group という標準化団体(その業界の標準を決める団体)が経営することになりました。

Direct XとOpenGL

OpenGLと同様に、3Dグラフィックソフトとして有名で、世界中で使われているのがDirectXです。

 DirectXWindowsを出しているMicrosoft が作ったフリーライブラリーです。OpenGLに比べて実行速度が早く、ゲームなどに特化した感じです。下にOpenGLとの違いをまとめました。

DirectXOpenGL
開発年19951992
対応OSWindowsのみWindows,Mac OS Linuxなどマルチプラットフォーム
高速で動くGPUGeForceQuadro
主な使用目的ゲームなどデザイン・設計など
 最近では、OpenGL 4.~がDirectX 11の性能に勝るというように、OpenGLも実行速度が早くなってきたので、どっちもどっちと言った感じです。

LWJGLについて

 そして、LWJGLについてです。LWJGLはOpenGLJavaで動かすようにしたフリーライブラリーです。LWJGLの中にはOpenGLの他に色々入っています。

                            
 次回にJavaの色々と、LWJGLの他のライブラリーを解説します。

*1:Integrated Raster Imaging System Graphics Library

*2:オペレーションシステム、ハードウェアとソフトウェアの架け橋。また、IRIXはSilicon GraphicsのOS