WebGLCapabilities constructor

WebGLCapabilities(
  1. RenderingContext gl,
  2. WebGLExtensions extensions,
  3. WebGLRendererParameters parameters,
  4. WebGLUtils utils,
)

Implementation

WebGLCapabilities(this.gl, this.extensions, this.parameters, this.utils) {
  precision = parameters.precision.name;

  maxPrecision = getMaxPrecision(precision);
  if (maxPrecision != precision) {
    console.warning('WebGLRenderer: $precision not supported, using $maxPrecision instead.');
    precision = maxPrecision;
  }

  logarithmicDepthBuffer = parameters.logarithmicDepthBuffer == true;
  reverseDepthBuffer = parameters.reverseDepthBuffer == true && extensions.has( 'EXT_clip_control' );

  maxTextures = gl.getParameter(WebGL.MAX_TEXTURE_IMAGE_UNITS);
  maxVertexTextures = gl.getParameter(WebGL.MAX_VERTEX_TEXTURE_IMAGE_UNITS);
  maxTextureSize = gl.getParameter(WebGL.MAX_TEXTURE_SIZE);
  maxCubemapSize = gl.getParameter(WebGL.MAX_CUBE_MAP_TEXTURE_SIZE);

  maxAttributes = gl.getParameter(WebGL.MAX_VERTEX_ATTRIBS);
  maxVertexUniforms = gl.getParameter(WebGL.MAX_VERTEX_UNIFORM_VECTORS);
  maxVaryings = gl.getParameter(WebGL.MAX_VARYING_VECTORS);
  maxFragmentUniforms = gl.getParameter(WebGL.MAX_FRAGMENT_UNIFORM_VECTORS);

  vertexTextures = maxVertexTextures > 0;

  maxSamples = gl.getParameter(WebGL.MAX_SAMPLES);
}