1. Karsten Schmidt
  2. simplecl


Karsten Schmidt  committed 960f06e

updating read me, updating JOCL dependency, adding /export dummy

  • Participants
  • Parent commits 375cf7f
  • Branches default
  • Tags 0.1.4

Comments (0)

Files changed (4)

File README.md

View file
  • Ignore whitespace
 # simplecl
-A Clojure wrapper for JOCL
+Clojure wrapper & highlevel processing pipeline ops for JOCL/OpenCL
-## Usage
+Simplecl intends to enable a somewhat declarative interop approach between Clojure and OpenCL compute kernels. It provides thin wrappers for basic OpenCL data structures (contexts, devices, buffers, programs, kernels), as well as an highlevel API to define & configure multi-kernel & multi-program workflows and transforming data between Clojure's data structures and their native OpenCL representation as byte buffers.
+Simplecl is still a young project, but has been sucessfully used in production in several projects and is already (fairly) well documented.
+## Usage & examples
+Please see the extensive doc strings, marginalia docs and the 2D Verlet physics demo for a complete & visual example use case:
+### Verlet cloth sim
+Running the command below will run a basic 2d cloth simulation with 40,000 particles & 80,000 springs and generate an image sequence of 120 PNGs in the `/export` sub-directory.
+    :::bash
+    lein with-profile test run -m simplecl.verlet-test
+A video of three different variations of this demo can be downloaded from here: [verlet-cloth-sim.mp4](http://media.postspectacular.com/2012/simplecl/20121208-gridx-hd720.mp4)
+### 3D Strange attractor
+A sneak peak of an upcoming example kernel pipeline to:
+1. compute a 2d strange attractor
+2. apply a 2D distortion filter to all points
+3. map the result points onto the surface of a sphere and
+4. apply a 3D distortion filter to all points
+5. do a standard 3d > 2d camera-screen projection
+A short video fragment too: [attractor.mp4](http://media.postspectacular.com/2012/simplecl/20121205-attractor-grad-hd720.mp4)
+More examples & documentation will be added ASAP.
 ## License
-Copyright © 2012 Karsten Schmidt
+Copyright © 2012 Karsten Schmidt / PostSpectacular Ltd.
 Distributed under the Eclipse Public License, the same as Clojure.

File export/.empty

  • Ignore whitespace
Empty file added.

File project.clj

View file
  • Ignore whitespace
   :license {:name "Eclipse Public License"
             :url "http://www.eclipse.org/legal/epl-v10.html"}
   :dependencies [[org.clojure/clojure "1.4.0"]
-                 [com.jogamp/gluegen-rt "2.0.0" :classifier "rc10"]
-                 [com.jogamp/jocl "2.0.0" :classifier "rc10"]]
-  :profiles {:test {:dependencies [[com.postspectacular/structgen "0.1.0"]]
+                 [org.clojars.toxi/jocl "2.0.0-rc10"]]
+  :profiles {:test {:dependencies [[com.postspectacular/structgen "0.1.1"]]
                     :jvm-opts ["-Xms512m" "-Xmx2g"]}}

File resources/kernels/physics.cl

View file
  • Ignore whitespace
- * OpenCL 2D verlet physics demo kernel
+ * OpenCL 2D verlet physics demo kernels
  * v0.1.0 - initial skeleton implementation
  * v0.1.1 - added particle locking & circle constraints