language glsl { pattern *.glsl *.vert *.frag *.geom *.vs *.fs *.gs lexer C/C++ fold_flags compact section { type delimiter list { ' " } } section { type operator list { - ! % & ( ) * , . : ; ? [ ] ^ | ~ + < = > } } section { type comment list { \/* */ } } section { type comment_line list { // } } section { type word1 list { # #define defined #undef #if #ifdef #ifndef #else #elif #endif #error #pragma #extension #version #line ## __LINE__ __FILE__ __VERSION__ STDGL optimize debug on off GL_core_profile GL_compatibility_profile GL_es_profile all require enable warn disable GL_FRAGMENT_PRECISION_HIGH gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_Color gl_SecondaryColor gl_NumWorkGroups gl_WorkGroupSize gl_WorkGroupID gl_LocalInvocationID gl_GlobalInvocationID gl_LocalInvocationIndex gl_VertexID gl_InstanceID gl_PerVertex gl_Position gl_PointSize gl_ClipDistance gl_PrimitiveIDIn gl_InvocationID gl_PrimitiveID gl_Layer gl_ViewportIndex gl_in gl_PatchVerticesIn gl_out gl_TessLevelOuter gl_TessLevelInner gl_PatchVerticesIn gl_TessCoord gl_FragColor gl_FragCoord gl_FrontFacing gl_PointCoord gl_SampleID gl_SamplePosition gl_SampleMaskIn gl_FragDepth gl_SampleMask gl_DepthRangeParameters gl_DepthRange gl_NumSamples gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits gl_MaxTessControlUniformComponents gl_MaxTessControlTotalOutputComponents gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents gl_MaxTessPatchComponents gl_MaxPatchVertices gl_MaxTessGenLevel gl_MaxViewports gl_MaxVertexUniformVectors gl_MaxFragmentUniformVectors gl_MaxVaryingVectors gl_MaxVertexAtomicCounters gl_MaxTessControlAtomicCounters gl_MaxTessEvaluationAtomicCounters gl_MaxGeometryAtomicCounters gl_MaxFragmentAtomicCounters gl_MaxCombinedAtomicCounters gl_MaxAtomicCounterBindings gl_MaxVertexAtomicCounterBuffers gl_MaxTessControlAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxGeometryAtomicCounterBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxCombinedAtomicCounterBuffers gl_MaxAtomicCounterBufferSize gl_MinProgramTexelOffset gl_MaxProgramTexelOffset gl_MaxTransformFeedbackBuffers gl_MaxTransformFeedbackInterleavedComponents gl_ClipVertex gl_TexCoord gl_FogFragCoord gl_FragColor gl_FragData gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxClipPlanes gl_MaxVaryingFloats gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixInverse gl_ModelViewMatrixTranspose gl_ProjectionMatrixTranspose gl_ModelViewProjectionMatrixTranspose gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_ClipPlane gl_PointParameters gl_Point gl_MaterialParameters gl_FrontMaterial gl_BackMaterial gl_LightSourceParameters gl_LightSource gl_LightModelParameters gl_LightModel gl_LightModelProducts gl_FrontLightModelProduct gl_BackLightModelProduct gl_LightProducts gl_FrontLightProduct gl_BackLightProduct gl_TextureEnvColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_ObjectPlaneS gl_ObjectPlaneT gl_ObjectPlaneR gl_ObjectPlaneQ gl_FogParameters gl_Fog c3d_mapColour c3d_mapAmbient c3d_mapDiffuse c3d_mapNormal c3d_mapOpacity c3d_mapSpecular c3d_mapHeight c3d_mapGloss c3d_mapPosition c3d_mapNormals c3d_mapTangent c3d_mapBitangent c3d_v3CameraPosition c3d_v4AmbientLight c3d_v4BackgroundColour c3d_v3CameraPos c3d_v4MatAmbient c3d_v4MatEmissive c3d_v4MatDiffuse c3d_v4MatEmissive c3d_v4MatSpecular c3d_fMatShininess c3d_fMatOpacity c3d_sLights c3d_iLightsCount vertex normal bitangent tangent texture c3d_mtxProjection c3d_mtxModel c3d_mtxView c3d_mtxNormal c3d_mtxModelView c3d_mtxProjectionModelView c3d_mtxTexture0 c3d_mtxTexture1 c3d_mtxTexture1 c3d_mtxTexture2 c3d_mtxTexture3 vtx_vertex vtx_normal vtx_tangent vtx_bitangent vtx_texture c3d_mtxProjection vtx_mtxModelView vtx_mtxView vtx_eyeVec vtx_mtxTBN out_v4Position out_v4Diffuse out_v4Normals out_v4Tangent out_v4Bitangent out_v4Specular out_FragColor } } section { type word2 list { attribute const uniform varying buffer shared coherent volatile restrict readonly writeonly atomic_uint layout centroid flat smooth noperspective patch sample break continue do for while switch case default if else subroutine in out inout float double int void bool true false invariant precise discard return mat2 mat3 mat4 dmat2 dmat3 dmat4 mat2x2 mat2x3 mat2x4 dmat2x2 dmat2x3 dmat2x4 mat3x2 mat3x3 mat3x4 dmat3x2 dmat3x3 dmat3x4 mat4x2 mat4x3 mat4x4 dmat4x2 dmat4x3 dmat4x4 vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 dvec2 dvec3 dvec4 uint uvec2 uvec3 uvec4 lowp mediump highp precision sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow samplerCubeShadow sampler1DArray sampler2DArray sampler1DArrayShadow sampler2DArrayShadow isampler1D isampler2D isampler3D isamplerCube isampler1DArray isampler2DArray usampler1D usampler2D usampler3D usamplerCube usampler1DArray usampler2DArray sampler2DRect sampler2DRectShadow isampler2DRect usampler2DRect samplerBuffer isamplerBuffer usamplerBuffer sampler2DMS isampler2DMS usampler2DMS sampler2DMSArray isampler2DMSArray usampler2DMSArray samplerCubeArray samplerCubeArrayShadow isamplerCubeArray usamplerCubeArray image1D iimage1D uimage1D image2D iimage2D uimage2D image3D iimage3D uimage3D image2DRect iimage2DRect uimage2DRect imageCube iimageCube uimageCube imageBuffer iimageBuffer uimageBuffer image1DArray iimage1DArray uimage1DArray image2DArray iimage2DArray uimage2DArray imageCubeArray iimageCubeArray uimageCubeArray image2DMS iimage2DMS uimage2DMS image2DMSArray iimage2DMSArray uimage2DMSArray struct std140 std130 row_major column_major binding offset align location component index triangles quades isolines equal_spacing fractional_even_spacing fractional_odd_spacing cw ccw point_mode points lines lines_adjacency triangles triangles_adjacency invocations origin_upper_left pixel_center_integer early_fragment_tests local_size_x local_size_y local_size_z xfb_buffer xfb_stride xfb_offset vertices line_strip triangle_strip max_vertices stream depth_any depth_greater depth_less depth_unchanged smooth flat noperspective rgba32f rgba16f rg32f rg16f r11f_g11f_b10f r32f r16f rgba16 rgb10_a2 rgba8 rg16 rg8 r16 r8 rgba16_snorm rgba8_snorm rg16_snorm rg8_snorm r16_snorm rgba32i rgba16i rgba8i rg32i rg16i rg8i r32i r16i r8i rgba32ui rgba16ui rgb10_a2ui rgba8ui rg32ui rg16ui rg8ui r32ui r16ui r8ui common partition active asm class union enum typedef template this packed resource goto inline noinline public static extern external interface long short half fixed unsigned superp input output hvec2 hvec3 hvec4 dvec2 dvec3 dvec4 fvec2 fvec3 fvec4 sampler3DRect sizeof cast namespace using filter Light } } section { type word3 list { } } section { type word4 list { radians degrees sin cos tan asin acos atan sinh cosh tanh asinh acosh atanh pow exp log exp2 log2 sqrt inversesqrt abs sign floor trunc round roundEven ceil fract mod modf min max clamp mix step smoothstep isnan isinf floatBitsToInt floatBitsToUInt intBitsToFloat uintBitsToFloat fma frexp ldexp packUnorm2x16 packSnorm2x16 packUnorm4x8 packSnorm4x8 unpackUnorm2x16 unpackSnorm2x16 unpackUnorm4x8 packDouble2x32 unpackDouble2x32 packHalf2x16 unpackHalf2x16 length distance dot cross normalize faceforward reflect refract matrixCompMult outerProduct transpose determinant inverse lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not uaddCarry usubBorrow umulExtended imulExtended bitfieldExtract bitfieldExtract bitfieldInsert bitfieldReverse bitCount findLSB findMSB textureSize textureQueryLod textureQueryLevels texture textureProj textureLod textureOffset texelFetch texelFetchOffset textureProjOffset textureLodOffset textureProjLod textureProjLodOffset textureGrad textureGradOffset textureProjGrad textureProjGradOffset textureGather textureGatherOffset textureGatherOffsets atomicCounterIncrement atomicCounterDecrement atomicCounter atomicAdd atomicMin atomicMax atomicAnd atomicOr atomicXor atomicExchange atomicCompSwap imageSize imageLoad imageStore imageAtomicAdd imageAtomicMin imageAtomicMax imageAtomicAnd imageAtomicOr imageAtomicXor imageAtomicExchange imageAtomicCompSwap dFdx dFdy fwidth interpolateAtCentroid interpolateAtSample interpolateAtOffset noise1 noise2 noise3 noise4 EmitStreamVertex EndStreamPrimitive EmitVertex EndPrimitive barrier memoryBarrier memoryBarrierAtomicCounter memoryBarrierBuffer memoryBarrierShared memoryBarrierImage groupMemoryBarrier ftransform texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod GetLight } } style { type default fg_colour #000000 bg_colour #FFFFFF font_name Consolas font_size 10 } style { type word1 fg_colour #800080 bg_colour #FFFFFF font_name Consolas font_size 10 } style { type word2 fg_colour #0000FF bg_colour #FFFFFF font_name Consolas font_size 10 } style { type word3 fg_colour #FF0000 bg_colour #FFFFFF font_name Consolas font_size 10 } style { type word4 fg_colour #0080FF bg_colour #FFFFFF font_name Consolas font_size 10 } style { type comment fg_colour #008000 bg_colour #FFFFFF font_name Consolas font_size 10 } style { type comment_line fg_colour #008000 bg_colour #FFFFFF font_name Consolas font_size 10 } style { type number fg_colour #808080 bg_colour #FFFFFF font_name Consolas font_size 10 } style { type operator fg_colour #000080 bg_colour #FFFFFF font_name Consolas font_size 10 } style { type delimiter fg_colour #FF0000 bg_colour #FFFFFF font_name Consolas font_size 10 } }