glsl-point-light

A reusable GLSL point light function

npm install glsl-point-light
1 downloads in the last day
1 downloads in the last week
9 downloads in the last month

glsl-point-light stable

A reusable GLSL point light function for use with glslify.

glsl-point-light

view demo

Usage

glsl-point-light

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.

npm loves you