Marko Novaković
05/27/2025, 11:01 PMModifier
that creates sanded paper texture. but the performance is TERRIBLE as expected with the number of drawn circles.
how to make performance better?
fun Modifier.sandedPaperOverlay(
lightGrainColor: Color = Color.White.copy(alpha = 0.04f),
darkGrainColor: Color = Color.Black.copy(alpha = 0.03f),
grainCount: Int = 40_000,
maxGrainRadius: Float = 2f,
): Modifier = this.drawWithContent {
drawContent()
val random = Random(0)
repeat(grainCount) {
val x = random.nextFloat() * size.width
val y = random.nextFloat() * size.height
val r = random.nextFloat() * maxGrainRadius + 1f
drawCircle(lightGrainColor, r, Offset(x, y))
}
repeat(grainCount / 2) {
val x = random.nextFloat() * size.width
val y = random.nextFloat() * size.height
val r = random.nextFloat() * maxGrainRadius + 1f
drawCircle(darkGrainColor, r, Offset(x, y))
}
}
Sergey Y.
05/27/2025, 11:07 PMSergey Y.
05/27/2025, 11:09 PMMarko Novaković
05/27/2025, 11:09 PMSergey Y.
05/27/2025, 11:10 PMSergey Y.
05/27/2025, 11:12 PMMarko Novaković
05/27/2025, 11:14 PMMarko Novaković
05/27/2025, 11:14 PMSergey Y.
05/27/2025, 11:15 PMSergey Y.
05/27/2025, 11:15 PMSergey Y.
05/27/2025, 11:17 PMMarko Novaković
05/27/2025, 11:25 PMromainguy
05/28/2025, 12:02 AMromainguy
05/28/2025, 12:03 AMromainguy
05/28/2025, 12:07 AMShaderBrush(ImageShader(…))
and passing the repeated tile modes on each axisromainguy
05/28/2025, 12:07 AMromainguy
05/28/2025, 12:08 AMMarko Novaković
05/28/2025, 9:41 AMSergey Y.
05/28/2025, 9:44 AM