「moreover lwjgl」 1 基本Windowの表示(1)
LWJGL3.0についてです。というか、2.9とOpenGL系は変わってないので、新しい方でやってみたいだけです。
LWJGLの構築方法は、簡単に説明します。詳しいことは他のサイトで見てみてください。ちなみに、WindowsでIDEにEclipseを使っています。
1.lwjgl公式ページに行って、LWJGL3.0の”Download”へ。”Release”のところの”Download Release”をクリック。
2.ダウンロードしたzipファイルをフォルダ(半角英字系だけがいいらしい)に展開
3.Eclipseのプロジェクトのビルド・パスに新しいライブラリー(ユーザー定義)を追加する。
4.その中に先ほど展開したlwjglの、"jar"フォルダ内にある"lwjgl.jar"を”外部jar追加”で追加する。
5.追加した"lwjgl.jar"の”ネイティブ・ライブラリーのロケーション”に展開したlwjglの"native"フォルダーを指定する。
6.終わり!
追記:2016/7/10
LWJGL3.0が、Java8に対応しました。それどころかJava8を基本にしないと動かなくなりました!
そこで、LWJGLの実行環境はJava8以降にしないといけません。気をつけて下さい。
↓既存のEclipse(Java7まで対応してた)をJava8に対応させる方法↓
javatechnology.net
ということで、新しくプロジェクトを作って、Windowを表示させるプログラムを作りましょう~
LWJGL3.0からGLUTが使えなくなったので、代わりにGLFWを使います。
それでは、それぞれ解説します。
解説 (GLFW系は青色に)
3~5行目 : staticなimportです。OpenGL/GLFW系はたくさん使うのでstaticだと楽で見やすいです。
15行目 : windowのハンドルです。GLFWでは、Windowをハンドル(操る物)で操作します。また、ハンドルにはLong値を使います。
18行目 : mainメソッド内で、runメソッドを呼び出しています。
23,24行目 : 処理は基本的に初期設定のstartメソッドと、実行中のことや描画に関するrenderメソッドに分けます。
25行目 : ハンドル(long window)のWindowを終了します。これは、renderメソッド外に出た時に実行されます。
28行目 : GLFWを終了させます。
これは
プログラムが終わる前にかならず実行しなければならないです。
31行目 : startメソッドの開始
36~39行目 : GLFWが起動できたかどうかのチェックです。glfwInit()で起動させます。
起動できたかをBoolean値で調べ、出来なかったらIllegalStateException(不正だと思われたクラス/メソッドを呼び出した時に呼ばれるエラー)を出します。Stringの中は適当です…
これらは、次のようにまとめられます。
if(!glfwInit()){ throw new IllegalStateException("Not enable GLFW Init"); }
(追記:LWJGL3.0.0bまではglfwInit()はint値を返していました。そしてその値が1(GLFW_TRUE)と等しければ起動に成功するようになっていました。)
とりあえず、いったんこの辺で解説を終えます。残りの解説は次の記事に回します。
P.S. >自分はJavaに関しても、OpenGLに関しても対して詳しくもないので、質問は簡単なことにしか答えられません。すみません…