text/x-glsl;text/x-glslsrc;
*.frag;*.vert;*.glsl
//
/*
*/
^\s*#\s*
\%{preproc-start}
(define|undef|error|pragma|ident|if(n?def)?|else|elif|endif|line|warning)
\b
(?<![\w\.])
((\.[0-9]+ | [0-9]+\.[0-9]*) ([Ee][+-]?[0-9]*)? |
([0-9]+[Ee][+-]?[0-9]*))
[fFlL]?
(?![\w\.])
(?<![\w\.])
[0-9]+[uUlL]*
(?![\w\.])
break
case
continue
default
else
for
if
return
struct
switch
while
void
bool
float
int
vec2
vec3
vec4
mat2
mat3
mat4
sampler1D
sampler2D
sampler3D
samplerCube
sampler1DShadow
sampler2DShadow
default
const
attribute
uniform
varying
in
out
inout
gl_Position
gl_PointSize
gl_ClipVertex
gl_Color
gl_SecondaryColor
gl_Normal
gl_Vertex
gl_MultiTexCoord0
gl_MultiTexCoord1
gl_MultiTexCoord2
gl_MultiTexCoord3
gl_MultiTexCoord4
gl_MultiTexCoord5
gl_MultiTexCoord6
gl_MultiTexCoord7
gl_FogCoord
gl_NormalMatrix
gl_ModelViewMatrix
gl_FragColor
gl_FragCoord
gl_FragData
gl_FragDepth
gl_FrontFacing
gl_MaxDrawBuffers
radians
degrees
sin
cos
tan
asin
acos
atan
pow
exp
log
exp2
log2
sqrt
inversesqrt
abs
sign
floor
ceil
fract
mod
min
max
clamp
mix
step
smoothstep
length
distance
dot
cross
normalize
ftransform
faceforward
MatrixCompMult
lessThan
lessThanEqual
greaterThan
greaterThanEqual
equal
notEqual
any
all
not
texture1D
texture1DProj
texture1DLod
texture1DProjLod
texture2D
texture2DProj
texture2DLod
texture2DProjLod
texture3D
texture3DProj
texture3DLod
texture3DProjLod
textureCube
textureCubeLod
shadow1D
shadow1DProj
shadow1DLod
shadow1DProjLod
shadow2D
shadow2DProj
shadow2DLod
shadow2DProjLod
dFdx
dFdy
fwidth
noise1
noise2
noise3
noise4
__LINE__
__FILE__
__VERSION__
true
false