UNPKG

nidza

Version:

Nidza.js is ultimate canvas2d+3d solution (Easy port any webgl or webgl2 script). In context of 3d graphics it is used for GLSL manipulation. Objective is low CPU usage price.

121 lines (101 loc) 2.85 kB
import { NidzaIdentity } from "./lib/identity.js"; import { Nidza3dIdentity } from "./lib/identity-3d.js"; import { Osc } from "./lib/operations.js"; export class Nidza { constructor() { this.access = {}; // Reference this.Osc = Osc; console.info("Nidza engine constructed."); } prepareCanvas(arg) { let c = document.createElement('canvas'); let cStyle = "background: transparent"; c.id = arg.id; c.setAttribute("style", cStyle); c.width = arg.size.width; c.height = arg.size.height; return c; } createNidzaIndentity(arg) { let cStyle = "background: transparent"; let c; if (arg.injectCanvas) { c = arg.injectCanvas; c.setAttribute('style', cStyle); } else { c = this.prepareCanvas(arg); } var ctx = c.getContext("2d"); this.canvasDom = c; if (arg.parentDom) { arg.parentDom.append(c); } else { document.body.append(c); } let nidzaIntentityInstance = new NidzaIdentity({ canvasDom: c, ctx: ctx, elements: [], parentDom: arg.parentDom }); this.access[arg.id] = nidzaIntentityInstance; return nidzaIntentityInstance; } createNidza3dIndentity(arg) { let cStyle = "background: transparent"; let c; if (arg.injectCanvas) { c = arg.injectCanvas; c.setAttribute('style', cStyle); } else { c = this.prepareCanvas(arg); } this.canvasDom = c; const gl = this.canvasDom.getContext("webgl"); if (!gl) { console.warn("No support for webGL."); return; } if (arg.parentDom) { arg.parentDom.append(this.canvasDom); } else { document.body.append(this.canvasDom); } let nidza3dIntentityInstance = new Nidza3dIdentity({ canvasDom: this.canvasDom, ctx: gl, parentDom: arg.parentDom }); this.access[arg.id] = nidza3dIntentityInstance; return nidza3dIntentityInstance; } createNidza3dIndentity2(arg) { let cStyle = "background: transparent"; let c; if (arg.injectCanvas) { c = arg.injectCanvas; c.setAttribute('style', cStyle); } else { c = this.prepareCanvas(arg); } this.canvasDom = c; const gl = this.canvasDom.getContext("webgl2"); if (!gl) { console.warn("No support for webGL2."); return; } if (arg.parentDom) { arg.parentDom.append(this.canvasDom); } else { document.body.append(this.canvasDom); } let nidza3dIntentityInstance = new Nidza3dIdentity({ canvasDom: this.canvasDom, ctx: gl, parentDom: arg.parentDom }); this.access[arg.id] = nidza3dIntentityInstance; return nidza3dIntentityInstance; } }