Here’s what I came up with as a fairly minimal setup and draw with 32bit color:
public class Test extends Program {
RenderTarget rt;
@Override
public void setup() {
super.setup();
rt = RenderTargetKt.renderTarget(
getWidth(),
getHeight(),
1.0,
BufferMultisample.Disabled.INSTANCE,
Session.Companion.getActive(),
builder -> {
builder.colorBuffer(ColorFormat.RGBa, ColorType.FLOAT32);
return Unit.INSTANCE;
}
);
}
boolean isDrawn = false;
@Override
public void draw() {
if (!isDrawn) {
DrawerKt.isolatedWithTarget(drawer, rt, d -> {
d.setFill(new ColorRGBa(0.0, 0.0, 1.0, 0.02, Linearity.UNKNOWN));
drawer.setStroke(null);
for (int i = 0; i < 100; i++) {
drawer.circle(70 + 5 * i, getHeight() / 2.0, 140.0);
}
return Unit.INSTANCE;
});
isDrawn = true;
}
drawer.image(rt.colorBuffer(0));
}
public static void main(String[] args) {
var c = new Configuration();
c.setWidth(500);
c.setHeight(500);
ApplicationKt.application(new Test(), c);
}
}