The original Penumbra can be found at: https://github.com/ztellman/penumbra
From the original readme:
“Penumbra is an idiomatic wrapper for OpenGL in Clojure, by way of LWJGL.”
This version of Penumbra is a fork that is really just an attempt to
get OpenGL working with clojure on my system. I’ve merged changes
from https://github.com/mortuosplango/penumbra and
https://github.com/kephale/penumbra, which seem to be the closest thing
to people who are putting any effort at all into maintaining this truly
amazing project.
Bare-bones example (I’m at least halfway reverse-engineering at this
point, so bear with me on this):
lein deps
lein repl
> (require ’[penumbra.example.opengl.gears :as gears])
nil
> (gears/start)
→ Should get a sample window drawing a rotating gear. Pressing the ESC
key while the window’s focused will cause it to exit. I get a long
java stack trace from a NullPointerException that happens.
At this point, we can probably all profit by reading ztellman’s
original documentation and source code. I really only created this
fork so I’d have something to play with while I’m working my way
through that, and the native dependencies just were not working.
(I’m thankful that kephale seems to have actually taken care of
that problem for me).
Examples that aren’t working (according to mortuosplango):
- test/example/app/async.clj
- test/example/app/switch.clj
- test/example/game/asteroids.clj
- test/example/gpgpu/brians_brain.clj
- test/example/gpgpu/convolution.clj
- test/example/gpgpu/fluid.clj
- test/example/gpgpu/mandelbrot.clj
- test/example/gpgpu/n_body.clj
- test/example/opengl/marble.clj
- test/example/opengl/shadow.clj
- test/example/opengl/squares.clj
- test/example/wiki/shader3.clj