Skip to content

Instantly share code, notes, and snippets.

@mattdesl
Created November 9, 2019 15:27
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mattdesl/04ceca544e637ce1da4d2cf5200d71af to your computer and use it in GitHub Desktop.
Save mattdesl/04ceca544e637ce1da4d2cf5200d71af to your computer and use it in GitHub Desktop.
canvas-sketch + dat.gui
const canvasSketch = require("canvas-sketch");
const { GUI } = require("dat.gui");
const data = {
background: "#de6060",
number: 0.35
};
const settings = {
dimensions: [2048, 2048],
data
};
const sketch = () => {
return ({ context, width, height, data }) => {
const { background, number } = data;
context.clearRect(0, 0, width, height);
context.fillStyle = background;
console.log("hi");
context.fillRect(0, 0, width * number, height);
};
};
(async () => {
const manager = await canvasSketch(sketch, settings);
// Can disable this entirely
const useGUI = true;
if (useGUI) {
const gui = new GUI();
// Setup parameters
addColor(gui, data, "background").name();
add(gui, data, "number", 0, 1, 0.01);
}
// Helper functions
function addColor(gui, ...args) {
return gui.addColor(...args).onChange(render);
}
function add(gui, ...args) {
return gui.add(...args).onChange(render);
}
function render() {
manager.render();
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment