Buckets:
ktongue/docker_container / simsite /frontend /node_modules /three /src /renderers /webgl /WebGLCapabilities.js
| function WebGLCapabilities( gl, extensions, parameters ) { | |
| let maxAnisotropy; | |
| function getMaxAnisotropy() { | |
| if ( maxAnisotropy !== undefined ) return maxAnisotropy; | |
| if ( extensions.has( 'EXT_texture_filter_anisotropic' ) === true ) { | |
| const extension = extensions.get( 'EXT_texture_filter_anisotropic' ); | |
| maxAnisotropy = gl.getParameter( extension.MAX_TEXTURE_MAX_ANISOTROPY_EXT ); | |
| } else { | |
| maxAnisotropy = 0; | |
| } | |
| return maxAnisotropy; | |
| } | |
| function getMaxPrecision( precision ) { | |
| if ( precision === 'highp' ) { | |
| if ( gl.getShaderPrecisionFormat( gl.VERTEX_SHADER, gl.HIGH_FLOAT ).precision > 0 && | |
| gl.getShaderPrecisionFormat( gl.FRAGMENT_SHADER, gl.HIGH_FLOAT ).precision > 0 ) { | |
| return 'highp'; | |
| } | |
| precision = 'mediump'; | |
| } | |
| if ( precision === 'mediump' ) { | |
| if ( gl.getShaderPrecisionFormat( gl.VERTEX_SHADER, gl.MEDIUM_FLOAT ).precision > 0 && | |
| gl.getShaderPrecisionFormat( gl.FRAGMENT_SHADER, gl.MEDIUM_FLOAT ).precision > 0 ) { | |
| return 'mediump'; | |
| } | |
| } | |
| return 'lowp'; | |
| } | |
| const isWebGL2 = typeof WebGL2RenderingContext !== 'undefined' && gl.constructor.name === 'WebGL2RenderingContext'; | |
| let precision = parameters.precision !== undefined ? parameters.precision : 'highp'; | |
| const maxPrecision = getMaxPrecision( precision ); | |
| if ( maxPrecision !== precision ) { | |
| console.warn( 'THREE.WebGLRenderer:', precision, 'not supported, using', maxPrecision, 'instead.' ); | |
| precision = maxPrecision; | |
| } | |
| const drawBuffers = isWebGL2 || extensions.has( 'WEBGL_draw_buffers' ); | |
| const logarithmicDepthBuffer = parameters.logarithmicDepthBuffer === true; | |
| const maxTextures = gl.getParameter( gl.MAX_TEXTURE_IMAGE_UNITS ); | |
| const maxVertexTextures = gl.getParameter( gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS ); | |
| const maxTextureSize = gl.getParameter( gl.MAX_TEXTURE_SIZE ); | |
| const maxCubemapSize = gl.getParameter( gl.MAX_CUBE_MAP_TEXTURE_SIZE ); | |
| const maxAttributes = gl.getParameter( gl.MAX_VERTEX_ATTRIBS ); | |
| const maxVertexUniforms = gl.getParameter( gl.MAX_VERTEX_UNIFORM_VECTORS ); | |
| const maxVaryings = gl.getParameter( gl.MAX_VARYING_VECTORS ); | |
| const maxFragmentUniforms = gl.getParameter( gl.MAX_FRAGMENT_UNIFORM_VECTORS ); | |
| const vertexTextures = maxVertexTextures > 0; | |
| const floatFragmentTextures = isWebGL2 || extensions.has( 'OES_texture_float' ); | |
| const floatVertexTextures = vertexTextures && floatFragmentTextures; | |
| const maxSamples = isWebGL2 ? gl.getParameter( gl.MAX_SAMPLES ) : 0; | |
| return { | |
| isWebGL2: isWebGL2, | |
| drawBuffers: drawBuffers, | |
| getMaxAnisotropy: getMaxAnisotropy, | |
| getMaxPrecision: getMaxPrecision, | |
| precision: precision, | |
| logarithmicDepthBuffer: logarithmicDepthBuffer, | |
| maxTextures: maxTextures, | |
| maxVertexTextures: maxVertexTextures, | |
| maxTextureSize: maxTextureSize, | |
| maxCubemapSize: maxCubemapSize, | |
| maxAttributes: maxAttributes, | |
| maxVertexUniforms: maxVertexUniforms, | |
| maxVaryings: maxVaryings, | |
| maxFragmentUniforms: maxFragmentUniforms, | |
| vertexTextures: vertexTextures, | |
| floatFragmentTextures: floatFragmentTextures, | |
| floatVertexTextures: floatVertexTextures, | |
| maxSamples: maxSamples | |
| }; | |
| } | |
| export { WebGLCapabilities }; | |
Xet Storage Details
- Size:
- 3.17 kB
- Xet hash:
- f3018922c1d7037bfc1daec2e0f017b738d1d726ee895902938e2b18995d55b6
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.