aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/kaleidos/KaleidosProgram.kt
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2026-10-09 22:33:25 +0530
committerAkshay Nair <phenax5@gmail.com>2026-10-09 22:33:25 +0530
commit8fe030133f6f561d19db9c639cee7d029ff95c76 (patch)
treee93bca24612cd8a8623a68bf5a212b0cb97e376e /src/main/kotlin/kaleidos/KaleidosProgram.kt
parentffb3a21f18823d7e0d649b390c9a11576c04cb92 (diff)
downloadart-playground-openrndr-master.tar.gz
art-playground-openrndr-master.zip
Kaleidosmaster
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)
+ }
+ }
+}