aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2026-10-11 17:27:08 +0530
committerAkshay Nair <phenax5@gmail.com>2026-10-12 20:05:20 +0530
commit49b6b0c9d7de093fc63af376afe5d03f1690995a (patch)
tree6d4e0a203351ae996adc68301fe7f946ea655e26 /src/main/kotlin
parent256a42f2dbbb75227441c53f7259a6672d392659 (diff)
downloadart-playground-openrndr-49b6b0c9d7de093fc63af376afe5d03f1690995a.tar.gz
art-playground-openrndr-49b6b0c9d7de093fc63af376afe5d03f1690995a.zip
More roll credits details
Diffstat (limited to 'src/main/kotlin')
-rw-r--r--src/main/kotlin/org/openrndr/Preload.kt8
-rw-r--r--src/main/kotlin/phenax/extensions/HeadlessScreenshot.kt2
-rw-r--r--src/main/kotlin/roll_credits/RollCreditsProgram.kt19
3 files changed, 10 insertions, 19 deletions
diff --git a/src/main/kotlin/org/openrndr/Preload.kt b/src/main/kotlin/org/openrndr/Preload.kt
index e6a9688..42bab94 100644
--- a/src/main/kotlin/org/openrndr/Preload.kt
+++ b/src/main/kotlin/org/openrndr/Preload.kt
@@ -1,9 +1,9 @@
package org.openrndr
import org.openrndr.draw.*
+import org.openrndr.extensions.SingleScreenshot
import org.openrndr.extra.olive.*
import org.openrndr.ffmpeg.ScreenRecorder
-import phenax.extensions.HeadlessScreenshot
import phenax.utils.*
class Preload : ApplicationPreload() {
@@ -19,7 +19,11 @@ class Preload : ApplicationPreload() {
multisample = BufferMultisample.SampleCount(16)
}
} else if (screenshotEnabled) {
- program.extend(HeadlessScreenshot())
+ program.extend(SingleScreenshot()) {
+ outputFile = "screenshot/${program.name}.png"
+ async = false
+ quitAfterScreenshot = true
+ }
}
}
}
diff --git a/src/main/kotlin/phenax/extensions/HeadlessScreenshot.kt b/src/main/kotlin/phenax/extensions/HeadlessScreenshot.kt
index 35de05d..7bd9967 100644
--- a/src/main/kotlin/phenax/extensions/HeadlessScreenshot.kt
+++ b/src/main/kotlin/phenax/extensions/HeadlessScreenshot.kt
@@ -24,7 +24,5 @@ class HeadlessScreenshot : Extension {
override fun afterDraw(drawer: Drawer, program: Program) {
screenshots?.trigger()
-
- // program.application.exit()
}
}
diff --git a/src/main/kotlin/roll_credits/RollCreditsProgram.kt b/src/main/kotlin/roll_credits/RollCreditsProgram.kt
index b07d6fc..472ce85 100644
--- a/src/main/kotlin/roll_credits/RollCreditsProgram.kt
+++ b/src/main/kotlin/roll_credits/RollCreditsProgram.kt
@@ -3,8 +3,6 @@ package roll_credits
import org.openrndr.application
import org.openrndr.color.*
import org.openrndr.draw.*
-import org.openrndr.extra.noise.filters.SimplexNoise3D
-import org.openrndr.math.Vector3
import phenax.utils.*
fun main() = application {
@@ -25,31 +23,22 @@ fun main() = application {
}
oliveProgram {
+ val enableAntialiasing = captureEnabled
val cs by liveComputeShader("roll_credits")
- val outputBuffer = colorBuffer(width, height, type = ColorType.UINT8)
-
- val size = Math.max(width, height) * 2
- val noiseBuffer = colorBuffer(size, size, type = ColorType.UINT8)
- val noiseFilter = SimplexNoise3D()
- noiseFilter.scale = Vector3.ONE * 2.4
- noiseFilter.octaves = 8
- noiseFilter.premultipliedAlpha = true
+ val scale = if (enableAntialiasing) 2 else 1
+ val outputBuffer = colorBuffer(scale * width, scale * height, type = ColorType.UINT8)
// val camera_manager = CameraManager()
// extend(camera_manager)
extend {
- noiseFilter.seed = Vector3(0.01, 0.01, 0.001)
- noiseFilter.apply(emptyArray(), noiseBuffer)
- cs.image("noise_texture", 1, noiseBuffer.imageBinding(0, ImageAccess.READ))
-
// camera_manager.setUniforms(cs)
cs.uniform("seconds", seconds)
cs.image("output_image", 0, outputBuffer.imageBinding(0, ImageAccess.WRITE))
cs.execute(outputBuffer.width, outputBuffer.height, 1)
- drawer.image(outputBuffer)
+ drawer.image(outputBuffer, 0.0, 0.0, width.toDouble(), height.toDouble())
}
}
}