index.js
962 Bytes
import { View3d } from "wasm-game-of-life";
import { memory } from "wasm-game-of-life/wasm_game_of_life_bg";
// 3D canvas stuff
const view3d = View3d.new(300, 300);
const view3d_canvas = document.getElementById("view3d");
view3d_canvas.width = view3d.width();
view3d_canvas.height = view3d.height();
const view3d_ctx = view3d_canvas.getContext('2d');
const view3d_renderLoop = () => {
view3d.update();
drawView3d();
requestAnimationFrame(view3d_renderLoop);
}
const drawView3d = () => {
const view3d_imagePtr = view3d.image();
const view3d_image = new ImageData(
new Uint8ClampedArray( memory.buffer
, view3d.image()
, view3d.width() * view3d.height() * 4 )
, view3d.width()
, view3d.height() );
view3d_ctx.putImageData(view3d_image, 0, 0);
}
// start everything ...
view3d.update();
drawView3d();
requestAnimationFrame(view3d_renderLoop);