Best JavaScript code snippet using wpt
tex-image-and-sub-image-utils.js
Source:tex-image-and-sub-image-utils.js
...357 var setupSimpleUintTextureProgram = function(gl, opt_positionLocation, opt_texcoordLocation)358 {359 opt_positionLocation = opt_positionLocation || 0;360 opt_texcoordLocation = opt_texcoordLocation || 1;361 var vs = setupSimpleTextureVertexShader(gl),362 fs = setupSimpleUintTextureFragmentShader(gl);363 if (!vs || !fs) {364 return null;365 }366 var program = WebGLTestUtils.setupProgram(367 gl,368 [vs, fs],369 ['vPosition', 'texCoord0'],370 [opt_positionLocation, opt_texcoordLocation]);371 if (!program) {372 gl.deleteShader(fs);373 gl.deleteShader(vs);374 }375 gl.useProgram(program);376 return program;377 };378 /**379 * Creates a simple signed integer texture program.380 * @param {!WebGLRenderingContext} gl The WebGLRenderingContext to use.381 * @param {number} opt_positionLocation The attrib location for position.382 * @param {number} opt_texcoordLocation The attrib location for texture coords.383 * @return {WebGLProgram}384 */385 var setupSimpleIntTextureProgram = function(gl, opt_positionLocation, opt_texcoordLocation)386 {387 opt_positionLocation = opt_positionLocation || 0;388 opt_texcoordLocation = opt_texcoordLocation || 1;389 var vs = setupSimpleTextureVertexShader(gl),390 fs = setupSimpleIntTextureFragmentShader(gl);391 if (!vs || !fs) {392 return null;393 }394 var program = WebGLTestUtils.setupProgram(395 gl,396 [vs, fs],397 ['vPosition', 'texCoord0'],398 [opt_positionLocation, opt_texcoordLocation]);399 if (!program) {400 gl.deleteShader(fs);401 gl.deleteShader(vs);402 }403 gl.useProgram(program);404 return program;405 };406 /**407 * Creates a simple cube map unsigned integer texture program.408 * @param {!WebGLRenderingContext} gl The WebGLRenderingContext to use.409 * @param {number} opt_positionLocation The attrib location for position.410 * @param {number} opt_texcoordLocation The attrib location for texture coords.411 * @return {WebGLProgram}412 */413 var setupSimpleCubeMapUintTextureProgram = function(gl, opt_positionLocation, opt_texcoordLocation) {414 opt_positionLocation = opt_positionLocation || 0;415 opt_texcoordLocation = opt_texcoordLocation || 1;416 var vs = setupSimpleTextureVertexShader(gl);417 var fs = setupSimpleCubeMapUintTextureFragmentShader(gl);418 if (!vs || !fs) {419 return null;420 }421 var program = WebGLTestUtils.setupProgram(422 gl,423 [vs, fs],424 ['vPosition', 'texCoord0'],425 [opt_positionLocation, opt_texcoordLocation]);426 if (!program) {427 gl.deleteShader(fs);428 gl.deleteShader(vs);429 }430 gl.useProgram(program);431 return program;432 };433 /**434 * Creates a simple cube map signed integer texture program.435 * @param {!WebGLRenderingContext} gl The WebGLRenderingContext to use.436 * @param {number} opt_positionLocation The attrib location for position.437 * @param {number} opt_texcoordLocation The attrib location for texture coords.438 * @return {WebGLProgram}439 */440 var setupSimpleCubeMapIntTextureProgram = function(gl, opt_positionLocation, opt_texcoordLocation) {441 opt_positionLocation = opt_positionLocation || 0;442 opt_texcoordLocation = opt_texcoordLocation || 1;443 var vs = setupSimpleTextureVertexShader(gl);444 var fs = setupSimpleCubeMapIntTextureFragmentShader(gl);445 if (!vs || !fs) {446 return null;447 }448 var program = WebGLTestUtils.setupProgram(449 gl,450 [vs, fs],451 ['vPosition', 'texCoord0'],452 [opt_positionLocation, opt_texcoordLocation]);453 if (!program) {454 gl.deleteShader(fs);455 gl.deleteShader(vs);456 }457 gl.useProgram(program);458 return program;459 };460 /**461 * Creates a simple 3D texture program.462 * @param {!WebGLRenderingContext} gl The WebGLRenderingContext to use.463 * @param {number} opt_positionLocation The attrib location for position.464 * @param {number} opt_texcoordLocation The attrib location for texture coords.465 * @return {WebGLProgram}466 */467 var setupSimple3DTextureProgram = function(gl, opt_positionLocation, opt_texcoordLocation)468 {469 opt_positionLocation = opt_positionLocation || 0;470 opt_texcoordLocation = opt_texcoordLocation || 1;471 var vs = setupSimpleTextureVertexShader(gl),472 fs = setupSimple3DTextureFragmentShader(gl);473 if (!vs || !fs) {474 return null;475 }476 var program = WebGLTestUtils.setupProgram(477 gl,478 [vs, fs],479 ['vPosition', 'texCoord0'],480 [opt_positionLocation, opt_texcoordLocation]);481 if (!program) {482 gl.deleteShader(fs);483 gl.deleteShader(vs);484 }485 gl.useProgram(program);486 return program;487 };488 /**489 * Creates a simple 3D unsigned integer texture program.490 * @param {!WebGLRenderingContext} gl The WebGLRenderingContext to use.491 * @param {number} opt_positionLocation The attrib location for position.492 * @param {number} opt_texcoordLocation The attrib location for texture coords.493 * @return {WebGLProgram}494 */495 var setupSimple3DUintTextureProgram = function(gl, opt_positionLocation, opt_texcoordLocation)496 {497 opt_positionLocation = opt_positionLocation || 0;498 opt_texcoordLocation = opt_texcoordLocation || 1;499 var vs = setupSimpleTextureVertexShader(gl),500 fs = setupSimple3DUintTextureFragmentShader(gl);501 if (!vs || !fs) {502 return null;503 }504 var program = WebGLTestUtils.setupProgram(505 gl,506 [vs, fs],507 ['vPosition', 'texCoord0'],508 [opt_positionLocation, opt_texcoordLocation]);509 if (!program) {510 gl.deleteShader(fs);511 gl.deleteShader(vs);512 }513 gl.useProgram(program);514 return program;515 };516 /**517 * Creates a simple 3D signed integer texture program.518 * @param {!WebGLRenderingContext} gl The WebGLRenderingContext to use.519 * @param {number} opt_positionLocation The attrib location for position.520 * @param {number} opt_texcoordLocation The attrib location for texture coords.521 * @return {WebGLProgram}522 */523 var setupSimple3DIntTextureProgram = function(gl, opt_positionLocation, opt_texcoordLocation)524 {525 opt_positionLocation = opt_positionLocation || 0;526 opt_texcoordLocation = opt_texcoordLocation || 1;527 var vs = setupSimpleTextureVertexShader(gl),528 fs = setupSimple3DIntTextureFragmentShader(gl);529 if (!vs || !fs) {530 return null;531 }532 var program = WebGLTestUtils.setupProgram(533 gl,534 [vs, fs],535 ['vPosition', 'texCoord0'],536 [opt_positionLocation, opt_texcoordLocation]);537 if (!program) {538 gl.deleteShader(fs);539 gl.deleteShader(vs);540 }541 gl.useProgram(program);542 return program;543 };544 /**545 * Creates a simple 2D_ARRAY texture program.546 * @param {!WebGLRenderingContext} gl The WebGLRenderingContext to use.547 * @param {number} opt_positionLocation The attrib location for position.548 * @param {number} opt_texcoordLocation The attrib location for texture coords.549 * @return {WebGLProgram}550 */551 var setupSimple2DArrayTextureProgram = function(gl, opt_positionLocation, opt_texcoordLocation)552 {553 opt_positionLocation = opt_positionLocation || 0;554 opt_texcoordLocation = opt_texcoordLocation || 1;555 var vs = setupSimpleTextureVertexShader(gl),556 fs = setupSimple2DArrayTextureFragmentShader(gl);557 if (!vs || !fs) {558 return null;559 }560 var program = WebGLTestUtils.setupProgram(561 gl,562 [vs, fs],563 ['vPosition', 'texCoord0'],564 [opt_positionLocation, opt_texcoordLocation]);565 if (!program) {566 gl.deleteShader(fs);567 gl.deleteShader(vs);568 }569 gl.useProgram(program);570 return program;571 };572 /**573 * Creates a simple 2D_ARRAY unsigned integer texture program.574 * @param {!WebGLRenderingContext} gl The WebGLRenderingContext to use.575 * @param {number} opt_positionLocation The attrib location for position.576 * @param {number} opt_texcoordLocation The attrib location for texture coords.577 * @return {WebGLProgram}578 */579 var setupSimple2DArrayUintTextureProgram = function(gl, opt_positionLocation, opt_texcoordLocation)580 {581 opt_positionLocation = opt_positionLocation || 0;582 opt_texcoordLocation = opt_texcoordLocation || 1;583 var vs = setupSimpleTextureVertexShader(gl),584 fs = setupSimple2DArrayUintTextureFragmentShader(gl);585 if (!vs || !fs) {586 return null;587 }588 var program = WebGLTestUtils.setupProgram(589 gl,590 [vs, fs],591 ['vPosition', 'texCoord0'],592 [opt_positionLocation, opt_texcoordLocation]);593 if (!program) {594 gl.deleteShader(fs);595 gl.deleteShader(vs);596 }597 gl.useProgram(program);598 return program;599 };600 /**601 * Creates a simple 2D_ARRAY signed integer texture program.602 * @param {!WebGLRenderingContext} gl The WebGLRenderingContext to use.603 * @param {number} opt_positionLocation The attrib location for position.604 * @param {number} opt_texcoordLocation The attrib location for texture coords.605 * @return {WebGLProgram}606 */607 var setupSimple2DArrayIntTextureProgram = function(gl, opt_positionLocation, opt_texcoordLocation)608 {609 opt_positionLocation = opt_positionLocation || 0;610 opt_texcoordLocation = opt_texcoordLocation || 1;611 var vs = setupSimpleTextureVertexShader(gl),612 fs = setupSimple2DArrayIntTextureFragmentShader(gl);613 if (!vs || !fs) {614 return null;615 }616 var program = WebGLTestUtils.setupProgram(617 gl,618 [vs, fs],619 ['vPosition', 'texCoord0'],620 [opt_positionLocation, opt_texcoordLocation]);621 if (!program) {622 gl.deleteShader(fs);623 gl.deleteShader(vs);624 }625 gl.useProgram(program);...
Using AI Code Generation
1function setupSimpleTextureVertexShader(gl, shader) {2 var vertexShader = gl.createShader(gl.VERTEX_SHADER);3 gl.shaderSource(vertexShader, shader);4 gl.compileShader(vertexShader);5 return vertexShader;6}7function setupSimpleTextureFragmentShader(gl, shader) {8 var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);9 gl.shaderSource(fragmentShader, shader);10 gl.compileShader(fragmentShader);11 return fragmentShader;12}13function setupSimpleTextureProgram(gl, vertexShader, fragmentShader) {14 var program = gl.createProgram();15 gl.attachShader(program, vertexShader);16 gl.attachShader(program, fragmentShader);17 gl.linkProgram(program);18 gl.useProgram(program);19 return program;20}21function setupSimpleTextureBuffers(gl, vertices, indices) {22 var vertexBuffer = gl.createBuffer();23 gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);24 gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(vertices), gl.STATIC_DRAW);25 vertexBuffer.itemSize = 3;26 vertexBuffer.numberOfItems = 4;27 var indexBuffer = gl.createBuffer();28 gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, indexBuffer);29 gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint16Array(indices), gl.STATIC_DRAW);30 indexBuffer.itemSize = 1;31 indexBuffer.numberOfItems = 6;32 return [vertexBuffer, indexBuffer];33}34function setupSimpleTextureTexture(gl, image) {35 var texture = gl.createTexture();36 gl.bindTexture(gl.TEXTURE_2D, texture);37 gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true);38 gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl
Using AI Code Generation
1function setupSimpleTextureVertexShader() {2 var canvas = document.getElementById("canvas");3 var gl = canvas.getContext("webgl");4 var vertexShader = gl.createShader(gl.VERTEX_SHADER);5 var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);6 gl.shaderSource(vertexShader, "attribute vec4 a_position;7 attribute vec2 a_texCoord;8 varying vec2 v_texCoord;9 void main() {10 gl_Position = a_position;11 v_texCoord = a_texCoord;12 }");13 gl.shaderSource(fragmentShader, "precision mediump float;14 varying vec2 v_texCoord;15 uniform sampler2D u_texture;16 void main() {17 gl_FragColor = texture2D(u_texture, v_texCoord);18 }");19 gl.compileShader(vertexShader);20 gl.compileShader(fragmentShader);21 var program = gl.createProgram();22 gl.attachShader(program, vertexShader);23 gl.attachShader(program, fragmentShader);24 gl.linkProgram(program);25 gl.useProgram(program);26 return program;27}28function setupSimpleTextureFragmentShader() {29 var canvas = document.getElementById("canvas");30 var gl = canvas.getContext("webgl");31 var vertexShader = gl.createShader(gl.VERTEX_SHADER);32 var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);33 gl.shaderSource(vertexShader, "attribute vec4 a_position;34 attribute vec2 a_texCoord;35 varying vec2 v_texCoord;36 void main() {37 gl_Position = a_position;38 v_texCoord = a_texCoord;39 }");40 gl.shaderSource(fragmentShader, "precision mediump float;41 varying vec2 v_texCoord;42 uniform sampler2D u_texture;43 void main() {44 gl_FragColor = texture2D(u_texture, v_texCoord);45 }");46 gl.compileShader(vertexShader);47 gl.compileShader(fragmentShader);48 var program = gl.createProgram();49 gl.attachShader(program, vertexShader);50 gl.attachShader(program, fragmentShader);51 gl.linkProgram(program);52 gl.useProgram(program);53 return program;54}55function setupSimpleTexture() {56 var canvas = document.getElementById("canvas");57 var gl = canvas.getContext("webgl");58 var program = setupSimpleTextureVertexShader();
Using AI Code Generation
1function setupSimpleTextureVertexShader(gl) {2 var vertexShader = gl.createShader(gl.VERTEX_SHADER);3 gl.shaderSource(vertexShader, [4 'precision mediump float;',5 'attribute vec4 a_position;',6 'attribute vec2 a_texCoord;',7 'varying vec2 v_texCoord;',8 'void main() {',9 ' gl_Position = a_position;',10 ' v_texCoord = a_texCoord;',11 '}',12 ].join('13'));14 gl.compileShader(vertexShader);15 return vertexShader;16}17function setupSimpleTextureFragmentShader(gl) {18 var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);19 gl.shaderSource(fragmentShader, [20 'precision mediump float;',21 'varying vec2 v_texCoord;',22 'uniform sampler2D u_texture;',23 'void main() {',24 ' gl_FragColor = texture2D(u_texture, v_texCoord);',25 '}',26 ].join('27'));28 gl.compileShader(fragmentShader);29 return fragmentShader;30}31function setupProgram(gl, vertexShader, fragmentShader) {32 var program = gl.createProgram();33 gl.attachShader(program, vertexShader);34 gl.attachShader(program, fragmentShader);35 gl.linkProgram(program);36 gl.useProgram(program);37 return program;38}39function setupTexCoords(gl, program, texCoordBuffer) {40 var texCoordLocation = gl.getAttribLocation(program, 'a_texCoord');41 gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);42 gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);43 gl.enableVertexAttribArray(texCoordLocation);44}45function setupPositions(gl, program, positionBuffer) {46 var positionLocation = gl.getAttribLocation(program, 'a_position');47 gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);48 gl.vertexAttribPointer(positionLocation, 2, gl.FLOAT, false, 0, 0);49 gl.enableVertexAttribArray(positionLocation);50}
Using AI Code Generation
1var vertexShader = setupSimpleTextureVertexShader(gl, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2);2function setupSimpleTextureVertexShader(gl, a_position, a_texCoord, u_texUnit, u_textureSize, u_textureScale, u_textureOffset, u_textureRotation, u_textureFlipY, u_texturePremultiplyAlpha, u_textureColorSpaceConversion) {3 var vertexShader = setupVertexShader(gl, vertexShaderSource);4 return vertexShader;5}6function setupVertexShader(gl, vertexShaderSource) {7 var vertexShader = gl.createShader(gl.VERTEX_SHADER);8 return vertexShader;9}10importScripts('wpt.js');11var vertexShader = setupSimpleTextureVertexShader(gl, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2);
Using AI Code Generation
1var wptTestHelper = {};2wptTestHelper.setupSimpleTextureVertexShader = function(gl, textureUnit) {3 var vertexShader = wptTestHelper.loadShader(gl, 'vertex', 'vertex_shader');4 var fragmentShader = wptTestHelper.loadShader(gl, 'fragment', 'fragment_shader');5 var program = wptTestHelper.createProgram(gl, [vertexShader, fragmentShader]);6 gl.useProgram(program);7 gl.uniform1i(gl.getUniformLocation(program, 'u_texture'), textureUnit);8 return program;9};10var wptTestHelper = {};11wptTestHelper.loadShader = function(gl, type, id) {12 var shaderScript = document.getElementById(id);13 var shaderSource = shaderScript.text;14 var shader;15 if (type == 'fragment') {16 shader = gl.createShader(gl.FRAGMENT_SHADER);17 } else if (type == 'vertex') {18 shader = gl.createShader(gl.VERTEX_SHADER);19 } else {20 return null;21 }22 gl.shaderSource(shader, shaderSource);23 gl.compileShader(shader);24 if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {25 console.log(gl.getShaderInfoLog(shader));26 return null;27 }28 return shader;29};30wptTestHelper.createProgram = function(gl, shaders) {31 var program = gl.createProgram();32 for (var i = 0; i < shaders.length; ++i) {33 gl.attachShader(program, shaders[i]);34 }35 gl.linkProgram(program);36 if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {37 console.log(gl.getProgramInfoLog(program));38 return null;39 }40 return program;41};42wptTestHelper.createTexture = function(gl, width, height, data) {43 var texture = gl.createTexture();44 gl.bindTexture(gl.TEXTURE_2D, texture);45 gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, data);46 gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);47 gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);48 gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP
Using AI Code Generation
1var gl;2var shaderProgram;3var vertexPositionBuffer;4var vertexIndexBuffer;5var vertexTextureCoordBuffer;6var texture;7function initGL(canvas) {8 try {9 gl = canvas.getContext("experimental-webgl");10 gl.viewportWidth = canvas.width;11 gl.viewportHeight = canvas.height;12 } catch (e) {13 }14 if (!gl) {15 alert("Could not initialise WebGL, sorry :-(");16 }17}18function getShader(gl, id) {19 var shaderScript = document.getElementById(id);20 if (!shaderScript) {21 return null;22 }23 var str = "";24 var k = shaderScript.firstChild;25 while (k) {26 if (k.nodeType == 3) {27 str += k.textContent;28 }29 k = k.nextSibling;30 }31 var shader;32 if (shaderScript.type == "x-shader/x-fragment") {33 shader = gl.createShader(gl.FRAGMENT_SHADER);34 } else if (shaderScript.type == "x-shader/x-vertex") {35 shader = gl.createShader(gl.VERTEX_SHADER);36 } else {37 return null;38 }39 gl.shaderSource(shader, str);40 gl.compileShader(shader);41 if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {42 alert(gl.getShaderInfoLog(shader));43 return null;44 }45 return shader;46}47function initShaders() {48 var fragmentShader = getShader(gl, "shader-fs");49 var vertexShader = getShader(gl, "shader-vs");50 shaderProgram = gl.createProgram();51 gl.attachShader(shaderProgram, vertexShader);52 gl.attachShader(shaderProgram, fragmentShader);53 gl.linkProgram(shaderProgram);54 if (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS)) {55 alert("Could not initialise shaders");56 }57 gl.useProgram(shaderProgram);58 shaderProgram.vertexPositionAttribute = gl.getAttribLocation(shaderProgram, "aVertexPosition");59 gl.enableVertexAttribArray(shaderProgram.vertexPositionAttribute);60 shaderProgram.textureCoordAttribute = gl.getAttribLocation(shaderProgram, "aTextureCoord");61 gl.enableVertexAttribArray(shaderProgram.textureCoordAttribute);62 shaderProgram.samplerUniform = gl.getUniformLocation(shaderProgram, "uSampler");63}64function initBuffers() {
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!