Best JavaScript code snippet using wpt
webgl-test-utils.js
Source:webgl-test-utils.js
...118 gl, opt_positionLocation, opt_texcoordLocation) {119 opt_positionLocation = opt_positionLocation || 0;120 opt_texcoordLocation = opt_texcoordLocation || 1;121 var vs = setupSimpleTextureVertexShader(gl);122 var fs = setupSimpleTextureFragmentShader(gl);123 if (!vs || !fs) {124 return null;125 }126 var program = setupProgram(127 gl, [vs, fs], ['vPosition', 'texCoord0'],128 [opt_positionLocation, opt_texcoordLocation]);129 if (!program) {130 gl.deleteShader(fs);131 gl.deleteShader(vs);132 }133 gl.useProgram(program);134 return program;135 };136 /**...
Using AI Code Generation
1var gl = wpt.create3DContext("example");2var program = wpt.setupSimpleTextureFragmentShader(gl);3gl.useProgram(program);4var texCoordLocation = gl.getAttribLocation(program, "a_texCoord");5var positionLocation = gl.getAttribLocation(program, "a_position");6var textureLocation = gl.getUniformLocation(program, "u_texture");7var texCoordBuffer = gl.createBuffer();8gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);9gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([10 1, 1]), gl.STATIC_DRAW);11var positionBuffer = gl.createBuffer();12gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);13gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([14 1, 1]), gl.STATIC_DRAW);15var texture = gl.createTexture();16gl.bindTexture(gl.TEXTURE_2D, texture);17gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);18gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);19gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);20gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);21var image = new Image();22image.src = "resources/red-green.webp";23image.onload = function() {24 gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);25 render();26};27function render() {28 gl.clearColor(0, 0, 0, 0);29 gl.clear(gl.COLOR_BUFFER_BIT);30 gl.useProgram(program);31 gl.enableVertexAttribArray(positionLocation);32 gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);
Using AI Code Generation
1var texture = new WPTexture();2var shader = texture.setupSimpleTextureFragmentShader();3texture.setFragmentShader(shader);4WPTexture.prototype.setupSimpleTextureFragmentShader = function() {5 var shader = this.getFragmentShader();6 shader.setShaderSource("precision mediump float; uniform sampler2D uSampler; varying vec2 vTextureCoord; void main(void) { gl_FragColor = texture2D(uSampler, vec2(vTextureCoord.s, vTextureCoord.t)); }");7 return shader;8};9WPTexture.prototype.getFragmentShader = function() {10 if (!this.fragmentShader) {11 this.fragmentShader = new WPFragmentShader();12 }13 return this.fragmentShader;14};15WPShader.prototype.setShaderSource = function(shaderSource) {16 this.shaderSource = shaderSource;17};18WPShader.prototype.getShaderSource = function() {19 return this.shaderSource;20};21WPFragmentShader.prototype = new WPShader();22WPFragmentShader.prototype.constructor = WPFragmentShader;23function WPFragmentShader() {24 WPShader.call(this);25}26WPShader.prototype = new WPObject();27WPShader.prototype.constructor = WPShader;28function WPShader() {29 WPObject.call(this);30}31function WPObject() {32}33var texture = new WPTexture();34var texture = new WPTexture();35texture.setFragmentShader("precision mediump float; uniform sampler2D uSampler; varying vec2 vTextureCoord; void main(void) { gl_FragColor = texture2D(uSampler, vec2(vTextureCoord.s, vTextureCoord.t)); }");
Using AI Code Generation
1var gl = getWebGLContext();2var shader = new WpTextureFragmentShader(gl);3var program = shader.setupSimpleTextureFragmentShader();4var WpTextureFragmentShader = function(gl) {5 this.gl = gl;6}7WpTextureFragmentShader.prototype.setupSimpleTextureFragmentShader = function() {8 var fragmentShader = this.gl.createShader(this.gl.FRAGMENT_SHADER);9 var fragmentShaderSource = "precision mediump float;10varying vec4 v_color;11varying vec2 v_texCoord;12uniform sampler2D u_sampler;13void main(void) {14 gl_FragColor = v_color * texture2D(u_sampler, vec2(v_texCoord.s, v_texCoord.t));15}";16 this.gl.shaderSource(fragmentShader, fragmentShaderSource);17 this.gl.compileShader(fragmentShader);18 if (!this.gl.getShaderParameter(fragmentShader, this.gl.COMPILE_STATUS)) {19 throw this.gl.getShaderInfoLog(fragmentShader);20 }21 var program = this.gl.createProgram();22 this.gl.attachShader(program, fragmentShader);23 this.gl.linkProgram(program);24 if (!this.gl.getProgramParameter(program, this.gl.LINK_STATUS)) {25 throw this.gl.getProgramInfoLog(program);26 }27 return program;28}
Using AI Code Generation
1var canvas = null;2var simpleTextureProgram = null;3var simpleTextureVertexPositionBuffer = null;4var simpleTextureVertexTextureCoordBuffer = null;5var simpleTextureVertexIndexBuffer = null;6var simpleTextureVertexIndexBufferLength = 0;7var simpleTextureMatrix = null;8var simpleTexture = null;9var simpleTextureVertexPositionAttribute = null;10var simpleTextureVertexTextureCoordAttribute = null;11function setup() {12 canvas = document.getElementById("canvas");13 gl = wptc.getWebGLContext(canvas);14 if(!gl) {15 console.log("Could not get webgl context");16 return;17 }18 simpleTextureProgram = wptc.setupSimpleTextureProgram(gl);19 if(!simpleTextureProgram) {20 console.log("Could not setup simple texture program");21 return;22 }23 simpleTextureVertexPositionBuffer = wptc.setupSimpleTextureVertexPositionBuffer(gl);24 if(!simpleTextureVertexPositionBuffer) {
Using AI Code Generation
1var wptc = require('./wptc');2var gl = null;3var program = null;4var texture = null;5var image = null;6var canvas = null;7function init() {8 canvas = document.getElementById("glcanvas");9 gl = canvas.getContext("webgl");10 if (!gl) {11 alert("Unable to initialize WebGL. Your browser or machine may not support it.");12 return;13 }14 gl.clearColor(0.0, 0.0, 0.0, 1.0);15 gl.clear(gl.COLOR_BUFFER_BIT);16 var vertexShader = wptc.createShaderFromScriptElement(gl, "2d-vertex-shader");17 var fragmentShader = wptc.createShaderFromScriptElement(gl, "2d-fragment-shader");18 program = wptc.createProgram(gl, [vertexShader, fragmentShader]);19 var positionLocation = gl.getAttribLocation(program, "a_position");20 var texcoordLocation = gl.getAttribLocation(program, "a_texCoord");21 var resolutionLocation = gl.getUniformLocation(program, "u_resolution");22 var textureSizeLocation = gl.getUniformLocation(program, "u_textureSize");23 var buffer = gl.createBuffer();24 gl.bindBuffer(gl.ARRAY_BUFFER, buffer);25 setRectangle(gl, 0, 0, 200, 200);26 texture = gl.createTexture();27 gl.bindTexture(gl.TEXTURE_2D, texture);28 gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);29 gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);30 gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);31 gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA
Using AI Code Generation
1var gl = document.getElementById("glCanvas").getContext("experimental-webgl");2var program = wptexture.setupSimpleTextureFragmentShader(gl);3var texture = wptexture.setupTexture(gl, "image.png");4wptexture.renderTexture(gl, program, texture);5var wptexture = wptexture || {};6wptexture.setupSimpleTextureFragmentShader = function(gl) {7 var vertexShader = wptexture.getShader(gl, "vertex-shader");8 var fragmentShader = wptexture.getShader(gl, "fragment-shader");9 var program = gl.createProgram();10 gl.attachShader(program, vertexShader);11 gl.attachShader(program, fragmentShader);12 gl.linkProgram(program);13 if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {14 alert("Could not initialise shaders");15 }16 gl.useProgram(program);17 program.vertexPositionAttribute = gl.getAttribLocation(program, "aVertexPosition");18 gl.enableVertexAttribArray(program.vertexPositionAttribute);19 program.textureCoordAttribute = gl.getAttribLocation(program, "aTextureCoord");20 gl.enableVertexAttribArray(program.textureCoordAttribute);21 return program;22};23wptexture.getShader = function(gl, id) {24 var shaderScript = document.getElementById(id);25 if (!shaderScript) {26 return null;27 }28 var str = "";29 var k = shaderScript.firstChild;30 while (k) {31 if (k.nodeType == 3) {32 str += k.textContent;33 }34 k = k.nextSibling;35 }36 var shader;37 if (shaderScript.type == "x-shader/x-fragment") {38 shader = gl.createShader(gl.FRAGMENT_SHADER);39 } else if (shaderScript.type == "x-shader/x-vertex") {40 shader = gl.createShader(gl.VERTEX_SHADER);41 } else {42 return null;43 }44 gl.shaderSource(shader, str);45 gl.compileShader(shader);46 if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {47 alert(gl.getShaderInfoLog(shader));48 return null;49 }50 return shader;51};52wptexture.setupTexture = function(gl, imageSrc) {
Using AI Code Generation
1var wpt = new WebGLPixelTest();2var fragmentShader = wpt.setupSimpleTextureFragmentShader();3var gl = wpt.getGLContext();4var program = wpt.createProgram(fragmentShader);5var texture = wpt.createTexture();6var textureUnit = wpt.createTextureUnit();7var positionBuffer = wpt.createPositionBuffer();8var texCoordBuffer = wpt.createTexCoordBuffer();9var positionLocation = wpt.getAttribLocation(program, "a_position");10var texCoordLocation = wpt.getAttribLocation(program, "a_texCoord");11var textureLocation = wpt.getUniformLocation(program, "u_texture");12wpt.enableVertexAttribArray(positionLocation);13wpt.enableVertexAttribArray(texCoordLocation);14wpt.vertexAttribPointer(positionLocation, positionBuffer);15wpt.vertexAttribPointer(texCoordLocation, texCoordBuffer);16wpt.useProgram(program);17wpt.activeTexture(textureUnit);18wpt.bindTexture(texture);19wpt.uniform1i(textureLocation, textureUnit);20wpt.drawArrays();21var wpt = new WebGLPixelTest();22var vertexShader = wpt.setupSimpleTextureVertexShader();23var gl = wpt.getGLContext();24var program = wpt.createProgram(vertexShader);25var texture = wpt.createTexture();26var textureUnit = wpt.createTextureUnit();27var positionBuffer = wpt.createPositionBuffer();28var texCoordBuffer = wpt.createTexCoordBuffer();29var positionLocation = wpt.getAttribLocation(program, "a_position");30var texCoordLocation = wpt.getAttribLocation(program, "a_texCoord");31var textureLocation = wpt.getUniformLocation(program, "u_texture");32wpt.enableVertexAttribArray(positionLocation);33wpt.enableVertexAttribArray(texCoordLocation);34wpt.vertexAttribPointer(positionLocation, positionBuffer);35wpt.vertexAttribPointer(texCoordLocation, texCoordBuffer);36wpt.useProgram(program);37wpt.activeTexture(textureUnit);38wpt.bindTexture(texture);39wpt.uniform1i(textureLocation, textureUnit);40wpt.drawArrays();
Using AI Code Generation
1var canvas = document.createElement('canvas');2var gl = canvas.getContext('webgl');3document.body.appendChild(canvas);4var wptexture = new wptexture(gl);5var texture = wptexture.createTextureFromURL('texture.png');6var fragmentShader = wptexture.setupSimpleTextureFragmentShader();7var program = wptexture.createProgram(fragmentShader);8gl.useProgram(program);9gl.activeTexture(gl.TEXTURE0);10gl.bindTexture(gl.TEXTURE_2D, texture);11var textureSampler = gl.getUniformLocation(program, 'textureSampler');12gl.uniform1i(textureSampler, 0);13wptexture.drawTexture();14window.addEventListener('resize', function(){15 canvas.width = window.innerWidth;16 canvas.height = window.innerHeight;17 gl.viewport(0, 0, canvas.width, canvas.height);18 wptexture.drawTexture();19}, false);20window.addEventListener('load', function(){21 canvas.width = window.innerWidth;22 canvas.height = window.innerHeight;23 gl.viewport(0, 0, canvas.width, canvas.height);24 wptexture.drawTexture();25}, false);26window.addEventListener('orientationchange', function(){27 canvas.width = window.innerWidth;28 canvas.height = window.innerHeight;29 gl.viewport(0, 0, canvas.width, canvas.height);30 wptexture.drawTexture();31}, false);32window.addEventListener('devicemotion', function(){33 canvas.width = window.innerWidth;34 canvas.height = window.innerHeight;35 gl.viewport(0, 0, canvas.width, canvas.height);36 wptexture.drawTexture();37}, false);38window.addEventListener('deviceorientation', function(){
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!!