Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save robertleeplummerjr/762b077e724d38f1b5957384f10d1b2e to your computer and use it in GitHub Desktop.
Save robertleeplummerjr/762b077e724d38f1b5957384f10d1b2e to your computer and use it in GitHub Desktop.
const gl = require("./index")(64, 64);
const extension0 = gl.getExtension("WEBGL_draw_buffers");
gl.getSupportedExtensions();
gl.getError();
gl.getParameter(extension0.MAX_COLOR_ATTACHMENTS_WEBGL);
gl.getError();
gl.getError();
gl.getParameter(extension0.MAX_DRAW_BUFFERS_WEBGL);
gl.getError();
gl.getParameter(extension0.MAX_COLOR_ATTACHMENTS_WEBGL);
gl.getParameter(extension0.MAX_DRAW_BUFFERS_WEBGL);
gl.getParameter(extension0.DRAW_BUFFER0_WEBGL);
extension0.drawBuffersWEBGL([]);
gl.getError();
extension0.drawBuffersWEBGL([0,0]);
gl.getError();
extension0.drawBuffersWEBGL([36064]);
gl.getError();
gl.getParameter(extension0.DRAW_BUFFER0_WEBGL);
extension0.drawBuffersWEBGL([0]);
gl.getError();
gl.getParameter(extension0.DRAW_BUFFER0_WEBGL);
extension0.drawBuffersWEBGL([1029]);
gl.getError();
gl.getParameter(extension0.DRAW_BUFFER0_WEBGL);
gl.getError();
gl.getParameter(extension0.MAX_DRAW_BUFFERS_WEBGL);
const program0 = gl.createProgram();
const vertexShader0 = gl.createShader(gl.VERTEX_SHADER);
gl.getError();
gl.shaderSource(vertexShader0, `
attribute vec4 a_position;
void main() {
gl_Position = a_position;
}
`);
gl.getError();
gl.compileShader(vertexShader0);
gl.attachShader(program0, vertexShader0);
const fragmentShader0 = gl.createShader(gl.FRAGMENT_SHADER);
gl.getError();
gl.shaderSource(fragmentShader0, `
#ifdef GL_EXT_draw_buffers
#if GL_EXT_draw_buffers == 1
#define CODE
#else
#define CODE this_code_is_bad_it_should_have_compiled
#endif
#else
#define CODE this_code_is_bad_it_should_have_compiled
#endif
CODE
precision mediump float;
void main() {
gl_FragColor = vec4(0,0,0,0);
}
`);
gl.getError();
gl.compileShader(fragmentShader0);
gl.attachShader(program0, fragmentShader0);
gl.bindAttribLocation(program0, 0, `a_position`);
gl.linkProgram(program0);
gl.useProgram(program0);
gl.deleteProgram(program0);
const program1 = gl.createProgram();
const vertexShader1 = gl.createShader(gl.VERTEX_SHADER);
gl.getError();
gl.shaderSource(vertexShader1, `
attribute vec4 a_position;
void main() {
gl_Position = a_position;
}
`);
gl.getError();
gl.compileShader(vertexShader1);
gl.attachShader(program1, vertexShader1);
const fragmentShader1 = gl.createShader(gl.FRAGMENT_SHADER);
gl.getError();
gl.shaderSource(fragmentShader1, `
#extension GL_EXT_draw_buffers : require
precision mediump float;
uniform vec4 u_colors[8];
void main() {
for (int i = 0; i < 8; ++i) {
gl_FragData[i] = u_colors[i];
}
}
`);
gl.getError();
gl.compileShader(fragmentShader1);
gl.attachShader(program1, fragmentShader1);
gl.bindAttribLocation(program1, 0, `a_position`);
gl.linkProgram(program1);
gl.useProgram(program1);
gl.deleteProgram(program1);
const program2 = gl.createProgram();
const vertexShader2 = gl.createShader(gl.VERTEX_SHADER);
gl.getError();
gl.shaderSource(vertexShader2, `
attribute vec4 a_position;
void main() {
gl_Position = a_position;
}
`);
gl.getError();
gl.compileShader(vertexShader2);
gl.attachShader(program2, vertexShader2);
const fragmentShader2 = gl.createShader(gl.FRAGMENT_SHADER);
gl.getError();
gl.shaderSource(fragmentShader2, `
precision mediump float;
void main() {
gl_FragColor = (gl_MaxDrawBuffers == 8) ? vec4(0,1,0,1) : vec4(1,0,0,1);
}
`);
gl.getError();
gl.compileShader(fragmentShader2);
gl.attachShader(program2, fragmentShader2);
gl.bindAttribLocation(program2, 0, `a_position`);
gl.linkProgram(program2);
gl.useProgram(program2);
const buffer0 = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer0);
const bufferOutput0 = new Float32Array([1,1,-1,1,-1,-1,1,1,-1,-1,1,-1]);
gl.bufferData(gl.ARRAY_BUFFER, bufferOutput0, 35044);
gl.enableVertexAttribArray(0);
gl.vertexAttribPointer(0, 2, 5126, false, 0, 0);
const buffer1 = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer1);
const bufferOutput1 = new Float32Array([1,1,0,1,0,0,1,1,0,0,1,0]);
gl.bufferData(gl.ARRAY_BUFFER, bufferOutput1, 35044);
gl.enableVertexAttribArray(1);
gl.vertexAttribPointer(1, 2, 5126, false, 0, 0);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels0 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels0);
let imageDatum0 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels0.length; i += 4) {
imageDatum0 += pixels0[i] + " " + pixels0[i + 1] + " " + pixels0[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum0);
}
gl.deleteProgram(program2);
gl.getError();
gl.getParameter(extension0.MAX_DRAW_BUFFERS_WEBGL);
gl.getParameter(extension0.MAX_COLOR_ATTACHMENTS_WEBGL);
const texture0 = gl.createTexture();
const framebuffer0 = gl.createFramebuffer();
gl.bindTexture(3553, texture0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer0);
gl.framebufferTexture2D(36160, 36072, 3553, texture0, 0);
gl.getError();
gl.framebufferTexture2D(36160, 36071, 3553, texture0, 0);
gl.getError();
extension0.drawBuffersWEBGL([0,0,0,0,0,0,0,0]);
gl.getError();
extension0.drawBuffersWEBGL([36064,36065,36066,36067,36068,36069,36070,36071]);
gl.getError();
extension0.drawBuffersWEBGL([0,36065,36066,36067,36068,36069,36070,36071]);
gl.getError();
extension0.drawBuffersWEBGL([36065,36064,36066,36067,36068,36069,36070,36071]);
gl.getError();
extension0.drawBuffersWEBGL([36064,36065,36066,36067]);
gl.getError();
gl.deleteFramebuffer(framebuffer0);
gl.deleteTexture(texture0);
gl.getError();
const framebuffer1 = gl.createFramebuffer();
const framebuffer2 = gl.createFramebuffer();
const framebuffer3 = gl.createFramebuffer();
const framebuffer4 = gl.createFramebuffer();
const framebuffer5 = gl.createFramebuffer();
const framebuffer6 = gl.createFramebuffer();
gl.getParameter(extension0.MAX_DRAW_BUFFERS_WEBGL);
gl.getParameter(extension0.MAX_COLOR_ATTACHMENTS_WEBGL);
gl.getParameter(gl.MAX_FRAGMENT_UNIFORM_VECTORS);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer1);
extension0.drawBuffersWEBGL([36064,36065,36066,36067,36068,36069,36070,36071]);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer1);
extension0.drawBuffersWEBGL([36064,36065,36066,36067,36068,36069,36070,36071]);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer1);
extension0.drawBuffersWEBGL([36064,36065,36066,36067,36068,36069,36070,36071]);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer1);
extension0.drawBuffersWEBGL([36064,36065,36066,36067,36068,36069,36070,36071]);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer1);
extension0.drawBuffersWEBGL([36064,36065,36066,36067,36068,36069,36070,36071]);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer1);
extension0.drawBuffersWEBGL([36064,36065,36066,36067,36068,36069,36070,36071]);
const vertexShader3 = gl.createShader(gl.VERTEX_SHADER);
gl.getError();
gl.shaderSource(vertexShader3, `attribute vec4 vPosition;
attribute vec2 texCoord0;
varying vec2 texCoord;
void main() {
gl_Position = vPosition;
texCoord = texCoord0;
}`);
gl.getError();
gl.compileShader(vertexShader3);
const fragmentShader3 = gl.createShader(gl.FRAGMENT_SHADER);
gl.getError();
gl.shaderSource(fragmentShader3, `precision mediump float;
uniform sampler2D tex;
varying vec2 texCoord;
void main() {
gl_FragData[0] = texture2D(tex, texCoord);
}`);
gl.getError();
gl.compileShader(fragmentShader3);
const program3 = gl.createProgram();
gl.attachShader(program3, vertexShader3);
gl.attachShader(program3, fragmentShader3);
gl.bindAttribLocation(program3, 0, `vPosition`);
gl.bindAttribLocation(program3, 1, `texCoord0`);
gl.linkProgram(program3);
gl.useProgram(program3);
gl.useProgram(program3);
const buffer2 = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer2);
const bufferOutput2 = new Float32Array([1,1,-1,1,-1,-1,1,1,-1,-1,1,-1]);
gl.bufferData(gl.ARRAY_BUFFER, bufferOutput2, 35044);
gl.enableVertexAttribArray(0);
gl.vertexAttribPointer(0, 2, 5126, false, 0, 0);
const buffer3 = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer3);
const bufferOutput3 = new Float32Array([1,1,0,1,0,0,1,1,0,0,1,0]);
gl.bufferData(gl.ARRAY_BUFFER, bufferOutput3, 35044);
gl.enableVertexAttribArray(1);
gl.vertexAttribPointer(1, 2, 5126, false, 0, 0);
const program4 = gl.createProgram();
const vertexShader4 = gl.createShader(gl.VERTEX_SHADER);
gl.getError();
gl.shaderSource(vertexShader4, `
attribute vec4 a_position;
void main() {
gl_Position = a_position;
}
`);
gl.getError();
gl.compileShader(vertexShader4);
gl.attachShader(program4, vertexShader4);
const fragmentShader4 = gl.createShader(gl.FRAGMENT_SHADER);
gl.getError();
gl.shaderSource(fragmentShader4, `
precision mediump float;
void main() {
gl_FragColor = vec4(1,0,0,1);
}
`);
gl.getError();
gl.compileShader(fragmentShader4);
gl.attachShader(program4, fragmentShader4);
gl.bindAttribLocation(program4, 0, `a_position`);
gl.linkProgram(program4);
gl.useProgram(program4);
const program5 = gl.createProgram();
const vertexShader5 = gl.createShader(gl.VERTEX_SHADER);
gl.getError();
gl.shaderSource(vertexShader5, `
attribute vec4 a_position;
void main() {
gl_Position = a_position;
}
`);
gl.getError();
gl.compileShader(vertexShader5);
gl.attachShader(program5, vertexShader5);
const fragmentShader5 = gl.createShader(gl.FRAGMENT_SHADER);
gl.getError();
gl.shaderSource(fragmentShader5, `
#extension GL_EXT_draw_buffers : require
precision mediump float;
uniform vec4 u_colors[8];
void main() {
for (int i = 0; i < 8; ++i) {
gl_FragData[i] = u_colors[i];
}
}
`);
gl.getError();
gl.compileShader(fragmentShader5);
gl.attachShader(program5, fragmentShader5);
gl.bindAttribLocation(program5, 0, `a_position`);
gl.linkProgram(program5);
gl.useProgram(program5);
const texture1 = gl.createTexture();
gl.bindTexture(3553, texture1);
gl.texImage2D(3553, 0, 6408, 64, 64, 0, 6408, 5121, null);
gl.texParameteri(3553, 10241, 9728);
gl.texParameteri(3553, 10240, 9728);
gl.texParameteri(3553, 10242, 33071);
gl.texParameteri(3553, 10243, 33071);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer1);
gl.framebufferTexture2D(36160, 36064, 3553, texture1, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer2);
gl.framebufferTexture2D(36160, 36064, 3553, texture1, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer3);
gl.framebufferTexture2D(36160, 36064, 3553, texture1, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer5);
gl.framebufferTexture2D(36160, 36064, 3553, texture1, 0);
const uniformLocation0 = gl.getUniformLocation(program5, 'u_colors[0]');
gl.uniform4fv(uniformLocation0, [1,0,0,0]);
const texture2 = gl.createTexture();
gl.bindTexture(3553, texture2);
gl.texImage2D(3553, 0, 6408, 64, 64, 0, 6408, 5121, null);
gl.texParameteri(3553, 10241, 9728);
gl.texParameteri(3553, 10240, 9728);
gl.texParameteri(3553, 10242, 33071);
gl.texParameteri(3553, 10243, 33071);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer1);
gl.framebufferTexture2D(36160, 36065, 3553, texture2, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer2);
gl.framebufferTexture2D(36160, 36065, 3553, texture2, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer3);
gl.framebufferTexture2D(36160, 36065, 3553, texture2, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer6);
gl.framebufferTexture2D(36160, 36065, 3553, texture2, 0);
const uniformLocation1 = gl.getUniformLocation(program5, 'u_colors[1]');
gl.uniform4fv(uniformLocation1, [0,1,0,0]);
const texture3 = gl.createTexture();
gl.bindTexture(3553, texture3);
gl.texImage2D(3553, 0, 6408, 64, 64, 0, 6408, 5121, null);
gl.texParameteri(3553, 10241, 9728);
gl.texParameteri(3553, 10240, 9728);
gl.texParameteri(3553, 10242, 33071);
gl.texParameteri(3553, 10243, 33071);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer1);
gl.framebufferTexture2D(36160, 36066, 3553, texture3, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer2);
gl.framebufferTexture2D(36160, 36066, 3553, texture3, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer3);
gl.framebufferTexture2D(36160, 36066, 3553, texture3, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer6);
gl.framebufferTexture2D(36160, 36066, 3553, texture3, 0);
const uniformLocation2 = gl.getUniformLocation(program5, 'u_colors[2]');
gl.uniform4fv(uniformLocation2, [1,1,0,0]);
const texture4 = gl.createTexture();
gl.bindTexture(3553, texture4);
gl.texImage2D(3553, 0, 6408, 64, 64, 0, 6408, 5121, null);
gl.texParameteri(3553, 10241, 9728);
gl.texParameteri(3553, 10240, 9728);
gl.texParameteri(3553, 10242, 33071);
gl.texParameteri(3553, 10243, 33071);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer1);
gl.framebufferTexture2D(36160, 36067, 3553, texture4, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer2);
gl.framebufferTexture2D(36160, 36067, 3553, texture4, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer3);
gl.framebufferTexture2D(36160, 36067, 3553, texture4, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer6);
gl.framebufferTexture2D(36160, 36067, 3553, texture4, 0);
const uniformLocation3 = gl.getUniformLocation(program5, 'u_colors[3]');
gl.uniform4fv(uniformLocation3, [0,0,1,0]);
const texture5 = gl.createTexture();
gl.bindTexture(3553, texture5);
gl.texImage2D(3553, 0, 6408, 64, 64, 0, 6408, 5121, null);
gl.texParameteri(3553, 10241, 9728);
gl.texParameteri(3553, 10240, 9728);
gl.texParameteri(3553, 10242, 33071);
gl.texParameteri(3553, 10243, 33071);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer1);
gl.framebufferTexture2D(36160, 36068, 3553, texture5, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer2);
gl.framebufferTexture2D(36160, 36068, 3553, texture5, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer4);
gl.framebufferTexture2D(36160, 36068, 3553, texture5, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer6);
gl.framebufferTexture2D(36160, 36068, 3553, texture5, 0);
const uniformLocation4 = gl.getUniformLocation(program5, 'u_colors[4]');
gl.uniform4fv(uniformLocation4, [1,0,1,0]);
const texture6 = gl.createTexture();
gl.bindTexture(3553, texture6);
gl.texImage2D(3553, 0, 6408, 64, 64, 0, 6408, 5121, null);
gl.texParameteri(3553, 10241, 9728);
gl.texParameteri(3553, 10240, 9728);
gl.texParameteri(3553, 10242, 33071);
gl.texParameteri(3553, 10243, 33071);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer1);
gl.framebufferTexture2D(36160, 36069, 3553, texture6, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer2);
gl.framebufferTexture2D(36160, 36069, 3553, texture6, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer4);
gl.framebufferTexture2D(36160, 36069, 3553, texture6, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer6);
gl.framebufferTexture2D(36160, 36069, 3553, texture6, 0);
const uniformLocation5 = gl.getUniformLocation(program5, 'u_colors[5]');
gl.uniform4fv(uniformLocation5, [0,1,1,0]);
const texture7 = gl.createTexture();
gl.bindTexture(3553, texture7);
gl.texImage2D(3553, 0, 6408, 64, 64, 0, 6408, 5121, null);
gl.texParameteri(3553, 10241, 9728);
gl.texParameteri(3553, 10240, 9728);
gl.texParameteri(3553, 10242, 33071);
gl.texParameteri(3553, 10243, 33071);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer1);
gl.framebufferTexture2D(36160, 36070, 3553, texture7, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer2);
gl.framebufferTexture2D(36160, 36070, 3553, texture7, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer4);
gl.framebufferTexture2D(36160, 36070, 3553, texture7, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer6);
gl.framebufferTexture2D(36160, 36070, 3553, texture7, 0);
const uniformLocation6 = gl.getUniformLocation(program5, 'u_colors[6]');
gl.uniform4fv(uniformLocation6, [1,1,1,0]);
const texture8 = gl.createTexture();
gl.bindTexture(3553, texture8);
gl.texImage2D(3553, 0, 6408, 64, 64, 0, 6408, 5121, null);
gl.texParameteri(3553, 10241, 9728);
gl.texParameteri(3553, 10240, 9728);
gl.texParameteri(3553, 10242, 33071);
gl.texParameteri(3553, 10243, 33071);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer1);
gl.framebufferTexture2D(36160, 36071, 3553, texture8, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer2);
gl.framebufferTexture2D(36160, 36071, 3553, texture8, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer4);
gl.framebufferTexture2D(36160, 36071, 3553, texture8, 0);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer5);
gl.framebufferTexture2D(36160, 36071, 3553, texture8, 0);
const uniformLocation7 = gl.getUniformLocation(program5, 'u_colors[7]');
gl.uniform4fv(uniformLocation7, [0,0,0,1]);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer1);
gl.checkFramebufferStatus(36160);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer2);
gl.checkFramebufferStatus(36160);
gl.useProgram(program5);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer2);
extension0.drawBuffersWEBGL([36064,36065,36066,36067,36068,36069,36070,36071]);
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer1);
extension0.drawBuffersWEBGL([36064,36065,36066,36067,36068,36069,36070,36071]);
gl.drawArrays(4, 0, 6);
gl.bindFramebuffer(gl.FRAMEBUFFER, null);
gl.useProgram(program3);
gl.bindTexture(3553, texture1);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels1 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels1);
let imageDatum1 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels1.length; i += 4) {
imageDatum1 += pixels1[i] + " " + pixels1[i + 1] + " " + pixels1[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum1);
}
gl.bindTexture(3553, texture2);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels2 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels2);
let imageDatum2 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels2.length; i += 4) {
imageDatum2 += pixels2[i] + " " + pixels2[i + 1] + " " + pixels2[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum2);
}
gl.bindTexture(3553, texture3);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels3 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels3);
let imageDatum3 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels3.length; i += 4) {
imageDatum3 += pixels3[i] + " " + pixels3[i + 1] + " " + pixels3[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum3);
}
gl.bindTexture(3553, texture4);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels4 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels4);
let imageDatum4 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels4.length; i += 4) {
imageDatum4 += pixels4[i] + " " + pixels4[i + 1] + " " + pixels4[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum4);
}
gl.bindTexture(3553, texture5);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels5 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels5);
let imageDatum5 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels5.length; i += 4) {
imageDatum5 += pixels5[i] + " " + pixels5[i + 1] + " " + pixels5[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum5);
}
gl.bindTexture(3553, texture6);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels6 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels6);
let imageDatum6 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels6.length; i += 4) {
imageDatum6 += pixels6[i] + " " + pixels6[i + 1] + " " + pixels6[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum6);
}
gl.bindTexture(3553, texture7);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels7 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels7);
let imageDatum7 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels7.length; i += 4) {
imageDatum7 += pixels7[i] + " " + pixels7[i + 1] + " " + pixels7[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum7);
}
gl.bindTexture(3553, texture8);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels8 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels8);
let imageDatum8 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels8.length; i += 4) {
imageDatum8 += pixels8[i] + " " + pixels8[i + 1] + " " + pixels8[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum8);
}
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer1);
gl.clearColor(0, 1, 0, 1);
gl.clear(16384);
gl.bindFramebuffer(gl.FRAMEBUFFER, null);
gl.useProgram(program3);
gl.bindTexture(3553, texture1);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels9 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels9);
let imageDatum9 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels9.length; i += 4) {
imageDatum9 += pixels9[i] + " " + pixels9[i + 1] + " " + pixels9[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum9);
}
gl.bindTexture(3553, texture2);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels10 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels10);
let imageDatum10 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels10.length; i += 4) {
imageDatum10 += pixels10[i] + " " + pixels10[i + 1] + " " + pixels10[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum10);
}
gl.bindTexture(3553, texture3);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels11 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels11);
let imageDatum11 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels11.length; i += 4) {
imageDatum11 += pixels11[i] + " " + pixels11[i + 1] + " " + pixels11[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum11);
}
gl.bindTexture(3553, texture4);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels12 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels12);
let imageDatum12 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels12.length; i += 4) {
imageDatum12 += pixels12[i] + " " + pixels12[i + 1] + " " + pixels12[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum12);
}
gl.bindTexture(3553, texture5);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels13 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels13);
let imageDatum13 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels13.length; i += 4) {
imageDatum13 += pixels13[i] + " " + pixels13[i + 1] + " " + pixels13[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum13);
}
gl.bindTexture(3553, texture6);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels14 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels14);
let imageDatum14 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels14.length; i += 4) {
imageDatum14 += pixels14[i] + " " + pixels14[i + 1] + " " + pixels14[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum14);
}
gl.bindTexture(3553, texture7);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels15 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels15);
let imageDatum15 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels15.length; i += 4) {
imageDatum15 += pixels15[i] + " " + pixels15[i + 1] + " " + pixels15[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum15);
}
gl.bindTexture(3553, texture8);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels16 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels16);
let imageDatum16 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels16.length; i += 4) {
imageDatum16 += pixels16[i] + " " + pixels16[i + 1] + " " + pixels16[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum16);
}
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer1);
extension0.drawBuffersWEBGL([0,0,0,0,0,0,0,0]);
gl.useProgram(program4);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
gl.bindFramebuffer(gl.FRAMEBUFFER, null);
gl.useProgram(program3);
gl.bindTexture(3553, texture1);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels17 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels17);
let imageDatum17 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels17.length; i += 4) {
imageDatum17 += pixels17[i] + " " + pixels17[i + 1] + " " + pixels17[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum17);
}
gl.bindTexture(3553, texture2);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels18 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels18);
let imageDatum18 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels18.length; i += 4) {
imageDatum18 += pixels18[i] + " " + pixels18[i + 1] + " " + pixels18[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum18);
}
gl.bindTexture(3553, texture3);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels19 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels19);
let imageDatum19 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels19.length; i += 4) {
imageDatum19 += pixels19[i] + " " + pixels19[i + 1] + " " + pixels19[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum19);
}
gl.bindTexture(3553, texture4);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels20 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels20);
let imageDatum20 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels20.length; i += 4) {
imageDatum20 += pixels20[i] + " " + pixels20[i + 1] + " " + pixels20[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum20);
}
gl.bindTexture(3553, texture5);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels21 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels21);
let imageDatum21 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels21.length; i += 4) {
imageDatum21 += pixels21[i] + " " + pixels21[i + 1] + " " + pixels21[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum21);
}
gl.bindTexture(3553, texture6);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels22 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels22);
let imageDatum22 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels22.length; i += 4) {
imageDatum22 += pixels22[i] + " " + pixels22[i + 1] + " " + pixels22[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum22);
}
gl.bindTexture(3553, texture7);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels23 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels23);
let imageDatum23 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels23.length; i += 4) {
imageDatum23 += pixels23[i] + " " + pixels23[i + 1] + " " + pixels23[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum23);
}
gl.bindTexture(3553, texture8);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels24 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels24);
let imageDatum24 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels24.length; i += 4) {
imageDatum24 += pixels24[i] + " " + pixels24[i + 1] + " " + pixels24[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum24);
}
// Look here
gl.getSupportedExtensions();
gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer1);
extension0.drawBuffersWEBGL([36064,36065,36066,36067,36068,36069,36070,36071]);
gl.useProgram(program4);
gl.drawArrays(4, 0, 6);
// Drawing
gl.bindFramebuffer(gl.FRAMEBUFFER, null);
gl.useProgram(program3);
gl.bindTexture(3553, texture1);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels25 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels25);
let imageDatum25 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels25.length; i += 4) {
imageDatum25 += pixels25[i] + " " + pixels25[i + 1] + " " + pixels25[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum25);
}
// this file is red ^
gl.bindTexture(3553, texture2);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels26 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels26);
let imageDatum26 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels26.length; i += 4) {
imageDatum26 += pixels26[i] + " " + pixels26[i + 1] + " " + pixels26[i + 2] + " ";
}
// this file is green ^
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum26);
}
gl.bindTexture(3553, texture3);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels27 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels27);
let imageDatum27 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels27.length; i += 4) {
imageDatum27 += pixels27[i] + " " + pixels27[i + 1] + " " + pixels27[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum27);
}
gl.bindTexture(3553, texture4);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels28 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels28);
let imageDatum28 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels28.length; i += 4) {
imageDatum28 += pixels28[i] + " " + pixels28[i + 1] + " " + pixels28[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum28);
}
gl.bindTexture(3553, texture5);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels29 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels29);
let imageDatum29 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels29.length; i += 4) {
imageDatum29 += pixels29[i] + " " + pixels29[i + 1] + " " + pixels29[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum29);
}
gl.bindTexture(3553, texture6);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels30 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels30);
let imageDatum30 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels30.length; i += 4) {
imageDatum30 += pixels30[i] + " " + pixels30[i + 1] + " " + pixels30[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum30);
}
gl.bindTexture(3553, texture7);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels31 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels31);
let imageDatum31 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels31.length; i += 4) {
imageDatum31 += pixels31[i] + " " + pixels31[i + 1] + " " + pixels31[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum31);
}
gl.bindTexture(3553, texture8);
gl.clearColor(1, 1, 1, 1);
gl.clear(16640);
gl.drawArrays(4, 0, 6);
const pixels32 = new Uint8Array(16384);
gl.readPixels(0, 0, 64, 64, 6408, 5121, pixels32);
let imageDatum32 = ["P3\n# gl.ppm\n", 64, " ", 64, "\n255\n"].join("");
for (let i = 0; i < pixels32.length; i += 4) {
imageDatum32 += pixels32[i] + " " + pixels32[i + 1] + " " + pixels32[i + 2] + " ";
}
if (typeof require !== "undefined") {
require("fs").writeFileSync("./readPixels.ppm", imageDatum32);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment