renderer = {
const w = canvasWidth;
const h = canvasHeight;
const context = DOM.context2d(w, h, 1);
context.canvas.style.imageRendering = "pixelated";
const imageData = new ImageDataUint32(context.getImageData(0, 0, w, h));
function render(transform) {
for (let i = 0; i < h; i++) {
for (let j = 0; j < w; j++) {
imageData.setPixelArr(
j, i,
frag((j - transform.x) / transform.k,
(i - transform.y) / transform.k));
}
}
context.putImageData(imageData, 0, 0);
}
render({x: 0, y: 0, k: 1});
return {
context,
canvas: context.canvas,
render,
};
}