From 49b6b0c9d7de093fc63af376afe5d03f1690995a Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sun, 11 Oct 2026 17:27:08 +0530 Subject: More roll credits details --- src/main/kotlin/org/openrndr/Preload.kt | 8 ++++++-- .../kotlin/phenax/extensions/HeadlessScreenshot.kt | 2 -- src/main/kotlin/roll_credits/RollCreditsProgram.kt | 19 ++++--------------- 3 files changed, 10 insertions(+), 19 deletions(-) (limited to 'src/main/kotlin') 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()) } } } -- cgit v1.3.1