A reusable GLSL point light function
OTHER License
A reusable GLSL point light function for use with glslify.
Exports vec3 point_light
, which takes the following arguments:
vec3 color
: the RGB values of the light.vec3 light_position
: the x/y/z position of the light.vec3 current_position
: the x/y/z position of the current fragment/vertex.vec3 normal
: a normalized normal vector for the current fragment/vertex.vec3 attenuation
: the light attenuation.Light attenuation is the rate at which the light will fade over space. It's passed as a vector for brevity, but each value has a different effect:
attenuation.x
, or kc
, is the constant attenuation.attenuation.y
, or kl
, is the linear attenuation.attenuation.z
, or kq
, is the quadratic attenuation.Together these values effect the final attenuation curve. For more information check out this this article.
See shaders/terrain.vert for a full example.