@tolokoban/tgd
Version:
ToloGameDev library for WebGL2
25 lines • 2.65 kB
JavaScript
import { webglLookup } from "./webgl.js";
export function webglCreateFramebuffer(gl) {
const fb = gl.createFramebuffer();
if (!fb)
throw new Error("Unable to create a WebGLFramebuffer!");
return fb;
}
export function webglRenderbufferStorageMultisample(gl, samples, internalFormat, width, height) {
gl.renderbufferStorageMultisample(gl.RENDERBUFFER, samples, internalFormat, width, height);
const error = gl.getError();
if (error !== gl.NO_ERROR) {
console.error(`WebGL Error in renderbufferStorageMultisample: ${webglLookup(error)} (${error})\n
samples: ${samples}
internalFormat: gl.${webglLookup(internalFormat)}
width: ${width}
height: ${height}`, webglLookup(error));
const availableSamples = gl.getInternalformatParameter(gl.RENDERBUFFER, internalFormat, gl.SAMPLES);
if (!availableSamples.includes(samples)) {
console.error(`Available samples for format gl.${webglLookup(internalFormat)} are ${JSON.stringify(availableSamples)}, but you provided ${samples}!`);
}
return false;
}
return true;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVidWZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZnJhbWVidWZmZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUVyQyxNQUFNLFVBQVUsc0JBQXNCLENBQ2xDLEVBQTBCO0lBRTFCLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO0lBQ2pDLElBQUksQ0FBQyxFQUFFO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFBO0lBRWhFLE9BQU8sRUFBRSxDQUFBO0FBQ2IsQ0FBQztBQUVELE1BQU0sVUFBVSxtQ0FBbUMsQ0FDL0MsRUFBMEIsRUFDMUIsT0FBZSxFQUNmLGNBQXNCLEVBQ3RCLEtBQWEsRUFDYixNQUFjO0lBRWQsRUFBRSxDQUFDLDhCQUE4QixDQUM3QixFQUFFLENBQUMsWUFBWSxFQUNmLE9BQU8sRUFDUCxjQUFjLEVBQ2QsS0FBSyxFQUNMLE1BQU0sQ0FDVCxDQUFBO0lBQ0QsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQzNCLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsS0FBSyxDQUNULGtEQUFrRCxXQUFXLENBQ3pELEtBQUssQ0FDUixLQUFLLEtBQUs7a0JBQ0wsT0FBTztxQkFDSixXQUFXLENBQUMsY0FBYyxDQUFDO2tCQUM5QixLQUFLO2tCQUNMLE1BQU0sRUFBRSxFQUNkLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FDckIsQ0FBQTtRQUNELE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixDQUNsRCxFQUFFLENBQUMsWUFBWSxFQUNmLGNBQWMsRUFDZCxFQUFFLENBQUMsT0FBTyxDQUNiLENBQUE7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FDVCxtQ0FBbUMsV0FBVyxDQUMxQyxjQUFjLENBQ2pCLFFBQVEsSUFBSSxDQUFDLFNBQVMsQ0FDbkIsZ0JBQWdCLENBQ25CLHNCQUFzQixPQUFPLEdBQUcsQ0FDcEMsQ0FBQTtRQUNMLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNoQixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDZixDQUFDIn0=