「moreover lwjgl」 3 三角形の表示
LWJGL3である必要性はありません(古いやり方だから)が、三角形を表示するプログラムを作ってみましょう。
では、ソースコードから。
解説
解説では、この前のWindowの表示にさらに足した物を解説することにします。
GLFW系は青色、OpenGL系はオレンジにしています。
28行目 : GLFWを終える前に、Callbackらをすべて消しておきます。
47行目 : WindowのAspect比を設定しています。
アスペクト比(Aspect ratio)とは、物の長辺と短辺の比のことです。この場合、例えば横と縦の比を"3 : 4"にしたいときは、
glfwSetWindowAspectRatio(window,3,4)
としましょう。
72~75行目 : Windowのサイズを変更した時のCallbackをラムダ式で指定しています。
ラムダ式のなかでは、GLFWWindowSizeCallbackIという関数型インターフェイスを使っています。そのなかにinvokeメソッドがあるため、Callback関数となっています。
74行目 : ViewPortを設定しています。
ViewPortは、OpenGLの描画を指定した矩形ないで表示させるものです。つまり、Windowサイズに応じて図形の大きさを調整しています。
80行目 : OpenGLによる描画処理を開始します。
OpenGLの描画をする際は、glBegin(int mode)と、glEnd()の間にしなければなりません。modeには、OpenGLで描画する図形のモードを指定できます。
モードにはいろいろな種類があります。
[GL_POINTS]
[GL_LINES]
(3つ目の点は、線が引かれないので表示されません)
[GL_LINE_STRIP]
[GL_LINE_LOOP]
[GL_TRIANGLES]
[GL_QUADS]
[GL_POLYGON]
81行目~ : 頂点座標を指定しています。
OpenGLの関数は基本的に、
glは、OpenGL系の関数の名前の始まりに必ずあります。
続いて関数の名前、引数の数、引数の型となっています。
84行目 : でOpenGLの描画を終了しています。
これだけで図形を描画することが出来ました。簡単ですね!
結果は、GL_TRIANGLESの時の写真通り(になるはず)です。