Lines Matching refs:gl
5 export default GLWrap('Basic texture use', async (gl) => {
6 const vert = gl.createShader(gl.VERTEX_SHADER)!;
7 gl.shaderSource(
18 gl.compileShader(vert);
19 const frag = gl.createShader(gl.FRAGMENT_SHADER)!;
20 gl.shaderSource(
30 gl.compileShader(frag);
32 const program = gl.createProgram()!;
33 gl.attachShader(program, vert);
34 gl.attachShader(program, frag);
35 gl.linkProgram(program);
36 gl.useProgram(program);
38 const buffer = gl.createBuffer();
39 gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
41 gl.bufferData(gl.ARRAY_BUFFER, verts, gl.STATIC_DRAW);
42 const positionAttrib = gl.getAttribLocation(program, 'position');
43 gl.enableVertexAttribArray(positionAttrib);
44 gl.vertexAttribPointer(positionAttrib, 2, gl.FLOAT, false, 0, 0);
48 const texture = gl.createTexture();
49 gl.activeTexture(gl.TEXTURE0);
50 gl.bindTexture(gl.TEXTURE_2D, texture);
51 gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
52 gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
53 gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, asset as any);
54 gl.uniform1i(gl.getUniformLocation(program, 'texture'), 0);
61 gl.texSubImage2D(gl.TEXTURE_2D, 0, 32, 32, gl.RGBA, gl.UNSIGNED_BYTE, imageAsset as any);
63 // gl.texSubImage2D(
64 // gl.TEXTURE_2D, 0, 32, 32, 2, 2, gl.RGBA, gl.UNSIGNED_BYTE,
75 gl.clearColor(0, 0, 1, 1);
77 gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
78 gl.drawArrays(gl.TRIANGLES, 0, verts.length / 2);
79 gl.endFrameEXP();