struct lightsource
{
vec3 color;
vec3 position;
}
Source: https://www.opengl.org/wiki/Rendering_Pipeline_Overview
Fragment shader (toon.frag):
void main()
{
gl_FragColor = gl_Color;
}
Source: http://www.lighthouse3d.com/tutorials/glsl-12-tutorial/directional-lights-i/
void main()
{
vec3 normal, lightDir;
vec4 diffuse;
float NdotL;
normal = normalize(gl_NormalMatrix * gl_Normal);
lightDir = normalize(vec3(gl_LightSource[0].position));
NdotL = max(dot(normal, lightDir), 0.0);
diffuse = gl_FrontMaterial.diffuse * gl_LightSource[0].diffuse;
gl_FrontColor = NdotL * diffuse;
gl_Position = ftransform();
}
Source: http://www.lighthouse3d.com/tutorials/glsl-12-tutorial/directional-lights-i/
Fall 2016, CS-116A:
Lectures:
Assignments:
Handouts:
Programs: