@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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWVidWZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZnJhbWVidWZmZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUVyQyxNQUFNLFVBQVUsc0JBQXNCLENBQUMsRUFBMEI7SUFDN0QsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUE7SUFDakMsSUFBSSxDQUFDLEVBQUU7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUE7SUFFaEUsT0FBTyxFQUFFLENBQUE7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLG1DQUFtQyxDQUMvQyxFQUEwQixFQUMxQixPQUFlLEVBQ2YsY0FBc0IsRUFDdEIsS0FBYSxFQUNiLE1BQWM7SUFFZCxFQUFFLENBQUMsOEJBQThCLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUMxRixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDM0IsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sQ0FBQyxLQUFLLENBQ1Qsa0RBQWtELFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLO2tCQUN4RSxPQUFPO3FCQUNKLFdBQVcsQ0FBQyxjQUFjLENBQUM7a0JBQzlCLEtBQUs7a0JBQ0wsTUFBTSxFQUFFLEVBQ2QsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUNyQixDQUFBO1FBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLENBQUMsMEJBQTBCLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ25HLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxPQUFPLENBQUMsS0FBSyxDQUNULG1DQUFtQyxXQUFXLENBQUMsY0FBYyxDQUFDLFFBQVEsSUFBSSxDQUFDLFNBQVMsQ0FDaEYsZ0JBQWdCLENBQ25CLHNCQUFzQixPQUFPLEdBQUcsQ0FDcEMsQ0FBQTtRQUNMLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNoQixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDZixDQUFDIn0=