なんじゃくにっき

プログラミングの話題中心。

ScalaでJOGL(1)

ScalaからJOGL使っている人はちらほらいるけれど、
俺もやってみようと思ってやってみた。
 
https://jogamp.org/deployment/webstart/
 
まずは↑からjarを落としてくるところから始める。
JOGL 2.x系統になってから実行に必要なjarが増えたみたい。
 
glugent-rt.jar
jogl.all.jar
nativewindow.jar
newt.all.jar

の4つと、それぞれに対応したネイティブのライブラリが4つ必要
(ex. grugent-rt-natives-linux-amd64.jar)。
 
とりあえず、最低限動くコードから。
ウィンドウが一瞬表示されて消えるだけのもの。

package demo

import javax.media.opengl._
import javax.media.opengl.awt.GLCanvas

import com.jogamp.newt.event._
import com.jogamp.newt.opengl.GLWindow

object JOGLWindowDemo {
def main(args: Array[String]) = {
val glp = GLProfile.getDefault()
val caps = new GLCapabilities(glp)
val canvas = new GLCanvas(caps)

val window = GLWindow.create(caps);
window.setSize(300, 300);
window.setVisible(true);

window.addWindowListener(new WindowAdapter() {
override def windowDestroyNotify(e: WindowEvent) {
System.exit(0);
}
})
}
}