LWJGLでOpenGLの画面を表示してみます。 Javaで書くのと大差無いです。多分。
;; dependenciesに追加 [org.lwjgl/lwjgl "2.7.1"] [org.lwjgl/lwjgl-util "2.7.1"] [org.lwjgl/lwjgl-native-platform "2.7.1"]
(import '[org.lwjgl.opengl DisplayMode Display GL11]) (def width 640) (def height 480) (def display-mode (DisplayMode. width height)) (defn draw [] (GL11/glClear GL11/GL_COLOR_BUFFER_BIT) (GL11/glBegin GL11/GL_LINES) (GL11/glColor3d 1.0 0.0 0.0) (GL11/glVertex3d 1.0 1.0 0.0) (GL11/glVertex3d (- width 1) (- height 1) 0.0) (GL11/glEnd) (GL11/glFlush)) (defn start [] (Display/setDisplayMode display-mode) (Display/setTitle "Hello") (Display/create) (GL11/glEnable GL11/GL_CULL_FACE) (GL11/glCullFace GL11/GL_BACK) (GL11/glMatrixMode GL11/GL_PROJECTION) (GL11/glLoadIdentity) (GL11/glOrtho 0 width 0 height 0 1) (GL11/glMatrixMode GL11/GL_MODELVIEW) (while (not (Display/isCloseRequested)) (draw) (Display/update)) (Display/destroy)) ; (start)
CやC++でOpenGLを書く必要に迫られたら、プロトタイプをClojureで書いてみることもできそうです。
0 件のコメント:
コメントを投稿