webgl-info

WebGL features info

Usage no npm install needed!

<script type="module">
  import webglInfo from 'https://cdn.skypack.dev/webgl-info';
</script>

README

webgl-info

WebGL features info

Based on gl-info

Usage

npm install webgl-info
import WebGLInfo from 'webgl-info';

console.log(WebGLInfo);

And you should get a report similar to the following one:

{
    "webgl1": {
        "webglVersion": 1,
        "contextName": "webgl",
        "glVersion": "WebGL 1.0",
        "vendor": "Mozilla",
        "renderer": "Mozilla",
        "unMaskedVendor": "ATI Technologies Inc.",
        "unMaskedRenderer": "AMD Radeon Pro 560 OpenGL Engine",
        "angle": "No",
        "antialias": "Available",
        "majorPerformanceCaveat": "No",
        "bits": {
            "redBits": 8,
            "greenBits": 8,
            "blueBits": 8,
            "alphaBits": 8,
            "depthBits": 24,
            "stencilBits": 8
        },
        "maximum": {
            "maxColorBuffers": 8,
            "maxRenderBufferSize": 16384,
            "maxCombinedTextureImageUnits": 80,
            "maxCubeMapTextureSize": 16384,
            "maxFragmentUniformVectors": 1024,
            "maxTextureImageUnits": 16,
            "maxTextureSize": 16384,
            "maxVaryingVectors": 32,
            "maxVertexAttributes": 16,
            "maxVertexTextureImageUnits": 16,
            "maxVertexUniformVectors": 1024,
            "maxViewportDimensions": [
                16384,
                16384
            ],
            "maxAnisotropy": 16
        },
        "aliasedLineWidthRange": [
            1,
            1
        ],
        "aliasedPointSizeRange": [
            1,
            8191
        ],
        "shaders": {
            "vertexShaderBestPrecision": {
                "high": "[-1.7014118346046923e+38, 1.7014118346046923e+38] (23 bit mantissa)",
                "medium": "[-1.7014118346046923e+38, 1.7014118346046923e+38] (23 bit mantissa)",
                "low": "[-1.7014118346046923e+38, 1.7014118346046923e+38] (23 bit mantissa)",
                "best": "[-2^127, 2^127] (23)"
            },
            "fragmentShaderBestPrecision": {
                "high": "[-1.7014118346046923e+38, 1.7014118346046923e+38] (23 bit mantissa)",
                "medium": "[-1.7014118346046923e+38, 1.7014118346046923e+38] (23 bit mantissa)",
                "low": "[-1.7014118346046923e+38, 1.7014118346046923e+38] (23 bit mantissa)",
                "best": "[-2^127, 2^127] (23)"
            },
            "fragmentShaderFloatIntPrecision": "highp/highp",
            "shadingLanguageVersion": "WebGL GLSL ES 1.0"
        },
        "extensions": [
            "ANGLE_instanced_arrays",
            "EXT_blend_minmax",
            "EXT_color_buffer_half_float",
            "EXT_frag_depth",
            "EXT_sRGB",
            "EXT_shader_texture_lod",
            "EXT_texture_filter_anisotropic",
            "OES_element_index_uint",
            "OES_standard_derivatives",
            "OES_texture_float",
            "OES_texture_float_linear",
            "OES_texture_half_float",
            "OES_texture_half_float_linear",
            "OES_vertex_array_object",
            "WEBGL_color_buffer_float",
            "WEBGL_compressed_texture_s3tc",
            "WEBGL_compressed_texture_s3tc_srgb",
            "WEBGL_debug_renderer_info",
            "WEBGL_debug_shaders",
            "WEBGL_depth_texture",
            "WEBGL_draw_buffers",
            "WEBGL_lose_context"
        ]
    },
    "webgl2": {
        "webglVersion": 2,
        "contextName": "webgl2",
        "glVersion": "WebGL 2.0",
        "vendor": "Mozilla",
        "renderer": "Mozilla",
        "unMaskedVendor": "ATI Technologies Inc.",
        "unMaskedRenderer": "AMD Radeon Pro 560 OpenGL Engine",
        "angle": "No",
        "antialias": "Available",
        "majorPerformanceCaveat": "No",
        "bits": {
            "redBits": 8,
            "greenBits": 8,
            "blueBits": 8,
            "alphaBits": 8,
            "depthBits": 24,
            "stencilBits": 8
        },
        "maximum": {
            "maxColorBuffers": 1,
            "maxRenderBufferSize": 16384,
            "maxCombinedTextureImageUnits": 80,
            "maxCubeMapTextureSize": 16384,
            "maxFragmentUniformVectors": 1024,
            "maxTextureImageUnits": 16,
            "maxTextureSize": 16384,
            "maxVaryingVectors": 32,
            "maxVertexAttributes": 16,
            "maxVertexTextureImageUnits": 16,
            "maxVertexUniformVectors": 1024,
            "maxViewportDimensions": [
                16384,
                16384
            ],
            "maxAnisotropy": 16
        },
        "aliasedLineWidthRange": [
            1,
            1
        ],
        "aliasedPointSizeRange": [
            1,
            8191
        ],
        "shaders": {
            "vertexShaderBestPrecision": {
                "high": "[-1.7014118346046923e+38, 1.7014118346046923e+38] (23 bit mantissa)",
                "medium": "[-1.7014118346046923e+38, 1.7014118346046923e+38] (23 bit mantissa)",
                "low": "[-1.7014118346046923e+38, 1.7014118346046923e+38] (23 bit mantissa)",
                "best": "[-2^127, 2^127] (23)"
            },
            "fragmentShaderBestPrecision": {
                "high": "[-1.7014118346046923e+38, 1.7014118346046923e+38] (23 bit mantissa)",
                "medium": "[-1.7014118346046923e+38, 1.7014118346046923e+38] (23 bit mantissa)",
                "low": "[-1.7014118346046923e+38, 1.7014118346046923e+38] (23 bit mantissa)",
                "best": "[-2^127, 2^127] (23)"
            },
            "fragmentShaderFloatIntPrecision": "highp/highp",
            "shadingLanguageVersion": "WebGL GLSL ES 3.00"
        },
        "extensions": [
            "EXT_color_buffer_float",
            "EXT_texture_filter_anisotropic",
            "OES_texture_float_linear",
            "WEBGL_compressed_texture_s3tc",
            "WEBGL_compressed_texture_s3tc_srgb",
            "WEBGL_debug_renderer_info",
            "WEBGL_debug_shaders",
            "WEBGL_lose_context"
        ]
    }
}