diff --git a/orx-shade-styles/src/commonMain/kotlin/fills/gradients/GradientBase.kt b/orx-shade-styles/src/commonMain/kotlin/fills/gradients/GradientBase.kt index 0f780bd0..b9eb9bf7 100644 --- a/orx-shade-styles/src/commonMain/kotlin/fills/gradients/GradientBase.kt +++ b/orx-shade-styles/src/commonMain/kotlin/fills/gradients/GradientBase.kt @@ -104,8 +104,8 @@ open class GradientBase( if (p_quantization != 0) { f *= float(p_quantization); - f = floor(f + 0.5); - f /= float(p_quantization); + f = floor(f); + f /= float(p_quantization) - 1.0; } float sf; diff --git a/orx-shade-styles/src/jvmDemo/kotlin/gradients/DemoGradient07.kt b/orx-shade-styles/src/jvmDemo/kotlin/gradients/DemoGradient07.kt new file mode 100644 index 00000000..62d93024 --- /dev/null +++ b/orx-shade-styles/src/jvmDemo/kotlin/gradients/DemoGradient07.kt @@ -0,0 +1,48 @@ +package gradients + +import org.openrndr.application +import org.openrndr.color.ColorRGBa +import org.openrndr.draw.loadFont +import org.openrndr.extra.camera.Camera2D +import org.openrndr.extra.color.presets.BLUE_STEEL +import org.openrndr.extra.shadestyles.fills.FillFit +import org.openrndr.extra.shadestyles.fills.FillUnits +import org.openrndr.extra.shadestyles.fills.SpreadMethod +import org.openrndr.extra.shadestyles.fills.gradients.gradient +import org.openrndr.extra.shapes.primitives.grid +import org.openrndr.math.Vector2 +import kotlin.math.PI +import kotlin.math.cos +import kotlin.math.sin + +fun main() = application { + configure { + width = 720 + height = 720 + } + program { + extend(Camera2D()) + extend { + val grid = drawer.bounds.grid(48, 1) + drawer.stroke = null + + for ((index, cell) in grid.flatten().withIndex()) { + drawer.shadeStyle = gradient { + quantization = index + 2 + stops[0.0] = ColorRGBa.WHITE + stops[ (quantization) / (quantization+1.0)] = ColorRGBa.BLACK + + fillUnits = FillUnits.BOUNDS + fillFit = FillFit.COVER + spreadMethod = SpreadMethod.PAD + + linear { + start = Vector2(0.5, 0.0) + end = Vector2(0.5, 1.0) + } + } + drawer.rectangle(cell) + } + } + } +} \ No newline at end of file