diff options
| author | Akshay Nair <phenax5@gmail.com> | 2026-10-03 22:37:16 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2026-10-03 22:44:48 +0530 |
| commit | b32d32248e0bfd6e763991b14c9d7bf29063ed29 (patch) | |
| tree | ce607e60d9ffa267e42bca69b80db800ff67d210 /src/main/kotlin/phenax/extensions | |
| parent | 592603fdeedfd4e6784606b9e7c9c8fdb306af42 (diff) | |
| download | art-playground-openrndr-b32d32248e0bfd6e763991b14c9d7bf29063ed29.tar.gz art-playground-openrndr-b32d32248e0bfd6e763991b14c9d7bf29063ed29.zip | |
Fix recording
Diffstat (limited to 'src/main/kotlin/phenax/extensions')
| -rw-r--r-- | src/main/kotlin/phenax/extensions/CameraManager.kt | 4 | ||||
| -rw-r--r-- | src/main/kotlin/phenax/extensions/HeadlessRecording.kt | 53 |
2 files changed, 2 insertions, 55 deletions
diff --git a/src/main/kotlin/phenax/extensions/CameraManager.kt b/src/main/kotlin/phenax/extensions/CameraManager.kt index 5112332..1f03493 100644 --- a/src/main/kotlin/phenax/extensions/CameraManager.kt +++ b/src/main/kotlin/phenax/extensions/CameraManager.kt @@ -35,7 +35,7 @@ class CameraManager(public var cameraPosition: Vector3, public var cameraRotatio } override fun setup(program: Program) { - if (recordingEnabled || screenshotEnabled) return + if (captureEnabled) return cameraQuaternion = Quaternion.fromAngles(cameraRotation.x, cameraRotation.y, cameraRotation.z) @@ -99,7 +99,7 @@ class CameraManager(public var cameraPosition: Vector3, public var cameraRotatio override fun beforeDraw(drawer: Drawer, program: Program) {} override fun afterDraw(drawer: Drawer, program: Program) { - if (recordingEnabled || screenshotEnabled) return + if (captureEnabled) return drawer.fontMap = font drawer.fill = ColorRGBa.WHITE diff --git a/src/main/kotlin/phenax/extensions/HeadlessRecording.kt b/src/main/kotlin/phenax/extensions/HeadlessRecording.kt deleted file mode 100644 index 78cde2c..0000000 --- a/src/main/kotlin/phenax/extensions/HeadlessRecording.kt +++ /dev/null @@ -1,53 +0,0 @@ -package phenax.extensions - -import org.openrndr.* -import org.openrndr.draw.* -import org.openrndr.ffmpeg.VideoWriter -import phenax.utils.recordDuration - -class HeadlessRecorder : Extension { - override var enabled: Boolean = true - - var videoTarget: RenderTarget? = null - var videoWriter: VideoWriter? = null - var maxFrameCount: Int? = null - - override fun setup(program: Program) { - val width = program.application.configuration.width - val height = program.application.configuration.height - program.width = width - program.height = height - videoWriter = - VideoWriter().apply { - frameRate = 60 - size(width, height) - output("video/${program.name}.mp4") - start() - } - videoTarget = - renderTarget(width, height) { - colorBuffer() - depthBuffer() - } - maxFrameCount = recordDuration() - program.clock = { program.frameCount / (videoWriter?.frameRate?.toDouble() ?: 0.0) } - } - - override fun beforeDraw(drawer: Drawer, program: Program) { - videoTarget?.bind() - program.backgroundColor?.let { drawer.clear(it) } - } - - override fun afterDraw(drawer: Drawer, program: Program) { - val target = videoTarget ?: return - val writer = videoWriter ?: return - - target.unbind() - writer.frame(target.colorBuffer(0)) - - if (program.frameCount >= (maxFrameCount ?: 60 * 10)) { - writer.stop() - program.application.exit() - } - } -} |
