diff --git a/orx-fx/src/commonMain/kotlin/blur/LaserBlur.kt b/orx-fx/src/commonMain/kotlin/blur/LaserBlur.kt index 8913df26..63b8b01a 100644 --- a/orx-fx/src/commonMain/kotlin/blur/LaserBlur.kt +++ b/orx-fx/src/commonMain/kotlin/blur/LaserBlur.kt @@ -31,7 +31,7 @@ private class LaserBlurPass : Filter(mppFilterShader(fx_laser_blur, "laser-blur" } @Description("Laser blur") -class LaserBlur : Filter1to1() { +class LaserBlur : Filter1to1(null) { @Vector2Parameter("center", order = 0) var center = Vector2.ZERO diff --git a/orx-fx/src/commonMain/kotlin/composite/CompositeFilter.kt b/orx-fx/src/commonMain/kotlin/composite/CompositeFilter.kt index 1e011c2d..9a56715b 100644 --- a/orx-fx/src/commonMain/kotlin/composite/CompositeFilter.kt +++ b/orx-fx/src/commonMain/kotlin/composite/CompositeFilter.kt @@ -24,7 +24,7 @@ class CompositeFilter( private val firstParameters: F0.() -> Unit, private val secondParameters: F1.() -> Unit, private val useIntermediateBuffer: Boolean = false -) : Filter() { +) : Filter(null) { private var intermediate: ColorBuffer? = null override fun apply(source: Array, target: Array, clip: Rectangle?) { diff --git a/orx-fx/src/commonMain/kotlin/distort/FluidDistort.kt b/orx-fx/src/commonMain/kotlin/distort/FluidDistort.kt index 13f201fd..e4c82980 100644 --- a/orx-fx/src/commonMain/kotlin/distort/FluidDistort.kt +++ b/orx-fx/src/commonMain/kotlin/distort/FluidDistort.kt @@ -18,7 +18,7 @@ private class FluidDistortFilter : Filter(mppFilterShader(fx_fluid_distort, "flu } } -class FluidDistort : Filter1to1() { +class FluidDistort : Filter1to1(null) { var blend: Double = 1.0 var outputUV = false diff --git a/orx-jumpflood/src/commonMain/kotlin/ClusteredField.kt b/orx-jumpflood/src/commonMain/kotlin/ClusteredField.kt index 088199f2..98766d86 100644 --- a/orx-jumpflood/src/commonMain/kotlin/ClusteredField.kt +++ b/orx-jumpflood/src/commonMain/kotlin/ClusteredField.kt @@ -17,7 +17,7 @@ import kotlin.math.pow @Description("Clustered field") class ClusteredField(decodeMode: DecodeMode = DecodeMode.DIRECTION, - private val outputDistanceToContours: Boolean = true) : Filter1to1() { + private val outputDistanceToContours: Boolean = true) : Filter1to1(null) { @DoubleParameter("threshold", 0.0, 1.0) var threshold = 0.5 diff --git a/orx-jumpflood/src/commonMain/kotlin/DirectionalField.kt b/orx-jumpflood/src/commonMain/kotlin/DirectionalField.kt index dd1ec1bf..cc71d8ad 100644 --- a/orx-jumpflood/src/commonMain/kotlin/DirectionalField.kt +++ b/orx-jumpflood/src/commonMain/kotlin/DirectionalField.kt @@ -48,7 +48,7 @@ import kotlin.math.pow * */ @Description("Directional field") -class DirectionalField : Filter1to1() { +class DirectionalField : Filter1to1(null) { @DoubleParameter("threshold", 0.0, 1.0) var threshold = 0.5 diff --git a/orx-jumpflood/src/commonMain/kotlin/DistanceField.kt b/orx-jumpflood/src/commonMain/kotlin/DistanceField.kt index e9079cac..d4a70afe 100644 --- a/orx-jumpflood/src/commonMain/kotlin/DistanceField.kt +++ b/orx-jumpflood/src/commonMain/kotlin/DistanceField.kt @@ -34,7 +34,7 @@ import kotlin.math.pow * intermediate buffers to reduce memory allocation overhead. */ @Description("Distance field") -class DistanceField : Filter1to1() { +class DistanceField : Filter1to1(null) { @DoubleParameter("threshold", 0.0, 1.0) var threshold = 0.5 diff --git a/orx-jumpflood/src/commonMain/kotlin/fx/InnerBevel.kt b/orx-jumpflood/src/commonMain/kotlin/fx/InnerBevel.kt index 087e9aef..9433dc61 100644 --- a/orx-jumpflood/src/commonMain/kotlin/fx/InnerBevel.kt +++ b/orx-jumpflood/src/commonMain/kotlin/fx/InnerBevel.kt @@ -25,7 +25,7 @@ private class InnerBevelFilter : Filter(filterShaderFromCode(jf_inner_bevel, "in } @Description("Inner bevel") -class InnerBevel : Filter1to1() { +class InnerBevel : Filter1to1(null) { @DoubleParameter("threshold", 0.0, 1.0) var threshold = 0.01 diff --git a/orx-jumpflood/src/commonMain/kotlin/fx/InnerGlow.kt b/orx-jumpflood/src/commonMain/kotlin/fx/InnerGlow.kt index 85770cab..9144c49d 100644 --- a/orx-jumpflood/src/commonMain/kotlin/fx/InnerGlow.kt +++ b/orx-jumpflood/src/commonMain/kotlin/fx/InnerGlow.kt @@ -34,7 +34,7 @@ private class InnerGlowFilter : Filter(filterShaderFromCode(jf_inner_glow, "inne } @Description("Inner glow") -class InnerGlow : Filter1to1() { +class InnerGlow : Filter1to1(null) { @DoubleParameter("width", 0.0, 50.0) var width = 5.0 diff --git a/orx-jumpflood/src/commonMain/kotlin/fx/Inpaint.kt b/orx-jumpflood/src/commonMain/kotlin/fx/Inpaint.kt index 9be51b2c..a7c40cc1 100644 --- a/orx-jumpflood/src/commonMain/kotlin/fx/Inpaint.kt +++ b/orx-jumpflood/src/commonMain/kotlin/fx/Inpaint.kt @@ -30,7 +30,7 @@ private class InpaintFilter : Filter(filterShaderFromCode(jf_inpaint, "inpaint") } @Description("Inpaint") -class Inpaint : Filter1to1() { +class Inpaint : Filter1to1(null) { @DoubleParameter("width", 0.0, 1.0) var width = 0.5 diff --git a/orx-jumpflood/src/commonMain/kotlin/fx/OuterGlow.kt b/orx-jumpflood/src/commonMain/kotlin/fx/OuterGlow.kt index 27e174eb..6804a1cb 100644 --- a/orx-jumpflood/src/commonMain/kotlin/fx/OuterGlow.kt +++ b/orx-jumpflood/src/commonMain/kotlin/fx/OuterGlow.kt @@ -34,7 +34,7 @@ private class OuterGlowFilter : Filter(filterShaderFromCode(jf_outer_glow, "oute } @Description("Outer glow") -class OuterGlow : Filter1to1() { +class OuterGlow : Filter1to1(null) { @DoubleParameter("width", 0.0, 50.0) var width = 5.0 diff --git a/orx-jumpflood/src/commonMain/kotlin/fx/Skeleton.kt b/orx-jumpflood/src/commonMain/kotlin/fx/Skeleton.kt index a60bd981..a6385c21 100644 --- a/orx-jumpflood/src/commonMain/kotlin/fx/Skeleton.kt +++ b/orx-jumpflood/src/commonMain/kotlin/fx/Skeleton.kt @@ -28,7 +28,7 @@ private class SkeletonFilter : Filter(filterShaderFromCode(jf_skeleton, "skeleto } @Description("Skeleton") -class Skeleton : Filter() { +class Skeleton : Filter(null) { @DoubleParameter("threshold", 0.0, 1.0, order = 0) var threshold = 0.5 diff --git a/orx-jumpflood/src/commonMain/kotlin/fx/StraightSkeleton.kt b/orx-jumpflood/src/commonMain/kotlin/fx/StraightSkeleton.kt index fcb077c6..0ba25cc9 100644 --- a/orx-jumpflood/src/commonMain/kotlin/fx/StraightSkeleton.kt +++ b/orx-jumpflood/src/commonMain/kotlin/fx/StraightSkeleton.kt @@ -31,7 +31,7 @@ private class StraightSkeletonFilter : Filter(filterShaderFromCode(jf_straight_s } @Description("Skeleton") -class StraightSkeleton : Filter() { +class StraightSkeleton : Filter(null) { @DoubleParameter("threshold", 0.0, 1.0, order = 0) var threshold = 0.5 diff --git a/orx-jvm/orx-dnk3/src/main/kotlin/cubemap/CubemapFilter.kt b/orx-jvm/orx-dnk3/src/main/kotlin/cubemap/CubemapFilter.kt index 93dbe60a..d08ad740 100644 --- a/orx-jvm/orx-dnk3/src/main/kotlin/cubemap/CubemapFilter.kt +++ b/orx-jvm/orx-dnk3/src/main/kotlin/cubemap/CubemapFilter.kt @@ -24,7 +24,7 @@ private var filterQuadFormat = vertexFormat { /** * Filter base class. Renders "full-screen" quads. */ -open class CubemapFilter(private val shader: Shader? = null, private val watcher: ShaderWatcher? = null) { +open class CubemapFilter(private val shader: Shader? = null) { /** * parameter map @@ -79,7 +79,9 @@ open class CubemapFilter(private val shader: Shader? = null, private val watcher } fun apply(source: Array, target: RenderTarget) { - val shader = if (this.watcher != null) watcher.shader!! else this.shader!! + if (shader == null) { + return + } target.bind() if (filterQuad == null) { diff --git a/orx-jvm/orx-poisson-fill/src/main/kotlin/PoissonBlender.kt b/orx-jvm/orx-poisson-fill/src/main/kotlin/PoissonBlender.kt index 9522d3f4..b814deb0 100644 --- a/orx-jvm/orx-poisson-fill/src/main/kotlin/PoissonBlender.kt +++ b/orx-jvm/orx-poisson-fill/src/main/kotlin/PoissonBlender.kt @@ -66,7 +66,7 @@ class PoissonBlender(val width: Int, val height: Int, type: ColorType = ColorTyp } -class PoissonBlend: Filter2to1() { +class PoissonBlend: Filter2to1(null) { private var blender: PoissonBlender? = null val alphaToBitmap = AlphaToBitmap() diff --git a/orx-jvm/orx-poisson-fill/src/main/kotlin/PoissonFiller.kt b/orx-jvm/orx-poisson-fill/src/main/kotlin/PoissonFiller.kt index e145b33e..89bcf1b8 100644 --- a/orx-jvm/orx-poisson-fill/src/main/kotlin/PoissonFiller.kt +++ b/orx-jvm/orx-poisson-fill/src/main/kotlin/PoissonFiller.kt @@ -40,7 +40,7 @@ class PoissonFiller(val width: Int, val height: Int, type: ColorType = ColorType /** * Poison filling as a filter */ -class PoissonFill : Filter1to1() { +class PoissonFill : Filter1to1(null) { private var filler: PoissonFiller? = null override fun apply(source: Array, target: Array, clip: Rectangle?) { require(clip == null)