diff --git a/src/client/texture.ts b/src/client/texture.ts index 85b9324..5d592ac 100644 --- a/src/client/texture.ts +++ b/src/client/texture.ts @@ -2,6 +2,7 @@ * Initialize a texture and load an image. * @param {any} gl the gl context * @param {string} url the url of the texture + * @return {any} the loaded texture */ export function loadTexture(gl: any, url: any) { const texture = gl.createTexture(); @@ -19,7 +20,7 @@ export function loadTexture(gl: any, url: any) { const border = 0; const srcFormat = gl.RGBA; const srcType = gl.UNSIGNED_BYTE; - const pixel = new Uint8Array([0, 0, 255, 255]); // opaque blue + const pixel = new Uint8Array([0, 0, 255, 255]); gl.texImage2D(gl.TEXTURE_2D, level, internalFormat, width, height, border, srcFormat, srcType, pixel); @@ -28,7 +29,7 @@ export function loadTexture(gl: any, url: any) { image.onload = function() { gl.bindTexture(gl.TEXTURE_2D, texture); gl.texImage2D(gl.TEXTURE_2D, level, internalFormat, - srcFormat, srcType, image); + srcFormat, srcType, image); // WebGL1 has different requirements for power of 2 images // vs non power of 2 images so check if the image is a @@ -39,8 +40,10 @@ export function loadTexture(gl: any, url: any) { } else { // No, it's not a power of 2. Turn off mips and set // wrapping to clamp to edge - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); - gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, + gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, + gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR); } }; @@ -49,6 +52,11 @@ export function loadTexture(gl: any, url: any) { return texture; } +/** + * Check if number is power of 2 + * @param {number} value the number to check + * @return {boolean} true if is power of 2 else false + */ function isPowerOf2(value: number) { -return (value & (value - 1)) == 0; -} \ No newline at end of file + return (value & (value - 1)) == 0; +}