/* Shader description goes here */ surface PN_outputs(float Kd = 1; output varying point P_world = 0; output varying point P_object = 0; output varying vector N_world = 0; output varying vector N_object = 0; ) { color surfcolor = 1; normal n = normalize(N); normal nf = faceforward(n, I); P_world = transform("world",P); P_object = transform("object",P); N_world = ntransform("world",N); N_object = ntransform("object",N); Oi = Os; color diffusecolor = Kd * diffuse(nf); Ci = Oi * Cs * surfcolor * diffusecolor; }