Skip to content

hughsk/glsl-point-light

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

A reusable GLSL point light function

Resources

License

Stars

Watchers

Forks

Packages

No packages published