diff --git a/src/core/main.js b/src/core/main.js index a5c9a6c93d..82eb0b5e5c 100644 --- a/src/core/main.js +++ b/src/core/main.js @@ -35,6 +35,7 @@ class p5 { // This is a pointer to our global mode p5 instance, if we're in // global mode. static instance = null; + static sketchCount = 0; static lifecycleHooks = { presetup: [], postsetup: [], diff --git a/src/core/p5.Renderer2D.js b/src/core/p5.Renderer2D.js index 23f74bec4b..d3517da0a4 100644 --- a/src/core/p5.Renderer2D.js +++ b/src/core/p5.Renderer2D.js @@ -10,9 +10,7 @@ import FilterRenderer2D from '../image/filterRenderer2D'; import { Matrix } from '../math/p5.Matrix'; import { PrimitiveToPath2DConverter } from '../shape/custom_shapes'; - const styleEmpty = 'rgba(0,0,0,0)'; -// const alphaThreshold = 0.00125; // minimum visible class Renderer2D extends Renderer { constructor(pInst, w, h, isMainCanvas, elt, attributes = {}) { @@ -29,7 +27,9 @@ class Renderer2D extends Renderer { this.canvas.style.display = 'none'; } - this.elt.id = 'defaultCanvas0'; + if(!this.elt.id){ + this.elt.id = `defaultCanvas${p5.sketchCount++}`; + } this.elt.classList.add('p5Canvas'); // Extend renderer with methods of p5.Element with getters diff --git a/src/webgl/p5.RendererGL.js b/src/webgl/p5.RendererGL.js index 5e46d2d106..a41455f3ed 100644 --- a/src/webgl/p5.RendererGL.js +++ b/src/webgl/p5.RendererGL.js @@ -136,7 +136,10 @@ class RendererGL extends Renderer { // hide if offscreen buffer by default this.canvas.style.display = "none"; } - this.elt.id = "defaultCanvas0"; + + if(!this.elt.id){ + this.elt.id = `defaultCanvas${p5.sketchCount++}`; + } this.elt.classList.add("p5Canvas"); // Set and return p5.Element