0.3.1-3 • Published 9 months ago

@melco/renderer v0.3.1-3

Weekly downloads
-
License
ISC
Repository
-
Last release
9 months ago

To Use package import {@link createRenderer} from @melco/renderer to attach to canvas.

Once attach create renderer, can render by:

  import {createRenderer} from "@melco/renderer";
  let renderer = await createRenderer(myCanvas);

Render design:

import {createRenderer, ViewPortUtil} from "@melco/renderer"

let createCanvas = () => {
    const canvas = document.createElement('canvas');
    canvas.id = 'canvas1';
    canvas.width = 500;
    canvas.height = 500;
    canvas.style.display = "block";
    return canvas;
}
let initApp = async () => {
    // create simple canvas element and add to DOM
    const canvas = createCanvas();
    document.body.appendChild(canvas);

    // Canvas should be added to DOM before attach webgl context
    let renderer = await createRenderer(canvas);
    let elementFactory = renderer.getFactory();
    let scene = {};

    // download a design file
    let url = 'https://teststitchenginepublic.blob.core.windows.net/rendercache/designcache/Anchor.rfm';

    let design = await elementFactory.createDesignElement({designMetadataUrl: url}); 
    let boundingBox = elementFactory.elementUtil.getStitchElementMetadataIfLoaded(design).originalBoundingBox

    // create scene with design and background color
    scene.elements = [design];
    scene.bgColor = {red: 200, green: 200, blue: 200, alpha: 255};
	  let viewPort = ViewPortUtil.zoomToFit(boundingBox, 500, 500, 96, 10);
    renderer.setViewPort(viewPort);
    console.log(scene)
    renderer.updateRenderScene(scene);
    renderer.redraw();


    // store in global state
    window['render_app_data'] = {
      renderer: renderer
    }

    console.log('Successfully initialized')
}

initApp();
0.3.1-3

9 months ago

0.3.1-2

9 months ago