1chandu 75e03fc4d9 Add withParameters unit test + fix typo in GL constants (#219)
- Add a unit test for withParameters to test push/pop context with stack size > 1.
- Fix a typo in GL constants, FUNC_SUBSTRACT -> FUNC_SUBTRACT.
2017-06-20 17:35:52 -07:00

854 lines
46 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"CONSTANTS": {
"DEPTH_BUFFER_BIT": {"v": "0x00000100"}, // Passed to clear to clear the current depth buffer.
"STENCIL_BUFFER_BIT": {"v": "0x00000400"}, // Passed to clear to clear the current stencil buffer.
"COLOR_BUFFER_BIT": {"v": "0x00004000"}, // Passed to clear to clear the current color buffer.
"POINTS": {"v": "0x0000"}, // Passed to drawElements or drawArrays to draw single points.
"LINES": {"v": "0x0001"}, // Passed to drawElements or drawArrays to draw lines. Each vertex connects to the one after it.
"LINE_LOOP": {"v": "0x0002"}, // Passed to drawElements or drawArrays to draw lines. Each set of two vertices is treated as a separate line segment.
"LINE_STRIP": {"v": "0x0003"}, // Passed to drawElements or drawArrays to draw a connected group of line segments from the first vertex to the last.
"TRIANGLES": {"v": "0x0004"}, // Passed to drawElements or drawArrays to draw triangles. Each set of three vertices creates a separate triangle.
"TRIANGLE_STRIP": {"v": "0x0005"}, // Passed to drawElements or drawArrays to draw a connected group of triangles.
"TRIANGLE_FAN": {"v": "0x0006"}, // Passed to drawElements or drawArrays to draw a connected group of triangles. Each vertex connects to the previous and the first vertex in the fan.
"ZERO": 0, // Passed to blendFunc or blendFuncSeparate to turn off a component.
"ONE": 1, // Passed to blendFunc or blendFuncSeparate to turn on a component.
"SRC_COLOR": {"v": "0x0300"}, // Passed to blendFunc or blendFuncSeparate to multiply a component by the source elements color.
"ONE_MINUS_SRC_COLOR": {"v": "0x0301"}, // Passed to blendFunc or blendFuncSeparate to multiply a component by one minus the source elements color.
"SRC_ALPHA": {"v": "0x0302"}, // Passed to blendFunc or blendFuncSeparate to multiply a component by the source's alpha.
"ONE_MINUS_SRC_ALPHA": {"v": "0x0303"}, // Passed to blendFunc or blendFuncSeparate to multiply a component by one minus the source's alpha.
"DST_ALPHA": {"v": "0x0304"}, // Passed to blendFunc or blendFuncSeparate to multiply a component by the destination's alpha.
"ONE_MINUS_DST_ALPHA": {"v": "0x0305"}, // Passed to blendFunc or blendFuncSeparate to multiply a component by one minus the destination's alpha.
"DST_COLOR": {"v": "0x0306"}, // Passed to blendFunc or blendFuncSeparate to multiply a component by the destination's color.
"ONE_MINUS_DST_COLOR": {"v": "0x0307"}, // Passed to blendFunc or blendFuncSeparate to multiply a component by one minus the destination's color.
"SRC_ALPHA_SATURATE": {"v": "0x0308"}, // Passed to blendFunc or blendFuncSeparate to multiply a component by the minimum of source's alpha or one minus the destination's alpha.
"CONSTANT_COLOR": {"v": "0x8001"}, // Passed to blendFunc or blendFuncSeparate to specify a constant color blend function.
"ONE_MINUS_CONSTANT_COLOR": {"v": "0x8002"}, // Passed to blendFunc or blendFuncSeparate to specify one minus a constant color blend function.
"CONSTANT_ALPHA": {"v": "0x8003"}, // Passed to blendFunc or blendFuncSeparate to specify a constant alpha blend function.
"ONE_MINUS_CONSTANT_ALPHA": {"v": "0x8004"}, // Passed to blendFunc or blendFuncSeparate to specify one minus a constant alpha blend function.
"FUNC_ADD": {"v": "0x8006"}, // Passed to blendEquation or blendEquationSeparate to set an addition blend function.
"FUNC_SUBTRACT": {"v": "0x800A"}, // Passed to blendEquation or blendEquationSeparate to specify a subtraction blend function (source - destination).
"FUNC_REVERSE_SUBTRACT": {"v": "0x800B"}, // Passed to blendEquation or blendEquationSeparate to specify a reverse subtraction blend function (destination - source).
"BLEND_EQUATION": {"v": "0x8009"}, // Passed to getParameter to get the current RGB blend function.
"BLEND_EQUATION_RGB": {"v": "0x8009"}, // Passed to getParameter to get the current RGB blend function. Same as BLEND_EQUATION
"BLEND_EQUATION_ALPHA": {"v": "0x883D"}, // Passed to getParameter to get the current alpha blend function. Same as BLEND_EQUATION
"BLEND_DST_RGB": {"v": "0x80C8"}, // Passed to getParameter to get the current destination RGB blend function.
"BLEND_SRC_RGB": {"v": "0x80C9"}, // Passed to getParameter to get the current destination RGB blend function.
"BLEND_DST_ALPHA": {"v": "0x80CA"}, // Passed to getParameter to get the current destination alpha blend function.
"BLEND_SRC_ALPHA": {"v": "0x80CB"}, // Passed to getParameter to get the current source alpha blend function.
"BLEND_COLOR": {"v": "0x8005"}, // Passed to getParameter to return a the current blend color.
"ARRAY_BUFFER_BINDING": {"v": "0x8894"}, // Passed to getParameter to get the array buffer binding.
"ELEMENT_ARRAY_BUFFER_BINDING": {"v": "0x8895"}, // Passed to getParameter to get the current element array buffer.
"LINE_WIDTH": {"v": "0x0B21"}, // Passed to getParameter to get the current lineWidth (set by the lineWidth method).
"ALIASED_POINT_SIZE_RANGE": {"v": "0x846D"}, // Passed to getParameter to get the current size of a point drawn with gl.POINTS
"ALIASED_LINE_WIDTH_RANGE": {"v": "0x846E"}, // Passed to getParameter to get the range of available widths for a line. Returns a length-2 array with the lo value at 0, and hight at 1.
"CULL_FACE_MODE": {"v": "0x0B45"}, // Passed to getParameter to get the current value of cullFace. Should return FRONT, BACK, or FRONT_AND_BACK
"FRONT_FACE": {"v": "0x0B46"}, // Passed to getParameter to determine the current value of frontFace. Should return CW or CCW.
"DEPTH_RANGE": {"v": "0x0B70"}, // Passed to getParameter to return a length-2 array of floats giving the current depth range.
"DEPTH_WRITEMASK": {"v": "0x0B72"}, // Passed to getParameter to determine if the depth write mask is enabled.
"DEPTH_CLEAR_VALUE": {"v": "0x0B73"}, // Passed to getParameter to determine the current depth clear value.
"DEPTH_FUNC": {"v": "0x0B74"}, // Passed to getParameter to get the current depth function. Returns NEVER, ALWAYS, LESS, EQUAL, LEQUAL, GREATER, GEQUAL, or NOTEQUAL.
"STENCIL_CLEAR_VALUE": {"v": "0x0B91"}, // Passed to getParameter to get the value the stencil will be cleared to.
"STENCIL_FUNC": {"v": "0x0B92"}, // Passed to getParameter to get the current stencil function. Returns NEVER, ALWAYS, LESS, EQUAL, LEQUAL, GREATER, GEQUAL, or NOTEQUAL.
"STENCIL_FAIL": {"v": "0x0B94"}, // Passed to getParameter to get the current stencil fail function. Should return KEEP, REPLACE, INCR, DECR, INVERT, INCR_WRAP, or DECR_WRAP.
"STENCIL_PASS_DEPTH_FAIL": {"v": "0x0B95"}, // Passed to getParameter to get the current stencil fail function should the depth buffer test fail. Should return KEEP, REPLACE, INCR, DECR, INVERT, INCR_WRAP, or DECR_WRAP.
"STENCIL_PASS_DEPTH_PASS": {"v": "0x0B96"}, // Passed to getParameter to get the current stencil fail function should the depth buffer test pass. Should return KEEP, REPLACE, INCR, DECR, INVERT, INCR_WRAP, or DECR_WRAP.
"STENCIL_REF": {"v": "0x0B97"}, // Passed to getParameter to get the reference value used for stencil tests.
"STENCIL_VALUE_MASK": {"v": "0x0B93"},
"STENCIL_WRITEMASK": {"v": "0x0B98"},
"STENCIL_BACK_FUNC": {"v": "0x8800"},
"STENCIL_BACK_FAIL": {"v": "0x8801"},
"STENCIL_BACK_PASS_DEPTH_FAIL": {"v": "0x8802"},
"STENCIL_BACK_PASS_DEPTH_PASS": {"v": "0x8803"},
"STENCIL_BACK_REF": {"v": "0x8CA3"},
"STENCIL_BACK_VALUE_MASK": {"v": "0x8CA4"},
"STENCIL_BACK_WRITEMASK": {"v": "0x8CA5"},
"VIEWPORT": {"v": "0x0BA2"}, // Returns an Int32Array with four elements for the current viewport dimensions.
"SCISSOR_BOX": {"v": "0x0C10"}, // Returns an Int32Array with four elements for the current scissor box dimensions.
"COLOR_CLEAR_VALUE": {"v": "0x0C22"},
"COLOR_WRITEMASK": {"v": "0x0C23"},
"UNPACK_ALIGNMENT": {"v": "0x0CF5"},
"PACK_ALIGNMENT": {"v": "0x0D05"},
"MAX_TEXTURE_SIZE": {"v": "0x0D33"},
"MAX_VIEWPORT_DIMS": {"v": "0x0D3A"},
"SUBPIXEL_BITS": {"v": "0x0D50"},
"RED_BITS": {"v": "0x0D52"},
"GREEN_BITS": {"v": "0x0D53"},
"BLUE_BITS": {"v": "0x0D54"},
"ALPHA_BITS": {"v": "0x0D55"},
"DEPTH_BITS": {"v": "0x0D56"},
"STENCIL_BITS": {"v": "0x0D57"},
"POLYGON_OFFSET_UNITS": {"v": "0x2A00"},
"POLYGON_OFFSET_FACTOR": {"v": "0x8038"},
"TEXTURE_BINDING_2D": {"v": "0x8069"},
"SAMPLE_BUFFERS": {"v": "0x80A8"},
"SAMPLES": {"v": "0x80A9"},
"SAMPLE_COVERAGE_VALUE": {"v": "0x80AA"},
"SAMPLE_COVERAGE_INVERT": {"v": "0x80AB"},
"COMPRESSED_TEXTURE_FORMATS": {"v": "0x86A3"},
"VENDOR": {"v": "0x1F00"},
"RENDERER": {"v": "0x1F01"},
"VERSION": {"v": "0x1F02"},
"IMPLEMENTATION_COLOR_READ_TYPE": {"v": "0x8B9A"},
"IMPLEMENTATION_COLOR_READ_FORMAT": {"v": "0x8B9B"},
"BROWSER_DEFAULT_WEBGL": {"v": "0x9244"},
"STATIC_DRAW": {"v": "0x88E4"}, // Passed to bufferData as a hint about whether the contents of the buffer are likely to be used often and not change often.
"STREAM_DRAW": {"v": "0x88E0"}, // Passed to bufferData as a hint about whether the contents of the buffer are likely to not be used often.
"DYNAMIC_DRAW": {"v": "0x88E8"}, // Passed to bufferData as a hint about whether the contents of the buffer are likely to be used often and change often.
"ARRAY_BUFFER": {"v": "0x8892"}, // Passed to bindBuffer or bufferData to specify the type of buffer being used.
"ELEMENT_ARRAY_BUFFER": {"v": "0x8893"}, // Passed to bindBuffer or bufferData to specify the type of buffer being used.
"BUFFER_SIZE": {"v": "0x8764"}, // Passed to getBufferParameter to get a buffer's size.
"BUFFER_USAGE": {"v": "0x8765"}, // Passed to getBufferParameter to get the hint for the buffer passed in when it was created.
"CURRENT_VERTEX_ATTRIB": {"v": "0x8626"}, // Passed to getVertexAttrib to read back the current vertex attribute.
"VERTEX_ATTRIB_ARRAY_ENABLED": {"v": "0x8622"}, // Vertex attribute
"VERTEX_ATTRIB_ARRAY_SIZE": {"v": "0x8623"}, // Vertex attribute
"VERTEX_ATTRIB_ARRAY_STRIDE": {"v": "0x8624"}, // Vertex attribute
"VERTEX_ATTRIB_ARRAY_TYPE": {"v": "0x8625"}, // Vertex attribute
"VERTEX_ATTRIB_ARRAY_NORMALIZED": {"v": "0x886A"}, // Vertex attribute
"VERTEX_ATTRIB_ARRAY_POINTER": {"v": "0x8645"}, // Vertex attribute
"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING": {"v": "0x889F"}, // Vertex attribute
"CULL_FACE": {"v": "0x0B44"}, // Passed to enable/disable to turn on/off culling. Can also be used with getParameter to find the current culling method.
"FRONT": {"v": "0x0404"}, // Passed to cullFace to specify that only front faces should be drawn.
"BACK": {"v": "0x0405"}, // Passed to cullFace to specify that only back faces should be drawn.
"FRONT_AND_BACK": {"v": "0x0408"}, // Passed to cullFace to specify that front and back faces should be drawn.
"BLEND": {"v": "0x0BE2"}, // Passed to enable/disable to turn on/off blending. Can also be used with getParameter to find the current blending method.
"DEPTH_TEST": {"v": "0x0B71"}, // Passed to enable/disable to turn on/off the depth test. Can also be used with getParameter to query the depth test.
"DITHER": {"v": "0x0BD0"}, // Passed to enable/disable to turn on/off dithering. Can also be used with getParameter to find the current dithering method.
"POLYGON_OFFSET_FILL": {"v": "0x8037"}, // Passed to enable/disable to turn on/off the polygon offset. Useful for rendering hidden-line images, decals, and or solids with highlighted edges. Can also be used with getParameter to query the scissor test.
"SAMPLE_ALPHA_TO_COVERAGE": {"v": "0x809E"}, // Passed to enable/disable to turn on/off the alpha to coverage. Used in multi-sampling alpha channels.
"SAMPLE_COVERAGE": {"v": "0x80A0"}, // Passed to enable/disable to turn on/off the sample coverage. Used in multi-sampling.
"SCISSOR_TEST": {"v": "0x0C11"}, // Passed to enable/disable to turn on/off the scissor test. Can also be used with getParameter to query the scissor test.
"STENCIL_TEST": {"v": "0x0B90"}, // Passed to enable/disable to turn on/off the stencil test. Can also be used with getParameter to query the stencil test.
"NO_ERROR": 0, // Returned from getError.
"INVALID_ENUM": {"v": "0x0500"}, // Returned from getError.
"INVALID_VALUE": {"v": "0x0501"}, // Returned from getError.
"INVALID_OPERATION": {"v": "0x0502"}, // Returned from getError.
"OUT_OF_MEMORY": {"v": "0x0505"}, // Returned from getError.
"CONTEXT_LOST_WEBGL": {"v": "0x9242"}, // Returned from getError.
"CW": {"v": "0x0900"}, // Passed to frontFace to specify the front face of a polygon is drawn in the clockwise direction
"CCW": {"v": "0x0901"}, // Passed to frontFace to specify the front face of a polygon is drawn in the counter clockwise direction
"DONT_CARE": {"v": "0x1100"}, // There is no preference for this behavior.
"FASTEST": {"v": "0x1101"}, // The most efficient behavior should be used.
"NICEST": {"v": "0x1102"}, // The most correct or the highest quality option should be used.
"GENERATE_MIPMAP_HINT": {"v": "0x8192"}, // Hint for the quality of filtering when generating mipmap images with generateMipmap().
"BYTE": {"v": "0x1400"}, // Data type
"UNSIGNED_BYTE": {"v": "0x1401"}, // Data type
"SHORT": {"v": "0x1402"}, // Data type
"UNSIGNED_SHORT": {"v": "0x1403"}, // Data type
"INT": {"v": "0x1404"}, // Data type
"UNSIGNED_INT": {"v": "0x1405"}, // Data type
"FLOAT": {"v": "0x1406"}, // Data type
"DEPTH_COMPONENT": {"v": "0x1902"}, // Pixel format
"ALPHA": {"v": "0x1906"}, // Pixel format
"RGB": {"v": "0x1907"}, // Pixel format
"RGBA": {"v": "0x1908"}, // Pixel format
"LUMINANCE": {"v": "0x1909"}, // Pixel format
"LUMINANCE_ALPHA": {"v": "0x190A"}, // Pixel format
"UNSIGNED_SHORT_4_4_4_4": {"v": "0x8033"}, // Pixel type
"UNSIGNED_SHORT_5_5_5_1": {"v": "0x8034"}, // Pixel type
"UNSIGNED_SHORT_5_6_5": {"v": "0x8363"}, // Pixel type
"FRAGMENT_SHADER": {"v": "0x8B30"}, // Passed to createShader to define a fragment shader.
"VERTEX_SHADER": {"v": "0x8B31"}, // Passed to createShader to define a vertex shader
"COMPILE_STATUS": {"v": "0x8B81"}, // Passed to getShaderParamter to get the status of the compilation. Returns false if the shader was not compiled. You can then query getShaderInfoLog to find the exact error
"DELETE_STATUS": {"v": "0x8B80"}, // Passed to getShaderParamter to determine if a shader was deleted via deleteShader. Returns true if it was, false otherwise.
"LINK_STATUS": {"v": "0x8B82"}, // Passed to getProgramParameter after calling linkProgram to determine if a program was linked correctly. Returns false if there were errors. Use getProgramInfoLog to find the exact error.
"VALIDATE_STATUS": {"v": "0x8B83"}, // Passed to getProgramParameter after calling validateProgram to determine if it is valid. Returns false if errors were found.
"ATTACHED_SHADERS": {"v": "0x8B85"}, // Passed to getProgramParameter after calling attachShader to determine if the shader was attached correctly. Returns false if errors occurred.
"ACTIVE_ATTRIBUTES": {"v": "0x8B89"}, // Passed to getProgramParameter to get the number of attributes active in a program.
"ACTIVE_UNIFORMS": {"v": "0x8B86"}, // Passed to getProgramParamter to get the number of uniforms active in a program.
"MAX_VERTEX_ATTRIBS": {"v": "0x8869"},
"MAX_VERTEX_UNIFORM_VECTORS": {"v": "0x8DFB"},
"MAX_VARYING_VECTORS": {"v": "0x8DFC"},
"MAX_COMBINED_TEXTURE_IMAGE_UNITS": {"v": "0x8B4D"},
"MAX_VERTEX_TEXTURE_IMAGE_UNITS": {"v": "0x8B4C"},
"MAX_TEXTURE_IMAGE_UNITS": {"v": "0x8872"}, // Implementation dependent number of maximum texture units. At least 8.
"MAX_FRAGMENT_UNIFORM_VECTORS": {"v": "0x8DFD"},
"SHADER_TYPE": {"v": "0x8B4F"},
"SHADING_LANGUAGE_VERSION": {"v": "0x8B8C"},
"CURRENT_PROGRAM": {"v": "0x8B8D"},
// Depth or stencil tests
// Constants passed to depthFunc() or stencilFunc().
"NEVER": {"v": "0x0200"}, // Passed to depthFunction or stencilFunction to specify depth or stencil tests will never pass. i.e. Nothing will be drawn.
"ALWAYS": {"v": "0x0207"}, // Passed to depthFunction or stencilFunction to specify depth or stencil tests will always pass. i.e. Pixels will be drawn in the order they are drawn.
"LESS": {"v": "0x0201"}, // Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is less than the stored value.
"EQUAL": {"v": "0x0202"}, // Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is equals to the stored value.
"LEQUAL": {"v": "0x0203"}, // Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is less than or equal to the stored value.
"GREATER": {"v": "0x0204"}, // Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is greater than the stored value.
"GEQUAL": {"v": "0x0206"}, // Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is greater than or equal to the stored value.
"NOTEQUAL": {"v": "0x0205"}, // Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is not equal to the stored value.
// Stencil actions
// Constants passed to stencilOp().
"KEEP": {"v": "0x1E00"},
"REPLACE": {"v": "0x1E01"},
"INCR": {"v": "0x1E02"},
"DECR": {"v": "0x1E03"},
"INVERT": {"v": "0x150A"},
"INCR_WRAP": {"v": "0x8507"},
"DECR_WRAP": {"v": "0x8508"},
// Textures
// Constants passed to texParameteri(),
// texParameterf(), bindTexture(), texImage2D(), and others.
"NEAREST": {"v": "0x2600"},
"LINEAR": {"v": "0x2601"},
"NEAREST_MIPMAP_NEAREST": {"v": "0x2700"},
"LINEAR_MIPMAP_NEAREST": {"v": "0x2701"},
"NEAREST_MIPMAP_LINEAR": {"v": "0x2702"},
"LINEAR_MIPMAP_LINEAR": {"v": "0x2703"},
"TEXTURE_MAG_FILTER": {"v": "0x2800"},
"TEXTURE_MIN_FILTER": {"v": "0x2801"},
"TEXTURE_WRAP_S": {"v": "0x2802"},
"TEXTURE_WRAP_T": {"v": "0x2803"},
"TEXTURE_2D": {"v": "0x0DE1"},
"TEXTURE": {"v": "0x1702"},
"TEXTURE_CUBE_MAP": {"v": "0x8513"},
"TEXTURE_BINDING_CUBE_MAP": {"v": "0x8514"},
"TEXTURE_CUBE_MAP_POSITIVE_X": {"v": "0x8515"},
"TEXTURE_CUBE_MAP_NEGATIVE_X": {"v": "0x8516"},
"TEXTURE_CUBE_MAP_POSITIVE_Y": {"v": "0x8517"},
"TEXTURE_CUBE_MAP_NEGATIVE_Y": {"v": "0x8518"},
"TEXTURE_CUBE_MAP_POSITIVE_Z": {"v": "0x8519"},
"TEXTURE_CUBE_MAP_NEGATIVE_Z": {"v": "0x851A"},
"MAX_CUBE_MAP_TEXTURE_SIZE": {"v": "0x851C"},
// TEXTURE0 - 31 0x84C0 - 0x84DF A texture unit.
"TEXTURE0": {"v": "0x84C0"}, // A texture unit.
"ACTIVE_TEXTURE": {"v": "0x84E0"}, // The current active texture unit.
"REPEAT": {"v": "0x2901"},
"CLAMP_TO_EDGE": {"v": "0x812F"},
"MIRRORED_REPEAT": {"v": "0x8370"},
// Emulation
"TEXTURE_WIDTH": {"v": "0x1000"},
"TEXTURE_HEIGHT": {"v": "0x1001"},
// Uniform types
"FLOAT_VEC2": {"v": "0x8B50"},
"FLOAT_VEC3": {"v": "0x8B51"},
"FLOAT_VEC4": {"v": "0x8B52"},
"INT_VEC2": {"v": "0x8B53"},
"INT_VEC3": {"v": "0x8B54"},
"INT_VEC4": {"v": "0x8B55"},
"BOOL": {"v": "0x8B56"},
"BOOL_VEC2": {"v": "0x8B57"},
"BOOL_VEC3": {"v": "0x8B58"},
"BOOL_VEC4": {"v": "0x8B59"},
"FLOAT_MAT2": {"v": "0x8B5A"},
"FLOAT_MAT3": {"v": "0x8B5B"},
"FLOAT_MAT4": {"v": "0x8B5C"},
"SAMPLER_2D": {"v": "0x8B5E"},
"SAMPLER_CUBE": {"v": "0x8B60"},
// Shader precision-specified types
"LOW_FLOAT": {"v": "0x8DF0"},
"MEDIUM_FLOAT": {"v": "0x8DF1"},
"HIGH_FLOAT": {"v": "0x8DF2"},
"LOW_INT": {"v": "0x8DF3"},
"MEDIUM_INT": {"v": "0x8DF4"},
"HIGH_INT": {"v": "0x8DF5"},
// Framebuffers and renderbuffers
"FRAMEBUFFER": {"v": "0x8D40"},
"RENDERBUFFER": {"v": "0x8D41"},
"RGBA4": {"v": "0x8056"},
"RGB5_A1": {"v": "0x8057"},
"RGB565": {"v": "0x8D62"},
"DEPTH_COMPONENT16": {"v": "0x81A5"},
"STENCIL_INDEX": {"v": "0x1901"},
"STENCIL_INDEX8": {"v": "0x8D48"},
"DEPTH_STENCIL": {"v": "0x84F9"},
"RENDERBUFFER_WIDTH": {"v": "0x8D42"},
"RENDERBUFFER_HEIGHT": {"v": "0x8D43"},
"RENDERBUFFER_INTERNAL_FORMAT": {"v": "0x8D44"},
"RENDERBUFFER_RED_SIZE": {"v": "0x8D50"},
"RENDERBUFFER_GREEN_SIZE": {"v": "0x8D51"},
"RENDERBUFFER_BLUE_SIZE": {"v": "0x8D52"},
"RENDERBUFFER_ALPHA_SIZE": {"v": "0x8D53"},
"RENDERBUFFER_DEPTH_SIZE": {"v": "0x8D54"},
"RENDERBUFFER_STENCIL_SIZE": {"v": "0x8D55"},
"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE": {"v": "0x8CD0"},
"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME": {"v": "0x8CD1"},
"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL": {"v": "0x8CD2"},
"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE": {"v": "0x8CD3"},
"COLOR_ATTACHMENT0": {"v": "0x8CE0"},
"DEPTH_ATTACHMENT": {"v": "0x8D00"},
"STENCIL_ATTACHMENT": {"v": "0x8D20"},
"DEPTH_STENCIL_ATTACHMENT": {"v": "0x821A"},
"NONE": 0,
"FRAMEBUFFER_COMPLETE": {"v": "0x8CD5"},
"FRAMEBUFFER_INCOMPLETE_ATTACHMENT": {"v": "0x8CD6"},
"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT": {"v": "0x8CD7"},
"FRAMEBUFFER_INCOMPLETE_DIMENSIONS": {"v": "0x8CD9"},
"FRAMEBUFFER_UNSUPPORTED": {"v": "0x8CDD"},
"FRAMEBUFFER_BINDING": {"v": "0x8CA6"},
"RENDERBUFFER_BINDING": {"v": "0x8CA7"},
"MAX_RENDERBUFFER_SIZE": {"v": "0x84E8"},
"INVALID_FRAMEBUFFER_OPERATION": {"v": "0x0506"},
"READ_FRAMEBUFFER": {"v": "0x8CA8"},
"DRAW_FRAMEBUFFER": {"v": "0x8CA9"},
// Pixel storage modes
// Constants passed to pixelStorei().
"UNPACK_FLIP_Y_WEBGL": {"v": "0x9240"},
"UNPACK_PREMULTIPLY_ALPHA_WEBGL": {"v": "0x9241"},
"UNPACK_COLORSPACE_CONVERSION_WEBGL": {"v": "0x9243"},
// Additional constants defined WebGL 2
// These constants are defined on the WebGL2RenderingContext interface.
// All WebGL 1 constants are also available in a WebGL 2 context.
// Getting GL parameter information
// Constants passed to getParameter()
// to specify what information to return.
"READ_BUFFER": {"v": "0x0C02"},
"UNPACK_ROW_LENGTH": {"v": "0x0CF2"},
"UNPACK_SKIP_ROWS": {"v": "0x0CF3"},
"UNPACK_SKIP_PIXELS": {"v": "0x0CF4"},
"PACK_ROW_LENGTH": {"v": "0x0D02"},
"PACK_SKIP_ROWS": {"v": "0x0D03"},
"PACK_SKIP_PIXELS": {"v": "0x0D04"},
"TEXTURE_BINDING_3D": {"v": "0x806A"},
"UNPACK_SKIP_IMAGES": {"v": "0x806D"},
"UNPACK_IMAGE_HEIGHT": {"v": "0x806E"},
"MAX_3D_TEXTURE_SIZE": {"v": "0x8073"},
"MAX_ELEMENTS_VERTICES": {"v": "0x80E8"},
"MAX_ELEMENTS_INDICES": {"v": "0x80E9"},
"MAX_TEXTURE_LOD_BIAS": {"v": "0x84FD"},
"MAX_FRAGMENT_UNIFORM_COMPONENTS": {"v": "0x8B49"},
"MAX_VERTEX_UNIFORM_COMPONENTS": {"v": "0x8B4A"},
"MAX_ARRAY_TEXTURE_LAYERS": {"v": "0x88FF"},
"MIN_PROGRAM_TEXEL_OFFSET": {"v": "0x8904"},
"MAX_PROGRAM_TEXEL_OFFSET": {"v": "0x8905"},
"MAX_VARYING_COMPONENTS": {"v": "0x8B4B"},
"FRAGMENT_SHADER_DERIVATIVE_HINT": {"v": "0x8B8B"},
"RASTERIZER_DISCARD": {"v": "0x8C89"},
"VERTEX_ARRAY_BINDING": {"v": "0x85B5"},
"MAX_VERTEX_OUTPUT_COMPONENTS": {"v": "0x9122"},
"MAX_FRAGMENT_INPUT_COMPONENTS": {"v": "0x9125"},
"MAX_SERVER_WAIT_TIMEOUT": {"v": "0x9111"},
"MAX_ELEMENT_INDEX": {"v": "0x8D6B"},
// Textures
// Constants passed to texParameteri(),
// texParameterf(), bindTexture(), texImage2D(), and others.
"RED": {"v": "0x1903"},
"RGB8": {"v": "0x8051"},
"RGBA8": {"v": "0x8058"},
"RGB10_A2": {"v": "0x8059"},
"TEXTURE_3D": {"v": "0x806F"},
"TEXTURE_WRAP_R": {"v": "0x8072"},
"TEXTURE_MIN_LOD": {"v": "0x813A"},
"TEXTURE_MAX_LOD": {"v": "0x813B"},
"TEXTURE_BASE_LEVEL": {"v": "0x813C"},
"TEXTURE_MAX_LEVEL": {"v": "0x813D"},
"TEXTURE_COMPARE_MODE": {"v": "0x884C"},
"TEXTURE_COMPARE_FUNC": {"v": "0x884D"},
"SRGB": {"v": "0x8C40"},
"SRGB8": {"v": "0x8C41"},
"SRGB8_ALPHA8": {"v": "0x8C43"},
"COMPARE_REF_TO_TEXTURE": {"v": "0x884E"},
"RGBA32F": {"v": "0x8814"},
"RGB32F": {"v": "0x8815"},
"RGBA16F": {"v": "0x881A"},
"RGB16F": {"v": "0x881B"},
"TEXTURE_2D_ARRAY": {"v": "0x8C1A"},
"TEXTURE_BINDING_2D_ARRAY": {"v": "0x8C1D"},
"R11F_G11F_B10F": {"v": "0x8C3A"},
"RGB9_E5": {"v": "0x8C3D"},
"RGBA32UI": {"v": "0x8D70"},
"RGB32UI": {"v": "0x8D71"},
"RGBA16UI": {"v": "0x8D76"},
"RGB16UI": {"v": "0x8D77"},
"RGBA8UI": {"v": "0x8D7C"},
"RGB8UI": {"v": "0x8D7D"},
"RGBA32I": {"v": "0x8D82"},
"RGB32I": {"v": "0x8D83"},
"RGBA16I": {"v": "0x8D88"},
"RGB16I": {"v": "0x8D89"},
"RGBA8I": {"v": "0x8D8E"},
"RGB8I": {"v": "0x8D8F"},
"RED_INTEGER": {"v": "0x8D94"},
"RGB_INTEGER": {"v": "0x8D98"},
"RGBA_INTEGER": {"v": "0x8D99"},
"R8": {"v": "0x8229"},
"RG8": {"v": "0x822B"},
"R16F": {"v": "0x822D"},
"R32F": {"v": "0x822E"},
"RG16F": {"v": "0x822F"},
"RG32F": {"v": "0x8230"},
"R8I": {"v": "0x8231"},
"R8UI": {"v": "0x8232"},
"R16I": {"v": "0x8233"},
"R16UI": {"v": "0x8234"},
"R32I": {"v": "0x8235"},
"R32UI": {"v": "0x8236"},
"RG8I": {"v": "0x8237"},
"RG8UI": {"v": "0x8238"},
"RG16I": {"v": "0x8239"},
"RG16UI": {"v": "0x823A"},
"RG32I": {"v": "0x823B"},
"RG32UI": {"v": "0x823C"},
"R8_SNORM": {"v": "0x8F94"},
"RG8_SNORM": {"v": "0x8F95"},
"RGB8_SNORM": {"v": "0x8F96"},
"RGBA8_SNORM": {"v": "0x8F97"},
"RGB10_A2UI": {"v": "0x906F"},
/* covered by extension
"COMPRESSED_R11_EAC": {"v": "0x9270"},
"COMPRESSED_SIGNED_R11_EAC": {"v": "0x9271"},
"COMPRESSED_RG11_EAC": {"v": "0x9272"},
"COMPRESSED_SIGNED_RG11_EAC": {"v": "0x9273"},
"COMPRESSED_RGB8_ETC2": {"v": "0x9274"},
"COMPRESSED_SRGB8_ETC2": {"v": "0x9275"},
"COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2": {"v": "0x9276"},
"COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC": {"v": "0x9277"},
"COMPRESSED_RGBA8_ETC2_EAC": {"v": "0x9278"},
"COMPRESSED_SRGB8_ALPHA8_ETC2_EAC": {"v": "0x9279"},
*/
"TEXTURE_IMMUTABLE_FORMAT": {"v": "0x912F"},
"TEXTURE_IMMUTABLE_LEVELS": {"v": "0x82DF"},
// Pixel types
"UNSIGNED_INT_2_10_10_10_REV": {"v": "0x8368"},
"UNSIGNED_INT_10F_11F_11F_REV": {"v": "0x8C3B"},
"UNSIGNED_INT_5_9_9_9_REV": {"v": "0x8C3E"},
"FLOAT_32_UNSIGNED_INT_24_8_REV": {"v": "0x8DAD"},
"UNSIGNED_INT_24_8": {"v": "0x84FA"},
"HALF_FLOAT": {"v": "0x140B"},
"RG": {"v": "0x8227"},
"RG_INTEGER": {"v": "0x8228"},
"INT_2_10_10_10_REV": {"v": "0x8D9F"},
// Queries
"CURRENT_QUERY": {"v": "0x8865"},
"QUERY_RESULT": {"v": "0x8866"},
"QUERY_RESULT_AVAILABLE": {"v": "0x8867"},
"ANY_SAMPLES_PASSED": {"v": "0x8C2F"},
"ANY_SAMPLES_PASSED_CONSERVATIVE": {"v": "0x8D6A"},
// Draw buffers
"MAX_DRAW_BUFFERS": {"v": "0x8824"},
"DRAW_BUFFER0": {"v": "0x8825"},
"DRAW_BUFFER1": {"v": "0x8826"},
"DRAW_BUFFER2": {"v": "0x8827"},
"DRAW_BUFFER3": {"v": "0x8828"},
"DRAW_BUFFER4": {"v": "0x8829"},
"DRAW_BUFFER5": {"v": "0x882A"},
"DRAW_BUFFER6": {"v": "0x882B"},
"DRAW_BUFFER7": {"v": "0x882C"},
"DRAW_BUFFER8": {"v": "0x882D"},
"DRAW_BUFFER9": {"v": "0x882E"},
"DRAW_BUFFER10": {"v": "0x882F"},
"DRAW_BUFFER11": {"v": "0x8830"},
"DRAW_BUFFER12": {"v": "0x8831"},
"DRAW_BUFFER13": {"v": "0x8832"},
"DRAW_BUFFER14": {"v": "0x8833"},
"DRAW_BUFFER15": {"v": "0x8834"},
"MAX_COLOR_ATTACHMENTS": {"v": "0x8CDF"},
"COLOR_ATTACHMENT1": {"v": "0x8CE1"},
"COLOR_ATTACHMENT2": {"v": "0x8CE2"},
"COLOR_ATTACHMENT3": {"v": "0x8CE3"},
"COLOR_ATTACHMENT4": {"v": "0x8CE4"},
"COLOR_ATTACHMENT5": {"v": "0x8CE5"},
"COLOR_ATTACHMENT6": {"v": "0x8CE6"},
"COLOR_ATTACHMENT7": {"v": "0x8CE7"},
"COLOR_ATTACHMENT8": {"v": "0x8CE8"},
"COLOR_ATTACHMENT9": {"v": "0x8CE9"},
"COLOR_ATTACHMENT10": {"v": "0x8CEA"},
"COLOR_ATTACHMENT11": {"v": "0x8CEB"},
"COLOR_ATTACHMENT12": {"v": "0x8CEC"},
"COLOR_ATTACHMENT13": {"v": "0x8CED"},
"COLOR_ATTACHMENT14": {"v": "0x8CEE"},
"COLOR_ATTACHMENT15": {"v": "0x8CEF"},
// Samplers
"SAMPLER_3D": {"v": "0x8B5F"},
"SAMPLER_2D_SHADOW": {"v": "0x8B62"},
"SAMPLER_2D_ARRAY": {"v": "0x8DC1"},
"SAMPLER_2D_ARRAY_SHADOW": {"v": "0x8DC4"},
"SAMPLER_CUBE_SHADOW": {"v": "0x8DC5"},
"INT_SAMPLER_2D": {"v": "0x8DCA"},
"INT_SAMPLER_3D": {"v": "0x8DCB"},
"INT_SAMPLER_CUBE": {"v": "0x8DCC"},
"INT_SAMPLER_2D_ARRAY": {"v": "0x8DCF"},
"UNSIGNED_INT_SAMPLER_2D": {"v": "0x8DD2"},
"UNSIGNED_INT_SAMPLER_3D": {"v": "0x8DD3"},
"UNSIGNED_INT_SAMPLER_CUBE": {"v": "0x8DD4"},
"UNSIGNED_INT_SAMPLER_2D_ARRAY": {"v": "0x8DD7"},
"MAX_SAMPLES": {"v": "0x8D57"},
"SAMPLER_BINDING": {"v": "0x8919"},
// Buffers
"PIXEL_PACK_BUFFER": {"v": "0x88EB"},
"PIXEL_UNPACK_BUFFER": {"v": "0x88EC"},
"PIXEL_PACK_BUFFER_BINDING": {"v": "0x88ED"},
"PIXEL_UNPACK_BUFFER_BINDING": {"v": "0x88EF"},
"COPY_READ_BUFFER": {"v": "0x8F36"},
"COPY_WRITE_BUFFER": {"v": "0x8F37"},
"COPY_READ_BUFFER_BINDING": {"v": "0x8F36"},
"COPY_WRITE_BUFFER_BINDING": {"v": "0x8F37"},
// Data types
"FLOAT_MAT2x3": {"v": "0x8B65"},
"FLOAT_MAT2x4": {"v": "0x8B66"},
"FLOAT_MAT3x2": {"v": "0x8B67"},
"FLOAT_MAT3x4": {"v": "0x8B68"},
"FLOAT_MAT4x2": {"v": "0x8B69"},
"FLOAT_MAT4x3": {"v": "0x8B6A"},
"UNSIGNED_INT_VEC2": {"v": "0x8DC6"},
"UNSIGNED_INT_VEC3": {"v": "0x8DC7"},
"UNSIGNED_INT_VEC4": {"v": "0x8DC8"},
"UNSIGNED_NORMALIZED": {"v": "0x8C17"},
"SIGNED_NORMALIZED": {"v": "0x8F9C"},
// Vertex attributes
"VERTEX_ATTRIB_ARRAY_INTEGER": {"v": "0x88FD"},
"VERTEX_ATTRIB_ARRAY_DIVISOR": {"v": "0x88FE"},
// Transform feedback
"TRANSFORM_FEEDBACK_BUFFER_MODE": {"v": "0x8C7F"},
"MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS": {"v": "0x8C80"},
"TRANSFORM_FEEDBACK_VARYINGS": {"v": "0x8C83"},
"TRANSFORM_FEEDBACK_BUFFER_START": {"v": "0x8C84"},
"TRANSFORM_FEEDBACK_BUFFER_SIZE": {"v": "0x8C85"},
"TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN": {"v": "0x8C88"},
"MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS": {"v": "0x8C8A"},
"MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS": {"v": "0x8C8B"},
"INTERLEAVED_ATTRIBS": {"v": "0x8C8C"},
"SEPARATE_ATTRIBS": {"v": "0x8C8D"},
"TRANSFORM_FEEDBACK_BUFFER": {"v": "0x8C8E"},
"TRANSFORM_FEEDBACK_BUFFER_BINDING": {"v": "0x8C8F"},
"TRANSFORM_FEEDBACK": {"v": "0x8E22"},
"TRANSFORM_FEEDBACK_PAUSED": {"v": "0x8E23"},
"TRANSFORM_FEEDBACK_ACTIVE": {"v": "0x8E24"},
"TRANSFORM_FEEDBACK_BINDING": {"v": "0x8E25"},
// Framebuffers and renderbuffers
"FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING": {"v": "0x8210"},
"FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE": {"v": "0x8211"},
"FRAMEBUFFER_ATTACHMENT_RED_SIZE": {"v": "0x8212"},
"FRAMEBUFFER_ATTACHMENT_GREEN_SIZE": {"v": "0x8213"},
"FRAMEBUFFER_ATTACHMENT_BLUE_SIZE": {"v": "0x8214"},
"FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE": {"v": "0x8215"},
"FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE": {"v": "0x8216"},
"FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE": {"v": "0x8217"},
"FRAMEBUFFER_DEFAULT": {"v": "0x8218"},
"DEPTH_STENCIL_ATTACHMENT": {"v": "0x821A"},
"DEPTH_STENCIL": {"v": "0x84F9"},
"DEPTH24_STENCIL8": {"v": "0x88F0"},
"DRAW_FRAMEBUFFER_BINDING": {"v": "0x8CA6"},
"READ_FRAMEBUFFER": {"v": "0x8CA8"},
"DRAW_FRAMEBUFFER": {"v": "0x8CA9"},
"READ_FRAMEBUFFER_BINDING": {"v": "0x8CAA"},
"RENDERBUFFER_SAMPLES": {"v": "0x8CAB"},
"FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER": {"v": "0x8CD4"},
"FRAMEBUFFER_INCOMPLETE_MULTISAMPLE": {"v": "0x8D56"},
// Uniforms
"UNIFORM_BUFFER": {"v": "0x8A11"},
"UNIFORM_BUFFER_BINDING": {"v": "0x8A28"},
"UNIFORM_BUFFER_START": {"v": "0x8A29"},
"UNIFORM_BUFFER_SIZE": {"v": "0x8A2A"},
"MAX_VERTEX_UNIFORM_BLOCKS": {"v": "0x8A2B"},
"MAX_FRAGMENT_UNIFORM_BLOCKS": {"v": "0x8A2D"},
"MAX_COMBINED_UNIFORM_BLOCKS": {"v": "0x8A2E"},
"MAX_UNIFORM_BUFFER_BINDINGS": {"v": "0x8A2F"},
"MAX_UNIFORM_BLOCK_SIZE": {"v": "0x8A30"},
"MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS": {"v": "0x8A31"},
"MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS": {"v": "0x8A33"},
"UNIFORM_BUFFER_OFFSET_ALIGNMENT": {"v": "0x8A34"},
"ACTIVE_UNIFORM_BLOCKS": {"v": "0x8A36"},
"UNIFORM_TYPE": {"v": "0x8A37"},
"UNIFORM_SIZE": {"v": "0x8A38"},
"UNIFORM_BLOCK_INDEX": {"v": "0x8A3A"},
"UNIFORM_OFFSET": {"v": "0x8A3B"},
"UNIFORM_ARRAY_STRIDE": {"v": "0x8A3C"},
"UNIFORM_MATRIX_STRIDE": {"v": "0x8A3D"},
"UNIFORM_IS_ROW_MAJOR": {"v": "0x8A3E"},
"UNIFORM_BLOCK_BINDING": {"v": "0x8A3F"},
"UNIFORM_BLOCK_DATA_SIZE": {"v": "0x8A40"},
"UNIFORM_BLOCK_ACTIVE_UNIFORMS": {"v": "0x8A42"},
"UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES": {"v": "0x8A43"},
"UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER": {"v": "0x8A44"},
"UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER": {"v": "0x8A46"},
// Sync objects
"OBJECT_TYPE": {"v": "0x9112"},
"SYNC_CONDITION": {"v": "0x9113"},
"SYNC_STATUS": {"v": "0x9114"},
"SYNC_FLAGS": {"v": "0x9115"},
"SYNC_FENCE": {"v": "0x9116"},
"SYNC_GPU_COMMANDS_COMPLETE": {"v": "0x9117"},
"UNSIGNALED": {"v": "0x9118"},
"SIGNALED": {"v": "0x9119"},
"ALREADY_SIGNALED": {"v": "0x911A"},
"TIMEOUT_EXPIRED": {"v": "0x911B"},
"CONDITION_SATISFIED": {"v": "0x911C"},
"WAIT_FAILED": {"v": "0x911D"},
"SYNC_FLUSH_COMMANDS_BIT": {"v": "0x00000001"},
// Miscellaneous constants
"COLOR": {"v": "0x1800"},
"DEPTH": {"v": "0x1801"},
"STENCIL": {"v": "0x1802"},
"MIN": {"v": "0x8007"},
"MAX": {"v": "0x8008"},
"DEPTH_COMPONENT24": {"v": "0x81A6"},
"STREAM_READ": {"v": "0x88E1"},
"STREAM_COPY": {"v": "0x88E2"},
"STATIC_READ": {"v": "0x88E5"},
"STATIC_COPY": {"v": "0x88E6"},
"DYNAMIC_READ": {"v": "0x88E9"},
"DYNAMIC_COPY": {"v": "0x88EA"},
"DEPTH_COMPONENT32F": {"v": "0x8CAC"},
"DEPTH32F_STENCIL8": {"v": "0x8CAD"},
"INVALID_INDEX": {"v": "0xFFFFFFFF"},
"TIMEOUT_IGNORED": -1,
"MAX_CLIENT_WAIT_TIMEOUT_WEBGL": {"v": "0x9247"},
// Constants defined in WebGL extensions
// ANGLE_instanced_arrays
"VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE": {"v": "0x88FE"}, // Describes the frequency divisor used for instanced rendering.
// WEBGL_debug_renderer_info
"UNMASKED_VENDOR_WEBGL": {"v": "0x9245"}, // Passed to getParameter to get the vendor string of the graphics driver.
"UNMASKED_RENDERER_WEBGL": {"v": "0x9246"}, // Passed to getParameter to get the renderer string of the graphics driver.
// EXT_texture_filter_anisotropic
"MAX_TEXTURE_MAX_ANISOTROPY_EXT": {"v": "0x84FF"}, // Returns the maximum available anisotropy.
"TEXTURE_MAX_ANISOTROPY_EXT": {"v": "0x84FE"}, // Passed to texParameter to set the desired maximum anisotropy for a texture.
// WEBGL_compressed_texture_s3tc
"COMPRESSED_RGB_S3TC_DXT1_EXT": {"v": "0x83F0"}, // A DXT1-compressed image in an RGB image format.
"COMPRESSED_RGBA_S3TC_DXT1_EXT": {"v": "0x83F1"}, // A DXT1-compressed image in an RGB image format with a simple on/off alpha value.
"COMPRESSED_RGBA_S3TC_DXT3_EXT": {"v": "0x83F2"}, // A DXT3-compressed image in an RGBA image format. Compared to a 32-bit RGBA texture, it offers 4:1 compression.
"COMPRESSED_RGBA_S3TC_DXT5_EXT": {"v": "0x83F3"}, // A DXT5-compressed image in an RGBA image format. It also provides a 4:1 compression, but differs to the DXT3 compression in how the alpha compression is done.
// WEBGL_compressed_texture_es3
"COMPRESSED_R11_EAC": {"v": "0x9270"}, // One-channel (red) unsigned format compression.
"COMPRESSED_SIGNED_R11_EAC": {"v": "0x9271"}, // One-channel (red) signed format compression.
"COMPRESSED_RG11_EAC": {"v": "0x9272"}, // Two-channel (red and green) unsigned format compression.
"COMPRESSED_SIGNED_RG11_EAC": {"v": "0x9273"}, // Two-channel (red and green) signed format compression.
"COMPRESSED_RGB8_ETC2": {"v": "0x9274"}, // Compresses RBG8 data with no alpha channel.
"COMPRESSED_RGBA8_ETC2_EAC": {"v": "0x9275"}, // Compresses RGBA8 data. The RGB part is encoded the same as RGB_ETC2, but the alpha part is encoded separately.
"COMPRESSED_SRGB8_ETC2": {"v": "0x9276"}, // Compresses sRBG8 data with no alpha channel.
"COMPRESSED_SRGB8_ALPHA8_ETC2_EAC": {"v": "0x9277"}, // Compresses sRGBA8 data. The sRGB part is encoded the same as SRGB_ETC2, but the alpha part is encoded separately.
"COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2": {"v": "0x9278"}, // Similar to RGB8_ETC, but with ability to punch through the alpha channel, which means to make it completely opaque or transparent.
"COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2": {"v": "0x9279"}, // Similar to SRGB8_ETC, but with ability to punch through the alpha channel, which means to make it completely opaque or transparent.
// WEBGL_compressed_texture_pvrtc
"COMPRESSED_RGB_PVRTC_4BPPV1_IMG": {"v": "0x8C00"}, // RGB compression in 4-bit mode. One block for each 4×4 pixels.
"COMPRESSED_RGBA_PVRTC_4BPPV1_IMG": {"v": "0x8C02"}, // RGBA compression in 4-bit mode. One block for each 4×4 pixels.
"COMPRESSED_RGB_PVRTC_2BPPV1_IMG": {"v": "0x8C01"}, // RGB compression in 2-bit mode. One block for each 8×4 pixels.
"COMPRESSED_RGBA_PVRTC_2BPPV1_IMG": {"v": "0x8C03"}, // RGBA compression in 2-bit mode. One block for each 8×4 pixe
// WEBGL_compressed_texture_etc1
"COMPRESSED_RGB_ETC1_WEBGL": {"v": "0x8D64"}, // Compresses 24-bit RGB data with no alpha channel.
// WEBGL_compressed_texture_atc
"COMPRESSED_RGB_ATC_WEBGL": {"v": "0x8C92"}, // Compresses RGB textures with no alpha channel.
"COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL": {"v": "0x8C92"}, // Compresses RGBA textures using explicit alpha encoding (useful when alpha transitions are sharp).
"COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL": {"v": "0x87EE"}, // Compresses RGBA textures using interpolated alpha encoding (useful when alpha transitions are gradient).
// WEBGL_depth_texture
"UNSIGNED_INT_24_8_WEBGL": {"v": "0x84FA"}, // Unsigned integer type for 24-bit depth texture data.
// OES_texture_half_float
"HALF_FLOAT_OES": {"v": "0x8D61"}, // Half floating-point type (16-bit).
// WEBGL_color_buffer_float
"RGBA32F_EXT": {"v": "0x8814"}, // RGBA 32-bit floating-point color-renderable format.
"RGB32F_EXT": {"v": "0x8815"}, // RGB 32-bit floating-point color-renderable format.
"FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT": {"v": "0x8211"},
"UNSIGNED_NORMALIZED_EXT": {"v": "0x8C17"},
// EXT_blend_minmax
"MIN_EXT": {"v": "0x8007"}, // Produces the minimum color components of the source and destination colors.
"MAX_EXT": {"v": "0x8008"}, // Produces the maximum color components of the source and destination colors.
// EXT_sRGB
"SRGB_EXT": {"v": "0x8C40"}, // Unsized sRGB format that leaves the precision up to the driver.
"SRGB_ALPHA_EXT": {"v": "0x8C42"}, // Unsized sRGB format with unsized alpha component.
"SRGB8_ALPHA8_EXT": {"v": "0x8C43"}, // Sized (8-bit) sRGB and alpha formats.
"FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT": {"v": "0x8210"}, // Returns the framebuffer color encoding.
// OES_standard_derivatives
"FRAGMENT_SHADER_DERIVATIVE_HINT_OES": {"v": "0x8B8B"}, // Indicates the accuracy of the derivative calculation for the GLSL built-in functions: dFdx, dFdy, and fwidth.
// WEBGL_draw_buffers
"COLOR_ATTACHMENT0_WEBGL": {"v": "0x8CE0"}, // Framebuffer color attachment point
"COLOR_ATTACHMENT1_WEBGL": {"v": "0x8CE1"}, // Framebuffer color attachment point
"COLOR_ATTACHMENT2_WEBGL": {"v": "0x8CE2"}, // Framebuffer color attachment point
"COLOR_ATTACHMENT3_WEBGL": {"v": "0x8CE3"}, // Framebuffer color attachment point
"COLOR_ATTACHMENT4_WEBGL": {"v": "0x8CE4"}, // Framebuffer color attachment point
"COLOR_ATTACHMENT5_WEBGL": {"v": "0x8CE5"}, // Framebuffer color attachment point
"COLOR_ATTACHMENT6_WEBGL": {"v": "0x8CE6"}, // Framebuffer color attachment point
"COLOR_ATTACHMENT7_WEBGL": {"v": "0x8CE7"}, // Framebuffer color attachment point
"COLOR_ATTACHMENT8_WEBGL": {"v": "0x8CE8"}, // Framebuffer color attachment point
"COLOR_ATTACHMENT9_WEBGL": {"v": "0x8CE9"}, // Framebuffer color attachment point
"COLOR_ATTACHMENT10_WEBGL": {"v": "0x8CEA"}, // Framebuffer color attachment point
"COLOR_ATTACHMENT11_WEBGL": {"v": "0x8CEB"}, // Framebuffer color attachment point
"COLOR_ATTACHMENT12_WEBGL": {"v": "0x8CEC"}, // Framebuffer color attachment point
"COLOR_ATTACHMENT13_WEBGL": {"v": "0x8CED"}, // Framebuffer color attachment point
"COLOR_ATTACHMENT14_WEBGL": {"v": "0x8CEE"}, // Framebuffer color attachment point
"COLOR_ATTACHMENT15_WEBGL": {"v": "0x8CEF"}, // Framebuffer color attachment point
"DRAW_BUFFER0_WEBGL": {"v": "0x8825"}, // Draw buffer
"DRAW_BUFFER1_WEBGL": {"v": "0x8826"}, // Draw buffer
"DRAW_BUFFER2_WEBGL": {"v": "0x8827"}, // Draw buffer
"DRAW_BUFFER3_WEBGL": {"v": "0x8828"}, // Draw buffer
"DRAW_BUFFER4_WEBGL": {"v": "0x8829"}, // Draw buffer
"DRAW_BUFFER5_WEBGL": {"v": "0x882A"}, // Draw buffer
"DRAW_BUFFER6_WEBGL": {"v": "0x882B"}, // Draw buffer
"DRAW_BUFFER7_WEBGL": {"v": "0x882C"}, // Draw buffer
"DRAW_BUFFER8_WEBGL": {"v": "0x882D"}, // Draw buffer
"DRAW_BUFFER9_WEBGL": {"v": "0x882E"}, // Draw buffer
"DRAW_BUFFER10_WEBGL": {"v": "0x882F"}, // Draw buffer
"DRAW_BUFFER11_WEBGL": {"v": "0x8830"}, // Draw buffer
"DRAW_BUFFER12_WEBGL": {"v": "0x8831"}, // Draw buffer
"DRAW_BUFFER13_WEBGL": {"v": "0x8832"}, // Draw buffer
"DRAW_BUFFER14_WEBGL": {"v": "0x8833"}, // Draw buffer
"DRAW_BUFFER15_WEBGL": {"v": "0x8834"}, // Draw buffer
"MAX_COLOR_ATTACHMENTS_WEBGL": {"v": "0x8CDF"}, // Maximum number of framebuffer color attachment points
"MAX_DRAW_BUFFERS_WEBGL": {"v": "0x8824"}, // Maximum number of draw buffers
// OES_vertex_array_object
"VERTEX_ARRAY_BINDING_OES": {"v": "0x85B5"}, // The bound vertex array object (VAO).
// EXT_disjoint_timer_query
"QUERY_COUNTER_BITS_EXT": {"v": "0x8864"}, // The number of bits used to hold the query result for the given target.
"CURRENT_QUERY_EXT": {"v": "0x8865"}, // The currently active query.
"QUERY_RESULT_EXT": {"v": "0x8866"}, // The query result.
"QUERY_RESULT_AVAILABLE_EXT": {"v": "0x8867"}, // A Boolean indicating whether or not a query result is available.
"TIME_ELAPSED_EXT": {"v": "0x88BF"}, // Elapsed time (in nanoseconds).
"TIMESTAMP_EXT": {"v": "0x8E28"}, // The current time.
"GPU_DISJOINT_EXT": {"v": "0x8FBB"} // A Boolean indicating whether or not the GPU performed any disjoint operation.
},
"PARAMETERS": {
// | Sampler Parameter | Default | Description |
// | ------------------------------------ | -------------- | ----------- |
// | "GL.TEXTURE_MAG_FILTER" | "GL.LINEAR" | texture magnification filter |
// | "GL.TEXTURE_MIN_FILTER" | "GL.NEAREST_MIPMAP_LINEAR" | texture minification filter |
// | "GL.TEXTURE_WRAP_S" | "GL.REPEAT" | texture wrapping function for texture coordinate "s" |
// | "GL.TEXTURE_WRAP_T" | "GL.REPEAT" | texture wrapping function for texture coordinate "t" |
// | "GL.TEXTURE_WRAP_R" **WebGL2** | "GL.REPEAT" | texture wrapping function for texture coordinate "r" |
// | "GL_TEXTURE_MAX_ANISOTROPY | fLargest
// | "GL.TEXTURE_BASE_LEVEL" **WebGL2** | "0" | Texture mipmap level |
// | "GL.TEXTURE_MAX_LEVEL" **WebGL2** | "1000" | Maximum texture mipmap array level |
// | "GL.TEXTURE_COMPARE_FUNC" **WebGL2** | "GL.LEQUAL" | texture comparison function |
// | "GL.TEXTURE_COMPARE_MODE" **WebGL2** | "GL.NONE" | whether r tex coord should be compared to depth texture |
// | "GL.TEXTURE_MIN_LOD" **WebGL2** | "-1000" | minimum level-of-detail value |
// | "GL.TEXTURE_MAX_LOD" **WebGL2** | `1000` | maximum level-of-detail value |
"GL.TEXTURE_MAG_FILTER": {
"title": "Texture Magnification Filter",
"description": "Controls how a pixel is textured when it maps to less than one texel.",
"GL.LINEAR": {"default": true, "d": "interpolated texel"},
"GL.NEAREST": {"d": "nearest texel", "r": "`GL.NEAREST` is faster than `GL.LINEAR`, but is not as smooth."}
},
"GL.TEXTURE_MIN_FILTER": {
"title": "Texture Minification Filter",
"description": "Controls how a pixel is textured maps to more than one texel.",
"GL.LINEAR": {"d": "interpolated texel"},
"GL.NEAREST": {"d": "nearest texel"},
"GL.NEAREST_MIPMAP_NEAREST": {"d": "nearest texel in closest mipmap"},
"GL.LINEAR_MIPMAP_NEAREST": {"d": "interpolated texel in closest mipmap"},
"GL.NEAREST_MIPMAP_LINEAR": {"d": " | average texel from two closest mipmaps"},
"GL.LINEAR_MIPMAP_LINEAR": {"d": "interpolated texel from two closest mipmaps"}
},
"GL.TEXTURE_WRAP_S": {
"title": "Texture Wrapping",
"description": "Controls how texture coordinates outside of the [0, 1] range are sampled.",
"GL.REPEAT": {"default": true, "use fractional part of texture coordinates"},
"GL.CLAMP_TO_EDGE": {"clamp texture coordinates"},
"GL.MIRRORED_REPEAT": {"use fractional part of texture coordinate if integer part is odd, otherwise 1 - frac" }
},
"GL.TEXTURE_WRAP_T": "GL.TEXTURE_WRAP_S",
"GL.TEXTURE_WRAP_R": "GL.TEXTURE_WRAP_S",
"GL.TEXTURE_COMPARE_MODE": {
"title": "Texture Comparison Mode",
"description": "Specifies the texture comparison mode for currently bound depth textures (i.e. textures whose internal format is GL.DEPTH_COMPONENT_*",
"GL.NONE": {"default": true, "d": "no comparison of r coordinate is performed"},
"GL.COMPARE_REF_TO_TEXTURE": "interpolated and clamped r texture coordinate is compared to currently bound depth texture, result is assigned to the red channel"
},
"GL.TEXTURE_COMPARE_FUNC": {
"title": "Texture Comparison Function",
"GL.LEQUAL": {"default": true, "d": "result = 1.0 0.0, r <= D t r > D t"},
"GL.GEQUAL": "result = 1.0 0.0, r >= D t r < D t",
"GL.LESS": "result = 1.0 0.0, r < D t r >= D t",
"GL.GREATER": "result = 1.0 0.0, r > D t r <= D t",
"GL.EQUAL": "result = 1.0 0.0, r = D t r ≠ D t",
"GL.NOTEQUAL": "result = 1.0 0.0, r ≠ D t r = D t",
"GL.ALWAYS": "result = 1.0",
"GL.NEVER": "result = 0.0",
}
}