var p = dojox.gfx3d.lighting; var c = p.black(); for(var i = 0; i < lights.length; ++i){ var l = lights[i]; var h = p.normalize(p.add(p.normalize(l.direction), v)); var s = Math.pow(Math.max(0, p.dot(normal, h)), 1 / roughness); c = p.addColor(c, p.scaleColor(s, l.color)); } return p.saturateColor(c); }, 
var c = lite.black(); for(var i = 0; i < lights.length; ++i){ var l = lights[i], h = lite.normalize(lite.add(lite.normalize(l.direction), v)), s = Math.pow(Math.max(0, lite.dot(normal, h)), 1 / roughness); c = lite.addColor(c, lite.scaleColor(s, l.color)); } return lite.saturateColor(c); }, 
	specular: function(normal, v, roughness, lights){		var p = dojox.gfx3d.lighting;		var c = p.black();		for(var i = 0; i < lights.length; ++i){			var l = lights[i];			var h = p.normalize(p.add(p.normalize(l.direction), v));			var s = Math.pow(Math.max(0, p.dot(normal, h)), 1 / roughness);			c = p.addColor(c, p.scaleColor(s, l.color));		}		return p.saturateColor(c);	},
5168	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/5168/c7d2075e077f52d30bb22fd290f5cbb6f2dca879/lighting.js/clean/gfx3d/lighting.js