49 lines
2.2 KiB
Kotlin
49 lines
2.2 KiB
Kotlin
package bezierpatch
|
|
|
|
import org.openrndr.application
|
|
import org.openrndr.color.ColorRGBa
|
|
import org.openrndr.draw.loadFont
|
|
import org.openrndr.extra.color.spaces.toOKLABa
|
|
import org.openrndr.extra.shapes.bezierpatches.bezierPatch
|
|
import org.openrndr.shape.Circle
|
|
|
|
fun main() {
|
|
application {
|
|
configure {
|
|
width = 720
|
|
height = 720
|
|
}
|
|
program {
|
|
extend {
|
|
drawer.clear(ColorRGBa.BLACK)
|
|
val bp2 = bezierPatch(
|
|
Circle(width/2.0 - 180.0, height/2.0, 170.0).contour
|
|
).withColors(
|
|
listOf(
|
|
listOf(ColorRGBa.PINK, ColorRGBa.PINK, ColorRGBa.PINK, ColorRGBa.PINK),
|
|
listOf(ColorRGBa.RED, ColorRGBa.RED, ColorRGBa.RED, ColorRGBa.RED),
|
|
listOf(ColorRGBa.BLUE, ColorRGBa.BLUE, ColorRGBa.BLUE, ColorRGBa.BLUE),
|
|
listOf(ColorRGBa.WHITE, ColorRGBa.WHITE, ColorRGBa.WHITE, ColorRGBa.WHITE),
|
|
)
|
|
)
|
|
drawer.bezierPatch(bp2)
|
|
val bp3 = bezierPatch(
|
|
Circle(width/2.0 + 180.0, height/2.0, 170.0).contour
|
|
).withColors(
|
|
listOf(
|
|
listOf(ColorRGBa.PINK.toOKLABa(), ColorRGBa.PINK.toOKLABa(), ColorRGBa.PINK.toOKLABa(), ColorRGBa.PINK.toOKLABa()),
|
|
listOf(ColorRGBa.RED.toOKLABa(), ColorRGBa.RED.toOKLABa(), ColorRGBa.RED.toOKLABa(), ColorRGBa.RED.toOKLABa()),
|
|
listOf(ColorRGBa.BLUE.toOKLABa(), ColorRGBa.BLUE.toOKLABa(), ColorRGBa.BLUE.toOKLABa(), ColorRGBa.BLUE.toOKLABa()),
|
|
listOf(ColorRGBa.WHITE.toOKLABa(), ColorRGBa.WHITE.toOKLABa(), ColorRGBa.WHITE.toOKLABa(), ColorRGBa.WHITE.toOKLABa()),
|
|
)
|
|
)
|
|
drawer.bezierPatch(bp3)
|
|
|
|
drawer.fill = ColorRGBa.WHITE
|
|
drawer.fontMap = loadFont("demo-data/fonts/IBMPlexMono-Regular.ttf", 16.0)
|
|
drawer.text("RGB", width/2.0 - 180.0, height/2.0 + 200.0)
|
|
drawer.text("OKLab", width/2.0 + 180.0, height/2.0 + 200.0)
|
|
}
|
|
}
|
|
}
|
|
} |