Skip to content

Commit

Permalink
Add new compositor demo for multisampling
Browse files Browse the repository at this point in the history
  • Loading branch information
Vechro committed May 16, 2022
1 parent ecb19a4 commit 5fea790
Showing 1 changed file with 50 additions and 0 deletions.
50 changes: 50 additions & 0 deletions orx-compositor/src/demo/kotlin/DemoCompositor02.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import org.openrndr.application
import org.openrndr.color.ColorRGBa
import org.openrndr.draw.BufferMultisample
import org.openrndr.extra.compositor.blend
import org.openrndr.extra.compositor.compose
import org.openrndr.extra.compositor.draw
import org.openrndr.extra.compositor.layer
import org.openrndr.extra.fx.blend.Normal
import org.openrndr.math.Vector2
import org.openrndr.shape.Rectangle

/**
* Demonstration of using [BufferMultisample] on a per layer basis.
* Try changing which layer has multisampling applied and observe the results.
*/
fun main() = application {
configure {
width = 800
height = 800
}

program {
val layers = compose {
layer(BufferMultisample.SampleCount(16)) {
draw {
drawer.translate(drawer.bounds.center)
drawer.rotate(seconds)
drawer.fill = ColorRGBa.PINK
drawer.rectangle(Rectangle.fromCenter(Vector2.ZERO, 200.0))
}

layer() {
blend(Normal()) {
clip = true
}
draw {
drawer.rotate(seconds * -2)
drawer.fill = ColorRGBa.WHITE
drawer.rectangle(Rectangle.fromCenter(Vector2.ZERO, 200.0))
}
}
}
}

extend {
drawer.clear(ColorRGBa.WHITE)
layers.draw(drawer)
}
}
}

0 comments on commit 5fea790

Please sign in to comment.