Advertisement
Guest User

Untitled

a guest
Dec 14th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. export function createTexture(img) {
  2.     let texture = _gl.createTexture();
  3.     _gl.bindTexture(_gl.TEXTURE_2D, texture);
  4.  
  5.     _gl.texParameteri(_gl.TEXTURE_2D, _gl.TEXTURE_WRAP_S, _gl.CLAMP_TO_EDGE);
  6.     _gl.texParameteri(_gl.TEXTURE_2D, _gl.TEXTURE_WRAP_T, _gl.CLAMP_TO_EDGE);
  7.     _gl.texParameteri(_gl.TEXTURE_2D, _gl.TEXTURE_MIN_FILTER, _gl.NEAREST);
  8.     _gl.texParameteri(_gl.TEXTURE_2D, _gl.TEXTURE_MAG_FILTER, _gl.NEAREST);
  9.  
  10.     let mipLevel = 0;
  11.     let internalFormat = _gl.RGBA;
  12.     let srcFormat = _gl.RGBA;
  13.     let srcType = _gl.UNSIGNED_BYTE;
  14.     _gl.texImage2D(_gl.TEXTURE_2D, mipLevel, internalFormat, srcFormat, srcType, img);
  15.  
  16.     return {
  17.         texture: texture,
  18.         width: img.width,
  19.         height: img.height,
  20.     };
  21. }
  22.  
  23. export function render(r, g, b, a) {
  24.  
  25.     let programData = _programs[0];
  26.  
  27.     _gl.viewport(0, 0, _gl.canvas.width, _gl.canvas.height);
  28.  
  29.     clear(r, g, b, a);
  30.  
  31.     _gl.useProgram(programData.program);
  32.  
  33.     for (var actor of _actors.keys()) {
  34.         _gl.bindVertexArray(actor.vertexArray);
  35.  
  36.         _gl.activeTexture(_gl.TEXTURE0 + 0);
  37.         _gl.bindTexture(_gl.TEXTURE_2D, actor.texture);
  38.  
  39.         _gl.uniform1i(programData.uniforms.image, 0);
  40.         _gl.uniform2f(programData.uniforms.resolution, _gl.canvas.width, _gl.canvas.height);
  41.         _gl.uniform2f(programData.uniforms.uvModifier, 1.0, 1.0);
  42.         _gl.uniform2f(programData.uniforms.uvTranslator, 0.0, 0.0);
  43.  
  44.         _gl.drawArrays(_gl.TRIANGLES, 0, 6);
  45.     }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement