[orx-dnk3] Add segmentContourRenderer
This commit is contained in:
34
orx-dnk3/src/main/kotlin/renderers/SegmentContourRenderer.kt
Normal file
34
orx-dnk3/src/main/kotlin/renderers/SegmentContourRenderer.kt
Normal file
@@ -0,0 +1,34 @@
|
||||
package org.openrndr.extra.dnk3.renderers
|
||||
|
||||
import org.openrndr.draw.BufferMultisample
|
||||
import org.openrndr.draw.ColorFormat
|
||||
import org.openrndr.draw.ColorType
|
||||
import org.openrndr.extra.dnk3.*
|
||||
import org.openrndr.extra.dnk3.post.SegmentContours
|
||||
import org.openrndr.extra.dnk3.post.SegmentContoursMSAA8
|
||||
|
||||
fun segmentContourRenderer(multisample: BufferMultisample = BufferMultisample.Disabled): SceneRenderer {
|
||||
val sr = SceneRenderer()
|
||||
sr.outputPasses.clear()
|
||||
sr.outputPasses.add(
|
||||
RenderPass(
|
||||
listOf(FragmentIDFacet()),
|
||||
multisample = multisample
|
||||
)
|
||||
)
|
||||
sr.postSteps.add(
|
||||
FilterPostStep(1.0,
|
||||
when (multisample) {
|
||||
BufferMultisample.Disabled -> SegmentContours()
|
||||
BufferMultisample.SampleCount(8) -> SegmentContoursMSAA8()
|
||||
else -> error("unsupported multisampling mode $multisample")
|
||||
},
|
||||
listOf("fragmentID"),
|
||||
"segments",
|
||||
ColorFormat.RGB,
|
||||
ColorType.UINT8
|
||||
)
|
||||
)
|
||||
sr.drawFinalBuffer = true
|
||||
return sr
|
||||
}
|
||||
Reference in New Issue
Block a user