I'm not sure if this will help, but here's some tidbits from the day I spent
toying around with JOGL... I think it was version 1.1.1.

This is part of the Ant file that I used:
...
        <java classname="clojure.lang.Compile" fork="true"
failonerror="true">
            <classpath>
                <pathelement location="${src_dir}" />
                <pathelement location="${src_dir}/classes" />
                <pathelement location="${clojure_jar}" />
                <pathelement location="${contrib_jar}" />
                <pathelement location="${jogl_jar}" />
                <pathelement location="${gluegen_jar}" />
            </classpath>
            <sysproperty key="clojure.compile.path"
value="${src_dir}/classes" />
            <arg line="${files_to_compile}" />
        </java>
...

I can reproduce a similar error by commenting out the line for the jogl_jar.

Exception in thread "main" java.lang.ClassNotFoundException:
javax.media.opengl.GLCanvas (jogltest.clj:1)

Here's the Clojure file I used (be warned - it's very very bad Clojure
code):

(ns jogltest
    (:import
        (java.io BufferedReader InputStreamReader)
        (java.awt Frame)
        (java.awt.event WindowListener WindowAdapter KeyListener KeyEvent)
        (javax.media.opengl GLCanvas GLEventListener GL GLAutoDrawable)
        (javax.media.opengl.glu GLU)
        (com.sun.opengl.util Animator))
    (:gen-class))

(defn exit [a f]
(.stop a)
(.dispose f))


(defn -main [& args]
    (println "works")
(let [
rotateT 0
glu (new GLU)
canvas (new GLCanvas)
frame (new Frame "Jogl 3D Shape/Rotation")
animator (new Animator canvas)]

(.addGLEventListener
canvas
(proxy [GLEventListener] []
 (display
  [#^GLAutoDrawable drawable]
  (doto (.getGL drawable)
    (.glClear (. GL GL_COLOR_BUFFER_BIT))
    (.glClear (. GL GL_DEPTH_BUFFER_BIT))
    (.glLoadIdentity)
    (.glTranslatef 0 0 -5)
    (.glRotatef rotateT 1 0 0)
    (.glRotatef rotateT 0 1 0)
    (.glRotatef rotateT 0 0 1)
    (.glRotatef rotateT 0 1 0)
    (.glBegin (. GL GL_TRIANGLES))
    ; Front
    (.glColor3f 0 1 1) (.glVertex3f 0 1 0) (.glColor3f 0 0 1) (.glVertex3f
-1 -1 1) (.glColor3f 0 0 0) (.glVertex3f 1 -1 1)
    ; Right Side Facing Front
    (.glColor3f 0 1 1) (.glVertex3f 0 1 0) (.glColor3f 0 0 1) (.glVertex3f 1
-1 1) (.glColor3f 0 0 0) (.glVertex3f 0 -1 -1)
    ; Left Side Facing Front
    (.glColor3f 0 1 1) (.glVertex3f 0 1 0) (.glColor3f 0 0 1) (.glVertex3f 0
-1 -1) (.glColor3f 0 0 0) (.glVertex3f -1 -1 1)
    ;Bottom
    (.glColor3f 0 0 0) (.glVertex3f -1 -1 1) (.glColor3f 0.1 0.1 0.1)
(.glVertex3f 1 -1 1) (.glColor3f 0.2 0.2 0.2) (.glVertex3f 0 -1 -1)
    (.glEnd))
  (def rotateT (+ 0.2 rotateT)))

 (displayChanged [drawable m d])

 (init
  [#^GLAutoDrawable drawable]
  (doto (.getGL drawable)
    (.glShadeModel (. GL GL_SMOOTH))
    (.glClearColor 0 0 0 0)
    (.glClearDepth 1)
    (.glEnable (. GL GL_DEPTH_TEST))
    (.glDepthFunc (. GL GL_LEQUAL))
    (.glHint (. GL GL_PERSPECTIVE_CORRECTION_HINT)
         (. GL GL_NICEST)))
  (.addKeyListener
   drawable
   (proxy [KeyListener] []
     (keyPressed
  [e]
  (when (= (.getKeyCode e) (. KeyEvent VK_ESCAPE))
    (exit animator frame))))))

 (reshape
  [#^GLAutoDrawable drawable x y w h]
  (when (> h 0)
    (let [gl (.getGL drawable)]
  (.glMatrixMode gl (. GL GL_PROJECTION))
  (.glLoadIdentity gl)
  (.gluPerspective glu 50 (/ w h) 1 1000)
  (.glMatrixMode gl (. GL GL_MODELVIEW))
  (.glLoadIdentity gl))))))

(doto frame
(.add canvas)
(.setSize 640 480)
(.setUndecorated true)
(.setExtendedState (. Frame MAXIMIZED_BOTH))
(.addWindowListener
 (proxy [WindowAdapter] []
   (windowClosing [e] (exit animator frame))))
(.setVisible true))
(.start animator)
(.requestFocus canvas)

;(Thread/sleep (* 1 1000))

)
)

Good luck!!
-Rich

P.s. - I switched to using JME... it had more of the features I was looking
for.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to