The Book of Shaders by Patricio Gonzalez Vivo


By theme

void bool int float bvec2 bvec3 bvec4 ivec2 ivec3 ivec4 vec2 vec3 vec4 mat2 mat3 mat4 sampler2D samplerCube struct

attribute const uniform varying precision highp mediump lowp in out inout

gl_Position gl_PointSize gl_PointCoord gl_FrontFacing gl_FragCoord gl_FragColor

gl_MaxVertexAttribs gl_MaxVaryingVectors gl_MaxVertexTextureImageUnits gl_MaxCombinedTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformVectors 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() facefoward() reflect() refract()


lessThan() lessThanEqual() greaterThan() greaterThanEqual() equal() notEqual() any() all() not()

texture2D() textureCube()


abs() acos() all() any() asin() atan() attribute

bool bvec2 bvec3 bvec4

ceil() clamp() const cos() cross()

degrees() dFdx() dFdy() distance() dot()

equal() exp() exp2()

faceforward() float floor() fract()

greaterThan() greaterThanEqual() gl_FragColor gl_FragCoord gl_FrontFacing gl_PointCoord gl_PointSize gl_Position gl_MaxCombinedTextureImageUnits gl_MaxDrawBuffers gl_MaxFragmentUniformVectors gl_MaxVaryingVectors gl_MaxVertexAttribs gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits


in inout int inversesqrt() ivec2 ivec3 ivec4

length() lessThan() lessThanEqual() log() log2() lowp

matrixCompMult() mat2 mat3 mat4 max() mediump min() mix() mod()

normalize() not() notEqual()


precision pow()

radians() reflect() refract()

sampler2D samplerCube sign() sin() smoothstep() sqrt() step() struct

tan() texture2D() textureCube()


varying vec2 vec3 vec4 void