I can't get it to work (certainly an issue with my JOGL install) but if
you compile your code with *warn-on-reflection* set to true, you'll see
a lot of warnings. You can make them go way by hinting your drawable arg
for each method of the proxy:
(proxy [GLEventListener] []
(display [#^javax.media.opengl.GLAutoDrawable drawable]
...
and by hinting the gl arg in the gear function.
(defn gear
[#^javax.media.opengl.GL gl inner-radius outer-radius width teeth
tooth-depth]
A rule of thumb is that each time you invoke a method on an unhinted arg
you use reflection (unless it's a method of java.lang.Object).
It may help it to run faster.
Christophe
Christophe