//pref
Ambient|float|0|0.0|1
Diffuse|float|0|1|1
AOradius|float|0|0|16
Fastest but poorest: for software emulation like Mesa. Clip plane will be ignored|note
//frag
#version 120
varying vec3 vN, vL;
varying vec4 vClr;
uniform float Diffuse;
uniform float Ambient;
void main() {
 	gl_FragColor = vec4(vClr.rgb * (Ambient + (dot(normalize(vN),normalize(vL)) * Diffuse)),  1.0);
}
