aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/kaleidos
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main/kotlin/kaleidos/KaleidosProgram.kt39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/main/kotlin/kaleidos/KaleidosProgram.kt b/src/main/kotlin/kaleidos/KaleidosProgram.kt
new file mode 100644
index 0000000..4bc14f8
--- /dev/null
+++ b/src/main/kotlin/kaleidos/KaleidosProgram.kt
@@ -0,0 +1,39 @@
+package kaleidos
+
+import org.openrndr.application
+import org.openrndr.color.*
+import org.openrndr.draw.*
+import phenax.utils.*
+
+fun main() = application {
+ recordDuration(20.seconds())
+
+ if (captureEnabled) {
+ configure {
+ width = 1920
+ height = 1440
+ windowResizable = false
+ }
+ } else {
+ configure {
+ width = 640
+ height = 480
+ windowResizable = false
+ }
+ }
+
+ oliveProgram {
+ val cs by liveComputeShader("kaleidos")
+ val enableAntialiasing = captureEnabled
+
+ val outputBuffer = colorBuffer(width, height, type = ColorType.UINT8)
+
+ extend {
+ cs.uniform("seconds", seconds)
+ cs.uniform("enable_antialiasing", enableAntialiasing)
+ cs.image("output_image", 0, outputBuffer.imageBinding(0, ImageAccess.WRITE))
+ cs.execute(outputBuffer.width, outputBuffer.height, 1)
+ drawer.image(outputBuffer)
+ }
+ }
+}