{
    "AlphaTestFunc":
    {
        "AlwaysPass": "GL_ALWAYS",
        "Equal": "GL_EQUAL",
        "Gequal": "GL_GEQUAL",
        "Greater": "GL_GREATER",
        "Lequal": "GL_LEQUAL",
        "Less": "GL_LESS",
        "Never": "GL_NEVER",
        "NotEqual": "GL_NOTEQUAL"
    },
    "BufferBinding":
    {
        "Array": "GL_ARRAY_BUFFER",
        "AtomicCounter": "GL_ATOMIC_COUNTER_BUFFER",
        "CopyRead": "GL_COPY_READ_BUFFER",
        "CopyWrite": "GL_COPY_WRITE_BUFFER",
        "DispatchIndirect": "GL_DISPATCH_INDIRECT_BUFFER",
        "DrawIndirect": "GL_DRAW_INDIRECT_BUFFER",
        "ElementArray": "GL_ELEMENT_ARRAY_BUFFER",
        "PixelPack": "GL_PIXEL_PACK_BUFFER",
        "PixelUnpack": "GL_PIXEL_UNPACK_BUFFER",
        "ShaderStorage": "GL_SHADER_STORAGE_BUFFER",
        "TransformFeedback": "GL_TRANSFORM_FEEDBACK_BUFFER",
        "Uniform": "GL_UNIFORM_BUFFER"
    },
    "BufferUsage":
    {
        "DynamicCopy": "GL_DYNAMIC_COPY",
        "DynamicDraw": "GL_DYNAMIC_DRAW",
        "DynamicRead": "GL_DYNAMIC_READ",
        "StaticCopy": "GL_STATIC_COPY",
        "StaticDraw": "GL_STATIC_DRAW",
        "StaticRead": "GL_STATIC_READ",
        "StreamCopy": "GL_STREAM_COPY",
        "StreamDraw": "GL_STREAM_DRAW",
        "StreamRead": "GL_STREAM_READ"
    },
    "ClientVertexArrayType":
    {
        "Color": "GL_COLOR_ARRAY",
        "Normal": "GL_NORMAL_ARRAY",
        "PointSize": "GL_POINT_SIZE_ARRAY_OES",
        "TextureCoord": "GL_TEXTURE_COORD_ARRAY",
        "Vertex": "GL_VERTEX_ARRAY"
    },
    "CullFaceMode":
    {
        "Back": "GL_BACK",
        "Front": "GL_FRONT",
        "FrontAndBack": "GL_FRONT_AND_BACK"
    },
    "FogMode":
    {
        "Exp": "GL_EXP",
        "Exp2": "GL_EXP2",
        "Linear": "GL_LINEAR"
    },
    "HintSetting":
    {
        "DontCare": "GL_DONT_CARE",
        "Fastest": "GL_FASTEST",
        "Nicest": "GL_NICEST"
    },
    "LogicalOperation":
    {
        "And": "GL_AND",
        "AndInverted": "GL_AND_INVERTED",
        "AndReverse": "GL_AND_REVERSE",
        "Clear": "GL_CLEAR",
        "Copy": "GL_COPY",
        "CopyInverted": "GL_COPY_INVERTED",
        "Equiv": "GL_EQUIV",
        "Invert": "GL_INVERT",
        "Nand": "GL_NAND",
        "Noop": "GL_NOOP",
        "Nor": "GL_NOR",
        "Or": "GL_OR",
        "OrInverted": "GL_OR_INVERTED",
        "OrReverse": "GL_OR_REVERSE",
        "Set": "GL_SET",
        "Xor": "GL_XOR"
    },
    "MatrixType":
    {
        "Modelview": "GL_MODELVIEW",
        "Projection": "GL_PROJECTION",
        "Texture": "GL_TEXTURE"
    },
    "QueryType":
    {
        "AnySamples": "GL_ANY_SAMPLES_PASSED",
        "AnySamplesConservative": "GL_ANY_SAMPLES_PASSED_CONSERVATIVE",
        "CommandsCompleted": "GL_COMMANDS_COMPLETED_CHROMIUM",
        "PrimitivesGenerated": "GL_PRIMITIVES_GENERATED_EXT",
        "TimeElapsed": "GL_TIME_ELAPSED_EXT",
        "Timestamp": "GL_TIMESTAMP_EXT",
        "TransformFeedbackPrimitivesWritten": "GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"
    },
    "ShaderType":
    {
        "Vertex": "GL_VERTEX_SHADER",
        "Fragment": "GL_FRAGMENT_SHADER",
        "Geometry": "GL_GEOMETRY_SHADER_EXT",
        "Compute": "GL_COMPUTE_SHADER"
    },
    "ShadingModel":
    {
        "Flat": "GL_FLAT",
        "Smooth": "GL_SMOOTH"
    },
    "TextureCombine":
    {
        "Add": "GL_ADD",
        "AddSigned": "GL_ADD_SIGNED",
        "Dot3Rgb": "GL_DOT3_RGB",
        "Dot3Rgba": "GL_DOT3_RGBA",
        "Interpolate": "GL_INTERPOLATE",
        "Modulate": "GL_MODULATE",
        "Replace": "GL_REPLACE",
        "Subtract": "GL_SUBTRACT"
    },
    "TextureEnvMode":
    {
        "Add": "GL_ADD",
        "Blend": "GL_BLEND",
        "Combine": "GL_COMBINE",
        "Decal": "GL_DECAL",
        "Modulate": "GL_MODULATE",
        "Replace": "GL_REPLACE"
    },
    "TextureEnvTarget":
    {
        "Env": "GL_TEXTURE_ENV",
        "PointSprite": "GL_POINT_SPRITE_OES"
    },
    "TextureEnvParameter":
    {
        "Mode": "GL_TEXTURE_ENV_MODE",
        "Color": "GL_TEXTURE_ENV_COLOR",
        "CombineRgb": "GL_COMBINE_RGB",
        "CombineAlpha": "GL_COMBINE_ALPHA",
        "RgbScale": "GL_RGB_SCALE",
        "AlphaScale": "GL_ALPHA_SCALE",
        "Src0Rgb": "GL_SRC0_RGB",
        "Src1Rgb": "GL_SRC1_RGB",
        "Src2Rgb": "GL_SRC2_RGB",
        "Src0Alpha": "GL_SRC0_ALPHA",
        "Src1Alpha": "GL_SRC1_ALPHA",
        "Src2Alpha": "GL_SRC2_ALPHA",
        "Op0Rgb": "GL_OPERAND0_RGB",
        "Op1Rgb": "GL_OPERAND1_RGB",
        "Op2Rgb": "GL_OPERAND2_RGB",
        "Op0Alpha": "GL_OPERAND0_ALPHA",
        "Op1Alpha": "GL_OPERAND1_ALPHA",
        "Op2Alpha": "GL_OPERAND2_ALPHA",
        "PointCoordReplace": "GL_COORD_REPLACE_OES"
    },
    "TextureOp":
    {
        "OneMinusSrcAlpha": "GL_ONE_MINUS_SRC_ALPHA",
        "OneMinusSrcColor": "GL_ONE_MINUS_SRC_COLOR",
        "SrcAlpha": "GL_SRC_ALPHA",
        "SrcColor": "GL_SRC_COLOR"
    },
    "TextureSrc":
    {
        "Constant": "GL_CONSTANT",
        "Previous": "GL_PREVIOUS",
        "PrimaryColor": "GL_PRIMARY_COLOR",
        "Texture": "GL_TEXTURE"
    },
    "TextureType":
    {
        "_2D": "GL_TEXTURE_2D",
        "_2DArray": "GL_TEXTURE_2D_ARRAY",
        "_2DMultisample": "GL_TEXTURE_2D_MULTISAMPLE",
        "_2DMultisampleArray": "GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES",
        "_3D": "GL_TEXTURE_3D",
        "External": "GL_TEXTURE_EXTERNAL_OES",
        "Rectangle": "GL_TEXTURE_RECTANGLE_ANGLE",
        "CubeMap": "GL_TEXTURE_CUBE_MAP"
    },
    "TextureTarget":
    {
        "_2D": "GL_TEXTURE_2D",
        "_2DArray": "GL_TEXTURE_2D_ARRAY",
        "_2DMultisample": "GL_TEXTURE_2D_MULTISAMPLE",
        "_2DMultisampleArray": "GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES",
        "_3D": "GL_TEXTURE_3D",
        "External": "GL_TEXTURE_EXTERNAL_OES",
        "Rectangle": "GL_TEXTURE_RECTANGLE_ANGLE",
        "CubeMapPositiveX": "GL_TEXTURE_CUBE_MAP_POSITIVE_X",
        "CubeMapNegativeX": "GL_TEXTURE_CUBE_MAP_NEGATIVE_X",
        "CubeMapPositiveY": "GL_TEXTURE_CUBE_MAP_POSITIVE_Y",
        "CubeMapNegativeY": "GL_TEXTURE_CUBE_MAP_NEGATIVE_Y",
        "CubeMapPositiveZ": "GL_TEXTURE_CUBE_MAP_POSITIVE_Z",
        "CubeMapNegativeZ": "GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"
    },
    "VertexArrayType":
    {
        "Color": "GL_COLOR_ARRAY",
        "Normal": "GL_NORMAL_ARRAY",
        "PointSize": "GL_POINT_SIZE_ARRAY_OES",
        "TextureCoord": "GL_TEXTURE_COORD_ARRAY",
        "Vertex": "GL_VERTEX_ARRAY"
    },
    "MaterialParameter":
    {
        "Ambient": "GL_AMBIENT",
        "AmbientAndDiffuse": "GL_AMBIENT_AND_DIFFUSE",
        "Diffuse": "GL_DIFFUSE",
        "Emission": "GL_EMISSION",
        "Shininess": "GL_SHININESS",
        "Specular": "GL_SPECULAR"
    },
    "LightParameter":
    {
        "Ambient": "GL_AMBIENT",
        "AmbientAndDiffuse": "GL_AMBIENT_AND_DIFFUSE",
        "ConstantAttenuation": "GL_CONSTANT_ATTENUATION",
        "Diffuse": "GL_DIFFUSE",
        "LinearAttenuation": "GL_LINEAR_ATTENUATION",
        "Position": "GL_POSITION",
        "QuadraticAttenuation": "GL_QUADRATIC_ATTENUATION",
        "Specular": "GL_SPECULAR",
        "SpotCutoff": "GL_SPOT_CUTOFF",
        "SpotDirection": "GL_SPOT_DIRECTION",
        "SpotExponent": "GL_SPOT_EXPONENT"
    },
    "PointParameter":
    {
        "PointSizeMin" : "GL_POINT_SIZE_MIN",
        "PointSizeMax" : "GL_POINT_SIZE_MAX",
        "PointFadeThresholdSize" : "GL_POINT_FADE_THRESHOLD_SIZE",
        "PointDistanceAttenuation" : "GL_POINT_DISTANCE_ATTENUATION"
    },
    "FilterMode":
    {
        "Nearest": "GL_NEAREST",
        "Linear": "GL_LINEAR",
        "NearestMipmapNearest": "GL_NEAREST_MIPMAP_NEAREST",
        "NearestMipmapLinear": "GL_NEAREST_MIPMAP_LINEAR",
        "LinearMipmapLinear": "GL_LINEAR_MIPMAP_LINEAR"
    },
    "WrapMode":
    {
        "ClampToEdge": "GL_CLAMP_TO_EDGE",
        "ClampToBorder": "GL_CLAMP_TO_BORDER",
        "MirroredRepeat": "GL_MIRRORED_REPEAT",
        "Repeat": "GL_REPEAT"
    }
}
