surface
bulb(
    float Ks = 1.0,
	  Ka = 0.1,
	  Kd = 0.3,
	  Ksilh = 0.05,
	  roughness = 0.1,
	  silhrough = 0.55;
    color specularcolor = 1)

{
	//setup normal based on surface position
	float x = comp(P,0.0) + 2;
	float y = comp(P,1.0) + 3;
	float dis = sqrt(x*x + y*y)*26;
	float bend = cos(dis) * 0.1;
	N = N + dPdv*bend + dPdu*bend;
	

	normal Nf = faceforward(normalize(N), I);
	vector V = -normalize(I);

	Oi = Os;
	Ci = Oi*Cs*(Ka*ambient() + Kd*diffuse(Nf)) +
		specularcolor*Ks*specular(Nf, V, roughness)
		+ specularcolor*Ksilh*(pow(1.0 - (V.Nf),1/silhrough));
}
