Type aliases
Arg
Arg
: A | [A, undefined | string, undefined | SymOpts]
BVec
BVec: "bvec2" | "bvec3" | "bvec4"
BitOperator
BitOperator: "<<" | ">>" | "|" | "&" | "^" | "~"
Comparable
Comparable
: "float" | Int
ComparisonOperator
ComparisonOperator: "<" | "<=" | "==" | "!=" | ">=" | ">"
ISampler2DSym
ISampler2DSym
: Sym<"isampler2D">
ISampler2DTerm
ISampler2DTerm
: Term<"isampler2D">
ISampler3DSym
ISampler3DSym
: Sym<"isampler3D">
ISampler3DTerm
ISampler3DTerm
: Term<"isampler3D">
ISamplerCubeSym
ISampler
CubeSym: Sym<"isamplerCube">
ISamplerCubeTerm
ISampler
CubeTerm: Term<"isamplerCube">
IVec
IVec: "ivec2" | "ivec3" | "ivec4"
Indexable
Indexable: keyof IndexTypeMap
LogicOperator
LogicOperator: "!" | "||" | "&&"
Mat
Mat: "mat2" | "mat3" | "mat4"
MathOperator
MathOperator: "+" | "-" | "*" | "/" | "%" | "++" | "--"
Precision
Precision: "lowp" | "mediump" | "highp"
Sampler
Sampler: "sampler2D" | "sampler3D" | "samplerCube" | "sampler2DShadow" | "samplerCubeShadow" | "isampler2D" | "isampler3D" | "isamplerCube" | "usampler2D" | "usampler3D" | "usamplerCube"
Sampler2DSym
Sampler2DSym
: Sym<"sampler2D">
Sampler2DTerm
Sampler2DTerm
: Term<"sampler2D">
Sampler3DSym
Sampler3DSym
: Sym<"sampler3D">
Sampler3DTerm
Sampler3DTerm
: Term<"sampler3D">
SamplerCubeSym
Sampler
CubeSym: Sym<"samplerCube">
SamplerCubeTerm
Sampler
CubeTerm: Term<"samplerCube">
ScopeBody
Scope
Body: (undefined | null | Term<any>)[]
Swizzle2_1
Swizzle2_1: "x" | "y"
Swizzle2_2
Swizzle2_2: "xx" | "xy" | "yx" | "yy"
Swizzle2_3
Swizzle2_3: "xxx" | "xxy" | "xyx" | "xyy" | "yxx" | "yxy" | "yyx" | "yyy"
Swizzle2_4
Swizzle2_4: "xxxx" | "xxxy" | "xxyx" | "xxyy" | "xyxx" | "xyxy" | "xyyx" | "xyyy" | "yxxx" | "yxxy" | "yxyx" | "yxyy" | "yyxx" | "yyxy" | "yyyx" | "yyyy"
Swizzle3_1
Swizzle3_1: "x" | "y" | "z"
Swizzle3_2
Swizzle3_2: "xx" | "xy" | "xz" | "yx" | "yy" | "yz" | "zx" | "zy" | "zz"
Swizzle3_3
Swizzle3_3: "xxx" | "xxy" | "xxz" | "xyx" | "xyy" | "xyz" | "xzx" | "xzy" | "xzz" | "yxx" | "yxy" | "yxz" | "yyx" | "yyy" | "yyz" | "yzx" | "yzy" | "yzz" | "zxx" | "zxy" | "zxz" | "zyx" | "zyy" | "zyz" | "zzx" | "zzy" | "zzz"
Swizzle3_4
Swizzle3_4: "xxxx" | "xxxy" | "xxxz" | "xxyx" | "xxyy" | "xxyz" | "xxzx" | "xxzy" | "xxzz" | "xyxx" | "xyxy" | "xyxz" | "xyyx" | "xyyy" | "xyyz" | "xyzx" | "xyzy" | "xyzz" | "xzxx" | "xzxy" | "xzxz" | "xzyx" | "xzyy" | "xzyz" | "xzzx" | "xzzy" | "xzzz" | "yxxx" | "yxxy" | "yxxz" | "yxyx" | "yxyy" | "yxyz" | "yxzx" | "yxzy" | "yxzz" | "yyxx" | "yyxy" | "yyxz" | "yyyx" | "yyyy" | "yyyz" | "yyzx" | "yyzy" | "yyzz" | "yzxx" | "yzxy" | "yzxz" | "yzyx" | "yzyy" | "yzyz" | "yzzx" | "yzzy" | "yzzz" | "zxxx" | "zxxy" | "zxxz" | "zxyx" | "zxyy" | "zxyz" | "zxzx" | "zxzy" | "zxzz" | "zyxx" | "zyxy" | "zyxz" | "zyyx" | "zyyy" | "zyyz" | "zyzx" | "zyzy" | "zyzz" | "zzxx" | "zzxy" | "zzxz" | "zzyx" | "zzyy" | "zzyz" | "zzzx" | "zzzy" | "zzzz"
Swizzle4_1
Swizzle4_1: "x" | "y" | "z" | "w"
Swizzle4_2
Swizzle4_2: "xx" | "xy" | "xz" | "xw" | "yx" | "yy" | "yz" | "yw" | "zx" | "zy" | "zz" | "zw" | "wx" | "wy" | "wz" | "ww"
Swizzle4_3
Swizzle4_3: "xxx" | "xxy" | "xxz" | "xxw" | "xyx" | "xyy" | "xyz" | "xyw" | "xzx" | "xzy" | "xzz" | "xzw" | "xwx" | "xwy" | "xwz" | "xww" | "yxx" | "yxy" | "yxz" | "yxw" | "yyx" | "yyy" | "yyz" | "yyw" | "yzx" | "yzy" | "yzz" | "yzw" | "ywx" | "ywy" | "ywz" | "yww" | "zxx" | "zxy" | "zxz" | "zxw" | "zyx" | "zyy" | "zyz" | "zyw" | "zzx" | "zzy" | "zzz" | "zzw" | "zwx" | "zwy" | "zwz" | "zww" | "wxx" | "wxy" | "wxz" | "wxw" | "wyx" | "wyy" | "wyz" | "wyw" | "wzx" | "wzy" | "wzz" | "wzw" | "wwx" | "wwy" | "wwz" | "www"
Swizzle4_4
Swizzle4_4: "xxxx" | "xxxy" | "xxxz" | "xxxw" | "xxyx" | "xxyy" | "xxyz" | "xxyw" | "xxzx" | "xxzy" | "xxzz" | "xxzw" | "xxwx" | "xxwy" | "xxwz" | "xxww" | "xyxx" | "xyxy" | "xyxz" | "xyxw" | "xyyx" | "xyyy" | "xyyz" | "xyyw" | "xyzx" | "xyzy" | "xyzz" | "xyzw" | "xywx" | "xywy" | "xywz" | "xyww" | "xzxx" | "xzxy" | "xzxz" | "xzxw" | "xzyx" | "xzyy" | "xzyz" | "xzyw" | "xzzx" | "xzzy" | "xzzz" | "xzzw" | "xzwx" | "xzwy" | "xzwz" | "xzww" | "xwxx" | "xwxy" | "xwxz" | "xwxw" | "xwyx" | "xwyy" | "xwyz" | "xwyw" | "xwzx" | "xwzy" | "xwzz" | "xwzw" | "xwwx" | "xwwy" | "xwwz" | "xwww" | "yxxx" | "yxxy" | "yxxz" | "yxxw" | "yxyx" | "yxyy" | "yxyz" | "yxyw" | "yxzx" | "yxzy" | "yxzz" | "yxzw" | "yxwx" | "yxwy" | "yxwz" | "yxww" | "yyxx" | "yyxy" | "yyxz" | "yyxw" | "yyyx" | "yyyy" | "yyyz" | "yyyw" | "yyzx" | "yyzy" | "yyzz" | "yyzw" | "yywx" | "yywy" | "yywz" | "yyww" | "yzxx" | "yzxy" | "yzxz" | "yzxw" | "yzyx" | "yzyy" | "yzyz" | "yzyw" | "yzzx" | "yzzy" | "yzzz" | "yzzw" | "yzwx" | "yzwy" | "yzwz" | "yzww" | "ywxx" | "ywxy" | "ywxz" | "ywxw" | "ywyx" | "ywyy" | "ywyz" | "ywyw" | "ywzx" | "ywzy" | "ywzz" | "ywzw" | "ywwx" | "ywwy" | "ywwz" | "ywww" | "zxxx" | "zxxy" | "zxxz" | "zxxw" | "zxyx" | "zxyy" | "zxyz" | "zxyw" | "zxzx" | "zxzy" | "zxzz" | "zxzw" | "zxwx" | "zxwy" | "zxwz" | "zxww" | "zyxx" | "zyxy" | "zyxz" | "zyxw" | "zyyx" | "zyyy" | "zyyz" | "zyyw" | "zyzx" | "zyzy" | "zyzz" | "zyzw" | "zywx" | "zywy" | "zywz" | "zyww" | "zzxx" | "zzxy" | "zzxz" | "zzxw" | "zzyx" | "zzyy" | "zzyz" | "zzyw" | "zzzx" | "zzzy" | "zzzz" | "zzzw" | "zzwx" | "zzwy" | "zzwz" | "zzww" | "zwxx" | "zwxy" | "zwxz" | "zwxw" | "zwyx" | "zwyy" | "zwyz" | "zwyw" | "zwzx" | "zwzy" | "zwzz" | "zwzw" | "zwwx" | "zwwy" | "zwwz" | "zwww" | "wxxx" | "wxxy" | "wxxz" | "wxxw" | "wxyx" | "wxyy" | "wxyz" | "wxyw" | "wxzx" | "wxzy" | "wxzz" | "wxzw" | "wxwx" | "wxwy" | "wxwz" | "wxww" | "wyxx" | "wyxy" | "wyxz" | "wyxw" | "wyyx" | "wyyy" | "wyyz" | "wyyw" | "wyzx" | "wyzy" | "wyzz" | "wyzw" | "wywx" | "wywy" | "wywz" | "wyww" | "wzxx" | "wzxy" | "wzxz" | "wzxw" | "wzyx" | "wzyy" | "wzyz" | "wzyw" | "wzzx" | "wzzy" | "wzzz" | "wzzw" | "wzwx" | "wzwy" | "wzwz" | "wzww" | "wwxx" | "wwxy" | "wwxz" | "wwxw" | "wwyx" | "wwyy" | "wwyz" | "wwyw" | "wwzx" | "wwzy" | "wwzz" | "wwzw" | "wwwx" | "wwwy" | "wwwz" | "wwww"
SymQualifier
SymQualifier: "in" | "out" | "inout"
SymType
SymType: "in" | "out" | "uni"
Tag
Tag: "arg" | "array_init" | "assign" | "call" | "call_i" | "ctrl" | "decl" | "fn" | "for" | "idx" | "if" | "lit" | "op1" | "op2" | "ret" | "scope" | "swizzle" | "sym" | "ternary" | "while"
Type
Type: "void" | "bool" | "bool[]" | "float" | "float[]" | "int" | "int[]" | "uint" | "uint[]" | "vec2" | "vec2[]" | "vec3" | "vec3[]" | "vec4" | "vec4[]" | "ivec2" | "ivec2[]" | "ivec3" | "ivec3[]" | "ivec4" | "ivec4[]" | "uvec2" | "uvec2[]" | "uvec3" | "uvec3[]" | "uvec4" | "uvec4[]" | "bvec2" | "bvec2[]" | "bvec3" | "bvec3[]" | "bvec4" | "bvec4[]" | "mat2" | "mat2[]" | "mat3" | "mat3[]" | "mat4" | "mat4[]" | "sampler2D" | "sampler2D[]" | "sampler3D" | "sampler3D[]" | "samplerCube" | "samplerCube[]" | "sampler2DShadow" | "sampler2DShadow[]" | "samplerCubeShadow" | "samplerCubeShadow[]" | "isampler2D" | "isampler2D[]" | "isampler3D" | "isampler3D[]" | "isamplerCube" | "isamplerCube[]" | "usampler2D" | "usampler2D[]" | "usampler3D" | "usampler3D[]" | "usamplerCube" | "usamplerCube[]"
USampler2DSym
USampler2DSym
: Sym<"usampler2D">
USampler2DTerm
USampler2DTerm
: Term<"usampler2D">
USampler3DSym
USampler3DSym
: Sym<"usampler3D">
USampler3DTerm
USampler3DTerm
: Term<"usampler3D">
USamplerCubeSym
USampler
CubeSym: Sym<"usamplerCube">
USamplerCubeTerm
USampler
CubeTerm: Term<"usamplerCube">
UVec
UVec: "uvec2" | "uvec3" | "uvec4"
Vec
Vec: "vec2" | "vec3" | "vec4"