[orx-temporal-blur] Fix TemporalBlur compatibility with ProgramImplementation
This commit is contained in:
@@ -5,16 +5,10 @@ import org.openrndr.math.Polar
|
|||||||
|
|
||||||
fun main() = application {
|
fun main() = application {
|
||||||
program {
|
program {
|
||||||
if (System.getProperty("takeScreenshot") == "true") {
|
|
||||||
extend(SingleScreenshot()) {
|
|
||||||
this.outputFile = System.getProperty("screenshotPath")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
extend(TemporalBlur()) {
|
extend(TemporalBlur()) {
|
||||||
samples = 10
|
samples = 10
|
||||||
duration = 0.9
|
duration = 0.9
|
||||||
}
|
}
|
||||||
|
|
||||||
extend {
|
extend {
|
||||||
drawer.circle(Polar(seconds * 360.0, 200.0).cartesian + drawer.bounds.center, 50.0)
|
drawer.circle(Polar(seconds * 360.0, 200.0).cartesian + drawer.bounds.center, 50.0)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,12 @@
|
|||||||
import org.openrndr.application
|
import org.openrndr.application
|
||||||
import org.openrndr.color.ColorRGBa
|
import org.openrndr.color.ColorRGBa
|
||||||
import org.openrndr.draw.tint
|
import org.openrndr.draw.tint
|
||||||
import org.openrndr.extensions.SingleScreenshot
|
|
||||||
import org.openrndr.extra.temporalblur.TemporalBlur
|
import org.openrndr.extra.temporalblur.TemporalBlur
|
||||||
import org.openrndr.math.Polar
|
import org.openrndr.math.Polar
|
||||||
import kotlin.math.cos
|
import kotlin.math.cos
|
||||||
|
|
||||||
fun main() = application {
|
fun main() = application {
|
||||||
program {
|
program {
|
||||||
if (System.getProperty("takeScreenshot") == "true") {
|
|
||||||
extend(SingleScreenshot()) {
|
|
||||||
this.outputFile = System.getProperty("screenshotPath")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
extend(TemporalBlur()) {
|
extend(TemporalBlur()) {
|
||||||
samples = 100
|
samples = 100
|
||||||
duration = 10.0
|
duration = 10.0
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package org.openrndr.extra.temporalblur
|
|||||||
import org.intellij.lang.annotations.Language
|
import org.intellij.lang.annotations.Language
|
||||||
import org.openrndr.Extension
|
import org.openrndr.Extension
|
||||||
import org.openrndr.Program
|
import org.openrndr.Program
|
||||||
|
import org.openrndr.ProgramImplementation
|
||||||
import org.openrndr.color.ColorRGBa
|
import org.openrndr.color.ColorRGBa
|
||||||
import org.openrndr.draw.*
|
import org.openrndr.draw.*
|
||||||
import org.openrndr.extra.noise.uniformRing
|
import org.openrndr.extra.noise.uniformRing
|
||||||
@@ -179,7 +180,7 @@ class TemporalBlur : Extension {
|
|||||||
program.clock = { oldClockValue - (i * duration) / (fps * samples) }
|
program.clock = { oldClockValue - (i * duration) / (fps * samples) }
|
||||||
|
|
||||||
// I guess we need something better here.
|
// I guess we need something better here.
|
||||||
val fsf = Program::class.java.getDeclaredField("frameSeconds")
|
val fsf = ProgramImplementation::class.java.getDeclaredField("frameSeconds")
|
||||||
fsf.isAccessible = true
|
fsf.isAccessible = true
|
||||||
fsf.setDouble(program, program.clock())
|
fsf.setDouble(program, program.clock())
|
||||||
|
|
||||||
@@ -229,7 +230,7 @@ class TemporalBlur : Extension {
|
|||||||
|
|
||||||
// restore clock
|
// restore clock
|
||||||
program.clock = oldClock
|
program.clock = oldClock
|
||||||
val fsf = Program::class.java.getDeclaredField("frameSeconds")
|
val fsf = ProgramImplementation::class.java.getDeclaredField("frameSeconds")
|
||||||
fsf.isAccessible = true
|
fsf.isAccessible = true
|
||||||
fsf.setDouble(program, oldClockTime)
|
fsf.setDouble(program, oldClockTime)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user