updateTexture method

void updateTexture(
  1. int width,
  2. int height,
  3. Uint8List bytes
)

Implementation

void updateTexture(int width, int height, Uint8List bytes) {
  _imageWidth = width;
  _imageHeight = height;
  if (_mainTexture != null) {
    context.deleteTexture(_mainTexture);
  }

  _mainTexture = context.createTexture();

  context.bindTexture(WebGL.TEXTURE_2D, _mainTexture);
  context.pixelStorei(WebGL.UNPACK_ALIGNMENT, 4);
  context.texParameteri(
      WebGL.TEXTURE_2D, WebGL.TEXTURE_MIN_FILTER, WebGL.LINEAR);
  context.texParameteri(
      WebGL.TEXTURE_2D, WebGL.TEXTURE_MAG_FILTER, WebGL.LINEAR);
  context.texParameteri(
      WebGL.TEXTURE_2D, WebGL.TEXTURE_WRAP_S, WebGL.CLAMP_TO_EDGE);
  context.texParameteri(
      WebGL.TEXTURE_2D, WebGL.TEXTURE_WRAP_T, WebGL.CLAMP_TO_EDGE);

  context.texImage2D(WebGL.TEXTURE_2D, 0, WebGL.RGBA, width, height, 0,
      WebGL.RGBA, WebGL.UNSIGNED_BYTE, bytes);
}