UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

43 lines (30 loc) 1.07 kB
import { Sampler2D } from "./Sampler2D.js"; import { sampler2d_to_uint8_RGBA } from "./sampler2d_to_uint8_RGBA.js"; import { assert } from "../../../../core/assert.js"; /** * * @param {Sampler2D} sampler * @param {HTMLCanvasElement} canvas */ export function sampler2d_write_to_canvas_raw(sampler, canvas) { assert.defined(sampler, 'sampler'); assert.defined(canvas, 'canvas'); const width = sampler.width; const height = sampler.height; if (canvas.width !== width) { canvas.width = width; } if (canvas.height !== height) { canvas.height = height; } if (height === 0 || width === 0) { //there is no data, just return return; } const context = canvas.getContext("2d"); const imageData = context.createImageData(width, height); const array = imageData.data; const destination_sampler = new Sampler2D(array, 4, width, height); sampler2d_to_uint8_RGBA(destination_sampler, sampler); context.putImageData(imageData, 0, 0); }