diff options
Diffstat (limited to 'data/light-pp.frag')
-rw-r--r-- | data/light-pp.frag | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/data/light-pp.frag b/data/light-pp.frag new file mode 100644 index 0000000..c862641 --- /dev/null +++ b/data/light-pp.frag @@ -0,0 +1,40 @@ +/* + * light-pp.frag + * + * Lighting per pixel + * + * (c) 2007 Thomas White <taw27@cam.ac.uk> + * + * dtr - Diffraction Tomography Reconstruction + * + */ + +varying vec4 col_ambi; +varying vec4 col_diff; +varying vec4 col_spec; +varying float shininess; + +varying vec3 normal; +varying vec3 halfvc; + +void main() { + + vec4 ambi; + vec4 diff; + vec4 spec; + + /* Ambient contribution */ + ambi = col_ambi * gl_LightModel.ambient; + ambi += col_ambi * gl_LightSource[0].ambient; + + /* Diffuse contribution */ + diff = col_diff * clamp(dot( vec3(normalize(gl_LightSource[0].position)), normal ), 0.0, 1.0); + + /* Specular contribution */ + spec = col_spec * pow(dot( vec3(normal), halfvc ), shininess); + + gl_FragColor = ambi + diff + spec; + gl_FragColor.a = 1.0; + +} + |