k3d/share/shaders/k3d_bluemarble.sl:60:        + Ks * specular(NN, normalize(-I), roughness));
k3d/share/shaders/k3d_brick.sl:6: *   looking staggered brick masonry.  It is especially convincing when
k3d/share/shaders/k3d_brick3.sl:6: *   looking staggered brick masonry.  It is especially convincing when
k3d/share/shaders/k3d_brushedmetal2.sl:6: *  yet another brushedmetal. This one computes a specular 
k3d/share/shaders/k3d_brushedmetal2.sl:11: *  if you set Kr = 0 and specwidth = 10
k3d/share/shaders/k3d_brushedmetal2.sl:12: *  then assume specspread is roughness, then you have something 
k3d/share/shaders/k3d_brushedmetal2.sl:16: *  Ks			- coefficient of specular
k3d/share/shaders/k3d_brushedmetal2.sl:20: *  specwidth		- the width of the specular stripe
k3d/share/shaders/k3d_brushedmetal2.sl:22: *  specspread		- the spread of the specular stripe
k3d/share/shaders/k3d_brushedmetal2.sl:29: *  specularcolor	- color of the specular hilight
k3d/share/shaders/k3d_brushedmetal2.sl:33:anisospecular (vector VA; float specspread; float specwidth)
k3d/share/shaders/k3d_brushedmetal2.sl:40:    float nonspec;
k3d/share/shaders/k3d_brushedmetal2.sl:51:        nonspec = 0;
k3d/share/shaders/k3d_brushedmetal2.sl:52:        lightsource ("__nonspecular", nonspec);
k3d/share/shaders/k3d_brushedmetal2.sl:53:        if (nonspec < 1) {
k3d/share/shaders/k3d_brushedmetal2.sl:57:	    pixbrdf  = specularbrdf(LN, Nf,V,specspread);
k3d/share/shaders/k3d_brushedmetal2.sl:58:            C += Cl * pixbrdf * pow( 1-abs(VA.H), 1/specwidth );
k3d/share/shaders/k3d_brushedmetal2.sl:70:		specwidth	= .5,
k3d/share/shaders/k3d_brushedmetal2.sl:71:		specspread 	= .5,
k3d/share/shaders/k3d_brushedmetal2.sl:75:	color	specularcolor	=  1)
k3d/share/shaders/k3d_brushedmetal2.sl:105:	specularcolor * Ks * anisospecular(VA, specspread*2, specwidth*.1)) +
k3d/share/shaders/k3d_brushedmetal3.sl:4: * Greg Ward Larson's anisotropic specular local illumination model.
k3d/share/shaders/k3d_brushedmetal3.sl:32:        float nonspec = 0;
k3d/share/shaders/k3d_brushedmetal3.sl:33:        lightsource ("__nonspecular", nonspec);
k3d/share/shaders/k3d_brushedmetal3.sl:34:        if (nonspec < 1) {
k3d/share/shaders/k3d_brushedmetal3.sl:41:                C += Cl * ((1-nonspec) * cos_theta_i * rho);
k3d/share/shaders/k3d_brushedmetal3.sl:60:    color spec = LocIllumWardAnisotropic (Nf, -normalize(I),
k3d/share/shaders/k3d_brushedmetal3.sl:62:    Ci = basecolor * (Ka*ambient() + Kd*diffuse(Nf) + Ks*spec);
k3d/share/shaders/k3d_ceramic.sl:7:		    float specsharpness = 0.5;
k3d/share/shaders/k3d_ceramic.sl:11:  Ci = MaterialCeramic(Nf, Cs, Ka, Kd, Ks, roughness, specsharpness);
k3d/share/shaders/k3d_ceramictiles.sl:21: *   Cspeck - color of the occasional specks in the tiles
k3d/share/shaders/k3d_ceramictiles.sl:22: *   edgevary, mottling, speckly - individual scalar controls over
k3d/share/shaders/k3d_ceramictiles.sl:23: *      edge variation, mottling, and speckles.  Setting any to zero will
k3d/share/shaders/k3d_ceramictiles.sl:34: *   Ks, roughness, specsharpness - glossy specular controls of the tile
k3d/share/shaders/k3d_ceramictiles.sl:88: * to the color transition); (3) occasional dark specks.
k3d/share/shaders/k3d_ceramictiles.sl:92:		  float edgevary, mottling, speckly; float mottlefreq;
k3d/share/shaders/k3d_ceramictiles.sl:93:		  color Cbase, Cedge, Cmottle, Cspeck)
k3d/share/shaders/k3d_ceramictiles.sl:118:  if(speckly > 0)
k3d/share/shaders/k3d_ceramictiles.sl:120:      float speckfreq = 7;
k3d/share/shaders/k3d_ceramictiles.sl:122:	point(stile * speckfreq, ttile * speckfreq, tileindex + 8);
k3d/share/shaders/k3d_ceramictiles.sl:123:      float specky = filteredsnoise(noisep, speckfreq * dst);
k3d/share/shaders/k3d_ceramictiles.sl:124:      specky = smoothstep(0.55, 0.7, specky);
k3d/share/shaders/k3d_ceramictiles.sl:125:      C = mix(C, Cspeck, speckly * specky);
k3d/share/shaders/k3d_ceramictiles.sl:134: * "glossy" specular term.  We're actually blending between a purely
k3d/share/shaders/k3d_ceramictiles.sl:143:			   float roughness, specsharpness, Kr, blur, eta;
k3d/share/shaders/k3d_ceramictiles.sl:159:			specsharpness) + SampleEnvironment(P, R, kr, blur,
k3d/share/shaders/k3d_ceramictiles.sl:166:			 0.1, specsharpness = 0.5;
k3d/share/shaders/k3d_ceramictiles.sl:180:			 float edgevary = 1, mottling = 1, speckly = 1;
k3d/share/shaders/k3d_ceramictiles.sl:185:			 color Cspeck = color(.015, .015, .015);
k3d/share/shaders/k3d_ceramictiles.sl:229:			    edgevary, mottling, speckly,
k3d/share/shaders/k3d_ceramictiles.sl:231:			    Cbase, Cedge, Cmottle, Cspeck);
k3d/share/shaders/k3d_ceramictiles.sl:249:			 roughness, specsharpness, Kr, blur, eta, ENVPARAMS);
k3d/share/shaders/k3d_checkerboard.sl:6:			 float roughness = 0.1; color specularcolor = 1.0;
k3d/share/shaders/k3d_checkerboard.sl:51:	  specularcolor * Ks * specular(Nf, -normalize(I), roughness));
k3d/share/shaders/k3d_checkerboard_solid.sl:7:	color specularcolor = 1.0;
k3d/share/shaders/k3d_checkerboard_solid.sl:38:	Ci = Os * (Ct * (Ka * ambient() + Kd * diffuse(Nf)) + specularcolor * Ks * specular(Nf, -normalize(I), roughness));
k3d/share/shaders/k3d_corktile.sl:10: * Ka, Kd, Ks, roughness, specularcolor - take their usual meanings
k3d/share/shaders/k3d_corktile.sl:11: * Ksgap - the specular component for tile gaps : by default 0.3 * Ks
k3d/share/shaders/k3d_corktile.sl:87:						color specularcolor = 1;
k3d/share/shaders/k3d_corktile.sl:120:		specularcolor * Ks*specular(Nf,-normalize(I),roughness)); 
k3d/share/shaders/k3d_crayon.sl:12:	Ka, Kd, Ks, roughness, specularcolor - work as in the plastic shader
k3d/share/shaders/k3d_crayon.sl:59:	 		color specularcolor = 1;
k3d/share/shaders/k3d_crayon.sl:92:		specularcolor * Ks*specular(Nf,-normalize(I),roughness));
k3d/share/shaders/k3d_decalplastic.sl:29:	color specularcolor = 1.0;
k3d/share/shaders/k3d_decalplastic.sl:49:	Ci = Oi * Ct * (Ka * ambient() + Kd * diffuse(Nf)) + specularcolor * Ks * specular(Nf, V, roughness);
k3d/share/shaders/k3d_ember.sl:40:	// basically, the standard specular function, but so that the highlight is
k3d/share/shaders/k3d_eroded.sl:36:	Ci = Oi * Cs * (Ka * ambient() + Ks * specular (Nf, V, roughness) );
k3d/share/shaders/k3d_eyeball.sl:12: *   Ka, Kd, Ks, roughness, specularcolor - work just like the plastic shader
k3d/share/shaders/k3d_eyeball.sl:47:	 color specularcolor = 1;
k3d/share/shaders/k3d_eyeball.sl:136:	      specularcolor * ks*specular(Nf,-normalize(I),rough));
k3d/share/shaders/k3d_fresnelplastic.sl:40:   color Cspec = 1;       /* desc {Specular color} */
k3d/share/shaders/k3d_fresnelplastic.sl:110:                fKr * Cspec * Ks * specular(Nf,V,roughness) +
k3d/share/shaders/k3d_funkyglass.sl:11:		       color specularcolor = 1;)
k3d/share/shaders/k3d_funkyglass.sl:27:     specularcolor * Ks * specular(Nf, -V, roughness));
k3d/share/shaders/k3d_fur2.sl:7:   with clumping and specular model
k3d/share/shaders/k3d_fur2.sl:47:	 float   start_spec = 0.3;
k3d/share/shaders/k3d_fur2.sl:48:	 float   end_spec = 0.95;
k3d/share/shaders/k3d_fur2.sl:49:	 float spec_size_fade  = 0.1;
k3d/share/shaders/k3d_fur2.sl:58:	 color specularcolor  = (color(1) + tipcolor) / 2;
k3d/share/shaders/k3d_fur2.sl:72:    color Cspec = 0, Cdiff = 0;  /* collect specular & diffuse light */
k3d/share/shaders/k3d_fur2.sl:73:    float Kspec = Ks;
k3d/share/shaders/k3d_fur2.sl:90:    uniform float nonspecular = 0;
k3d/share/shaders/k3d_fur2.sl:101:    /* Make the specular only hit in certain parts of the hair--v is
k3d/share/shaders/k3d_fur2.sl:104:    Kspec *= min( smoothstep( start_spec, start_spec + spec_size_fade, v),  
k3d/share/shaders/k3d_fur2.sl:105:		  1 - smoothstep( end_spec, end_spec - spec_size_fade, v ) );
k3d/share/shaders/k3d_fur2.sl:134:	if ( lightsource("__nonspecular",nonspecular) == 0)
k3d/share/shaders/k3d_fur2.sl:135:	    nonspecular = 0;
k3d/share/shaders/k3d_fur2.sl:139:	Cspec += (1-nonspecular) * SpecularColor * clump_darkening * 
k3d/share/shaders/k3d_fur2.sl:154:	   + ((v) * Kspec * Cspec * specularcolor));
k3d/share/shaders/k3d_glass.sl:9: *    Ka, Kd, Ks, roughness, specularcolor - The usual meaning
k3d/share/shaders/k3d_glass.sl:36:		  color specularcolor = 1;
k3d/share/shaders/k3d_gmarbtile_polish.sl:9: *   Ka, Kd, Ks, roughness, specularcolor - work just like the plastic
k3d/share/shaders/k3d_gmarbtile_polish.sl:30:			     color specularcolor = 1;
k3d/share/shaders/k3d_gmarbtile_polish.sl:103:  env = Ks * specular(Nf, -V, roughness);
k3d/share/shaders/k3d_gmarbtile_polish.sl:105:  env *= groovy * specularcolor;
k3d/share/shaders/k3d_gooch.sl:14: *  Ks           : specular factor
k3d/share/shaders/k3d_gooch.sl:19: *  roughness    : specular roughness
k3d/share/shaders/k3d_gooch.sl:20: *  specularcolor: specular hilight color
k3d/share/shaders/k3d_gooch.sl:35:         color specularcolor = 1;)
k3d/share/shaders/k3d_gooch.sl:56:                specularcolor*Ks*specular(Nf,-normalize(I),roughness)));
k3d/share/shaders/k3d_graphic_lines.sl:7:        float paint_spec=0.6;
k3d/share/shaders/k3d_graphic_lines.sl:128:	illumcolor_highlight=(Ka_highlight*ambient()+Kd_highlight*diffuse(Nf_highlight)+Ks_highlight*specular(Nf_highlight,V_highlight,roughness_highlight));
k3d/share/shaders/k3d_graphic_lines.sl:203:	}illumcolor_paint=(Ka_paint*ambient()+Kd_paint*diffuse(Nf_paint)+Ks_paint*specular(Nf_paint,V_paint,roughness_paint));
k3d/share/shaders/k3d_graphic_lines.sl:275:	}illumcolor_ink=(Ka_ink*ambient()+Kd_ink*diffuse(Nf_ink)+Ks_ink*specular(Nf_ink,V_ink,roughness_ink));
k3d/share/shaders/k3d_graphic_lines.sl:314:	glinespec(vector N, V; float roughness)
k3d/share/shaders/k3d_graphic_lines.sl:327:	float diff, spec;
k3d/share/shaders/k3d_graphic_lines.sl:351:	/* specular -- transition also antialiased */
k3d/share/shaders/k3d_graphic_lines.sl:352:	spec = glinespec(Nf, -normalize(I), roughness);
k3d/share/shaders/k3d_graphic_lines.sl:353:	spec = smoothstep(paint_spec - paint_fuzz/2, paint_spec + paint_fuzz/2, spec);
k3d/share/shaders/k3d_graphic_lines.sl:355:	layer_color = Cs*(Kd*diff*Ci_paint + Ka*ambient()) + Ci_highlight*Ks*spec;
k3d/share/shaders/k3d_grass_surface.sl:46:  Ci = Ci * (Ka *ambient() + Kd * diffuse(Nf) + Ks* specular(Nf,-I,roughness));

k3d/share/shaders/k3d_greenmarble.sl:8: *   Ka, Kd, Ks, roughness, specularcolor - work just like the plastic
k3d/share/shaders/k3d_greenmarble.sl:26:			color specularcolor = 1;
k3d/share/shaders/k3d_grids.sl:7:float K_specular=0.269; 
k3d/share/shaders/k3d_grids.sl:9:color specularcolor=color(1, 1, 1); 
k3d/share/shaders/k3d_grids.sl:98:specularcolor * K_specular * phong(G1_Nf, G1_V, 1/roughness);
k3d/share/shaders/k3d_hair.sl:10:	color specularcolor = (color(1) + tipcolor) / 2;
k3d/share/shaders/k3d_hair.sl:15:	color Cspec = 0, Cdiff = 0;  /* collect specular & diffuse light */
k3d/share/shaders/k3d_hair.sl:22:			Cspec += Cl * v * pow (cosang, 1/roughness);
k3d/share/shaders/k3d_hair.sl:29:	Ci = Oi * (mix(rootcolor, tipcolor, v) * (Ka*ambient() + Kd * Cdiff) + (Ks * Cspec * specularcolor));
k3d/share/shaders/k3d_hextile.sl:16: *    Ka, Kd, Ks, roughness, specularcolor - work just like plastic
k3d/share/shaders/k3d_hextile.sl:49:	 color specularcolor = 1;
k3d/share/shaders/k3d_hextile.sl:122:	      specularcolor * ks*specular(Nf,-normalize(I),roughness));
k3d/share/shaders/k3d_incandplastic.sl:26:			 SpecularColor * Ks * specular(Nf, NI, Roughness) +

k3d/share/shaders/k3d_indirect.sl:14:light k3d_indirect(output float __nonspecular = 1;)
k3d/share/shaders/k3d_leather.sl:37:	color specularcolor = 1;  	/* Specular reflection color     */

k3d/share/shaders/k3d_leather.sl:48:	float small_noise, blotch, speck, disp = 0, blackness;

k3d/share/shaders/k3d_leather.sl:49:	color cs, small_speckle, base_color, reflect;

k3d/share/shaders/k3d_leather.sl:66:	 * and patches of finely speckled red and green. These

k3d/share/shaders/k3d_leather.sl:72:	 * The constants T1 - T4 specify locations of the

k3d/share/shaders/k3d_leather.sl:89:	small_speckle = mix(red, green, BASE_GRC+

k3d/share/shaders/k3d_leather.sl:100:	                    small_speckle, small_speckle,

k3d/share/shaders/k3d_leather.sl:101:	                    small_speckle);

k3d/share/shaders/k3d_leather.sl:116:	#define BLOTCH_SPECK_COEFF 0.3  /* blotch specking coeff  */

k3d/share/shaders/k3d_leather.sl:127:	 * Set the brown specking.

k3d/share/shaders/k3d_leather.sl:129:	 * The apple has brown speckles on it, set by mixing

k3d/share/shaders/k3d_leather.sl:130:	 * using the speckling coefficient "speck". These

k3d/share/shaders/k3d_leather.sl:131:	 * specks are very dot-like in nature, and this

k3d/share/shaders/k3d_leather.sl:136:	#define SPECK_CUTOFF    .45   /*Cutoff for 'tops' of specks*/ 

k3d/share/shaders/k3d_leather.sl:137:	speck = pow(smoothstep(SPECK_CUTOFF, 1,

k3d/share/shaders/k3d_leather.sl:157:	cs = mix(cs, brown, speck);

k3d/share/shaders/k3d_leather.sl:164:	 * Here we set the surface normal to fix up the specular

k3d/share/shaders/k3d_leather.sl:166:	 * noise, affected a little by the brown specks, and

k3d/share/shaders/k3d_leather.sl:174:	#define DISP_SPECK_AMP    (1/40)   /* speckle disp. amplitude */

k3d/share/shaders/k3d_leather.sl:178:	disp -= speck * DISP_SPECK_AMP * txtscale / TSCALE;

k3d/share/shaders/k3d_leather.sl:211:	           specularcolor * (Kr * reflect +

k3d/share/shaders/k3d_leather.sl:212:	                            Ks * specular(Nf, V, roughness)));

k3d/share/shaders/k3d_lensflare.sl:48:/* Helper function: compute the aspect ratio of the frame */
k3d/share/shaders/k3d_lensflare.sl:50:aspectratio()
k3d/share/shaders/k3d_lensflare.sl:114:  uniform float aspect = abs(aspectratio());
k3d/share/shaders/k3d_lensflare.sl:118:  Pndc *= vector(aspect, 1, 0);
k3d/share/shaders/k3d_lensflare.sl:133:    Plight *= vector(aspect, 1, 0);
k3d/share/shaders/k3d_lunette.sl:12: *   which I believe has something to do with spectacles in French.  Hence the
k3d/share/shaders/k3d_lunette.sl:16: *   Ka, Kd, Ks, roughness, specularcolor - work like the plastic shader
k3d/share/shaders/k3d_lunette.sl:52: *                              respectively; expressed as a fraction of the
k3d/share/shaders/k3d_lunette.sl:137:	color specularcolor = 1;
k3d/share/shaders/k3d_lunette.sl:172:		specularcolor * Ks*specular(Nf,-normalize(I),roughness));
k3d/share/shaders/k3d_map_pattern_1.sl:17:color specularcolor = 1;
k3d/share/shaders/k3d_map_pattern_1.sl:69:C_temp1 = Os * (Cs * (Ka * ambient() + Kd * diffuse(Nf)) + specularcolor * Ks * specular(Nf, -normalize(I), roughness));
k3d/share/shaders/k3d_metal.sl:16:  Ci = Os * Cs * (Ka * ambient() + Ks * specular(Nf, V, roughness));
k3d/share/shaders/k3d_mondometal.sl:62:    color Csurf, Cspec, Copac, Cincand, Crefl;

k3d/share/shaders/k3d_mondometal.sl:64:    float ss, tt, roughness, diff, spec, bmp;

k3d/share/shaders/k3d_mondometal.sl:107:    /* determine specular */

k3d/share/shaders/k3d_mondometal.sl:110:        spec = abSpecular * float texture(abSpecularMap, ss, tt, 

k3d/share/shaders/k3d_mondometal.sl:117:        spec = abSpecular;

k3d/share/shaders/k3d_mondometal.sl:120:    /* determine specular color */

k3d/share/shaders/k3d_mondometal.sl:123:        Cspec = abSpecularColor * color texture(abSpecularColorMap, ss, tt,

k3d/share/shaders/k3d_mondometal.sl:129:        Cspec = abSpecularColor;

k3d/share/shaders/k3d_mondometal.sl:235:           (spec * Cspec * (specular(Nf, V, roughness) + Crefl) ));

k3d/share/shaders/k3d_mondometal.sl:240:            Ks * specular(Nf,-normalize(I),roughness));

k3d/share/shaders/k3d_noisysmoke.sl:40:  /* PRMan and BMRT used to have I reverse of each other, conflict in spec */
k3d/share/shaders/k3d_oakplank.sl:165:   * Less specular in the grooves, more specular in the dark wood. 
k3d/share/shaders/k3d_oakplank.sl:167:  float specadjusted = 1 + .3 * wood - 0.8 * (1 - inplank);
k3d/share/shaders/k3d_oakplank.sl:169:    MaterialShinyPlastic(Nf, Cwood, Ka, Kd, specadjusted * Ks, roughness,
k3d/share/shaders/k3d_oakplank.sl:170:			 specadjusted * Kr, blur, eta, 1, ENVPARAMS);
k3d/share/shaders/k3d_orange.sl:49:	Ci = Cs * (Ka * ambient() + Kd * diffuse (Nf)) + Ks * specular (Nf, V, roughness);
k3d/share/shaders/k3d_orennayar.sl:12: *   an especially accurate one for rough surfaces.  Truly rough surfacs
k3d/share/shaders/k3d_outlet.sl:71:	      ks * specular(Nf,-normalize(I),roughness));
k3d/share/shaders/k3d_paintedplastic.sl:13: *    Ka, Kd, Ks, roughness, specularcolor - the usual meaning.
k3d/share/shaders/k3d_paintedplastic.sl:23:	color specularcolor = 1.0;
k3d/share/shaders/k3d_paintedplastic.sl:46:	Ci = Oi * Cs * Ct * (Ka * ambient() + Kd * diffuse(Nf)) + specularcolor * Ks * specular(Nf, V, roughness);
k3d/share/shaders/k3d_parquet_plank.sl:11: *   Ka, Kd, Ks, specular, roughness - work just like the plastic shader
k3d/share/shaders/k3d_parquet_plank.sl:32:			  color specularcolor = 1;
k3d/share/shaders/k3d_parquet_plank.sl:160:	  specularcolor * Ks * specular(Nf, -normalize(I), roughness));
k3d/share/shaders/k3d_parquet_plank2.sl:12: *   Ka, Kd, Ks, specular, roughness - work just like the plastic shader
k3d/share/shaders/k3d_parquet_plank2.sl:46:	       color specularcolor = 1;
k3d/share/shaders/k3d_parquet_plank2.sl:154:	      specularcolor * Ks*specular(Nf,-normalize(I),roughness));
k3d/share/shaders/k3d_parquet_tile.sl:13: *   Ka, Kd, Ks, specular, roughness - work just like the plastic shader
k3d/share/shaders/k3d_parquet_tile.sl:61:	       color specularcolor = 1;
k3d/share/shaders/k3d_parquet_tile.sl:169:	      specularcolor * Ks*specular(Nf,-normalize(I),roughness));
k3d/share/shaders/k3d_plank.sl:9: *   Ka, Kd, Ks, specular, roughness - work just like the plastic shader
k3d/share/shaders/k3d_plank.sl:30:		  color specularcolor = 1;
k3d/share/shaders/k3d_plank.sl:148:	  specularcolor * Ks * specular(Nf, -normalize(I), roughness));
k3d/share/shaders/k3d_plastic.sl:11:		    color specularcolor = 1;
k3d/share/shaders/k3d_plastic.sl:16:  Ci = Os * (Cs * (Ka * ambient() + Kd * diffuse(Nf)) + specularcolor * Ks * specular(Nf, -normalize(I), roughness));
k3d/share/shaders/k3d_plastic2.sl:17:        color specularcolor = color (1,1,1))
k3d/share/shaders/k3d_plastic2.sl:24:         + specularcolor * Ks * specular(Nf, V, roughness));
k3d/share/shaders/k3d_projectionmap_plastic.sl:29:	color specularcolor = 1.0;
k3d/share/shaders/k3d_projectionmap_plastic.sl:62:	Ci = Oi * Cs * Ct * (Ka * ambient() + Kd * diffuse(Nf)) + specularcolor * Ks * specular(Nf, V, roughness);
k3d/share/shaders/k3d_redapple.sl:11: * for specific geometry, but can very easily be adjusted to fit any
k3d/share/shaders/k3d_redapple.sl:56:	color specularcolor = 1;  /* Specular reflection color     */
k3d/share/shaders/k3d_redapple.sl:65:	float small_noise, blotch, speck, disp = 0, blackness;
k3d/share/shaders/k3d_redapple.sl:66:	color cs, small_speckle, base_color, reflect;
k3d/share/shaders/k3d_redapple.sl:90:	 * and patches of finely speckled red and green. These
k3d/share/shaders/k3d_redapple.sl:96:	 * The constants T1 - T4 specify locations of the
k3d/share/shaders/k3d_redapple.sl:113:	small_speckle = mix(red, green, BASE_GRC+
k3d/share/shaders/k3d_redapple.sl:124:	                    small_speckle, small_speckle,
k3d/share/shaders/k3d_redapple.sl:125:	                    small_speckle);
k3d/share/shaders/k3d_redapple.sl:140:	#define BLOTCH_SPECK_COEFF 0.3  /* blotch specking coeff  */
k3d/share/shaders/k3d_redapple.sl:151:	 * Set the brown specking.
k3d/share/shaders/k3d_redapple.sl:153:	 * The apple has brown speckles on it, set by mixing
k3d/share/shaders/k3d_redapple.sl:154:	 * using the speckling coefficient "speck". These
k3d/share/shaders/k3d_redapple.sl:155:	 * specks are very dot-like in nature, and this
k3d/share/shaders/k3d_redapple.sl:160:	#define SPECK_CUTOFF    .45   /* Cutoff for 'tops' of specks */
k3d/share/shaders/k3d_redapple.sl:161:	speck = pow(smoothstep(SPECK_CUTOFF, 1,
k3d/share/shaders/k3d_redapple.sl:181:	cs = mix(cs, brown, speck);
k3d/share/shaders/k3d_redapple.sl:188:	 * Here we set the surface normal to fix up the specular
k3d/share/shaders/k3d_redapple.sl:190:	 * noise, affected a little by the brown specks, and
k3d/share/shaders/k3d_redapple.sl:198:	#define DISP_SPECK_AMP    (1/40)   /* speckle disp. amplitude */
k3d/share/shaders/k3d_redapple.sl:202:	disp -= speck * DISP_SPECK_AMP * txtscale / TSCALE;
k3d/share/shaders/k3d_redapple.sl:234:	           specularcolor * (Kr * reflect +
k3d/share/shaders/k3d_redapple.sl:235:	                            Ks * specular(Nf, V, roughness)));
k3d/share/shaders/k3d_roughmetal.sl:8: *   Ka, Kd, Ks - ambient, diffuse, specular weights
k3d/share/shaders/k3d_ruledpaper.sl:10: *   Ka, Kd, Ks, specular, roughness - work just like the plastic shader
k3d/share/shaders/k3d_ruledpaper.sl:37: *   patch 21x29.7 units or at least with an approximate aspect ratio. 
k3d/share/shaders/k3d_ruledpaper.sl:44:	color specularcolor = 1;
k3d/share/shaders/k3d_ruledpaper.sl:117:		// accurate, aspecty circles.
k3d/share/shaders/k3d_ruledpaper.sl:138:			specularcolor * Ks * specular(Nf, V, roughness));
k3d/share/shaders/k3d_rustymetal.sl:2: * rustymetal.sl -- metal with specks of rust
k3d/share/shaders/k3d_rustymetal.sl:94:      Cmetal = Cs * (metalKa*ambient() + metalKs*specular(Nf,V,metalroughness));
k3d/share/shaders/k3d_scartissue.sl:35:	 	(1-nz)*Ks * specular(Nf,V,roughness) );
k3d/share/shaders/k3d_screen.sl:11: *   Ka, Kd, Ks, roughness, specularcolor - work just like the plastic shader
k3d/share/shaders/k3d_screen.sl:25:		   color specularcolor = 1;
k3d/share/shaders/k3d_screen.sl:36:	      specularcolor * Ks * specular(Nf, -normalize(I), roughness));
k3d/share/shaders/k3d_screen_aa.sl:11: *   Ka, Kd, Ks, roughness, specularcolor - work just like the plastic shader
k3d/share/shaders/k3d_screen_aa.sl:31:		      color specularcolor = 1;
k3d/share/shaders/k3d_screen_aa.sl:79:	      specularcolor * Ks * specular(Nf, -IN, roughness));
k3d/share/shaders/k3d_sdixon.sl:33:	   one, the diffuse component goes to zero and the specular 
k3d/share/shaders/k3d_sdixon.sl:38:					ink*Ks*specular(Nf,V,roughness) ) ;
k3d/share/shaders/k3d_shadowdistant_rim.sl:13:    float __nonspecular = 1;
k3d/share/shaders/k3d_shifteddrtile.sl:10: *  roughness -  Contols the specular reflection
k3d/share/shaders/k3d_shifteddrtile.sl:17: *	specularcolor - color of specular highlight
k3d/share/shaders/k3d_shifteddrtile.sl:23: *      specifing the inner and outer ring.
k3d/share/shaders/k3d_shifteddrtile.sl:58:	uniform color specularcolor = 1;)
k3d/share/shaders/k3d_shifteddrtile.sl:101:	      specularcolor * Ks*specular(Nf,-normalize(I),roughness));
k3d/share/shaders/k3d_shiftedmoontile.sl:9: *  roughness - Contols the specular reflection
k3d/share/shaders/k3d_shiftedmoontile.sl:16: *	specularcolor - color of specular highlight
k3d/share/shaders/k3d_shiftedmoontile.sl:55:	uniform color specularcolor = 1;)
k3d/share/shaders/k3d_shiftedmoontile.sl:89:	      specularcolor * Ks*specular(Nf,-normalize(I),roughness));
k3d/share/shaders/k3d_shiny.sl:12: *        spawn rays.  This can be an important optimization, especially
k3d/share/shaders/k3d_shinymetal.sl:29:  Ci = Os * Cs * (Ka * ambient() + Ks * specular(Nf, -V, roughness) + env);
k3d/share/shaders/k3d_shinyplastic.sl:13: *        spawn rays.  This can be an important optimization, especially
k3d/share/shaders/k3d_skin1.sl:25: * xdir, angle = control the direction of the specular highlights.
k3d/share/shaders/k3d_skin1.sl:28: * xroughness,yroughness = how rough is the specular highlight on x and Y?
k3d/share/shaders/k3d_skin1.sl:54: * Greg Ward Larson's anisotropic specular local illumination model.
k3d/share/shaders/k3d_skin1.sl:75:  float nonspec = 0;
k3d/share/shaders/k3d_skin1.sl:76:  lightsource ("__nonspecular", nonspec);
k3d/share/shaders/k3d_skin1.sl:77:  if (nonspec < 1) {
k3d/share/shaders/k3d_skin1.sl:84:    C += Cl * ((1-nonspec) * cos_theta_i * rho);
k3d/share/shaders/k3d_skymetal.sl:44:		Ks * specular (Nf, -I, roughness)));
k3d/share/shaders/k3d_smoke2.sl:91:#else  /* PRMan and BMRT have I reverse of each other, conflict in spec */
k3d/share/shaders/k3d_softboxes.sl:51:/*      by  a,b and A,B for the inner and outer ellipses, respectively)	***/
k3d/share/shaders/k3d_softboxes.sl:300:    output varying float __nonspecular = 0;
k3d/share/shaders/k3d_softboxes.sl:330:    __nonspecular = NonSpecular;
k3d/share/shaders/k3d_spaceshiphull1.sl:21:	float roughness = 0.8; color specularcolor = 1;
k3d/share/shaders/k3d_spaceshiphull1.sl:27:  float ss, tt, splate, tplate, platespecular;
k3d/share/shaders/k3d_spaceshiphull1.sl:47:  // Add specular contribution
k3d/share/shaders/k3d_spaceshiphull1.sl:48:  platespecular = Ks * noise(splate + 0.6, tplate + 0.7);
k3d/share/shaders/k3d_spaceshiphull1.sl:53:  Ci = Os * platecolor * (Ka * ambient() + Kd * diffuse(Nf)) + specularcolor * platespecular * specular(Nf, V, roughness);
k3d/share/shaders/k3d_srfdeformation.sl:83:       specular or reflection maps if needed */
k3d/share/shaders/k3d_stones.sl:191:      Ks * specular(Nf,V,roughness);
k3d/share/shaders/k3d_superplank.sl:12: *   Ka, Kd, Ks, specularcolor, roughness - work just like the plastic shader
k3d/share/shaders/k3d_superplank.sl:56:			color specularcolor = 1;	/* Spec reflection color */
k3d/share/shaders/k3d_superplank.sl:113:  color Cspec;
k3d/share/shaders/k3d_superplank.sl:114:  float nonspec;
k3d/share/shaders/k3d_superplank.sl:203:   * 3. Ring and grain patterns, color and specularity adjustment.
k3d/share/shaders/k3d_superplank.sl:256:  /* Less specular in the grooves, more specular in the dark wood. */
k3d/share/shaders/k3d_superplank.sl:291:   * Have some subtle interaction between grain and specularity.
k3d/share/shaders/k3d_superplank.sl:299:  Cspec = 0;
k3d/share/shaders/k3d_superplank.sl:302:    nonspec = 0;
k3d/share/shaders/k3d_superplank.sl:303:    lightsource("__nonspecular", nonspec);
k3d/share/shaders/k3d_superplank.sl:304:    if(nonspec < 1)
k3d/share/shaders/k3d_superplank.sl:307:	Cspec +=
k3d/share/shaders/k3d_superplank.sl:308:	  Cl * ((1 - nonspec) *
k3d/share/shaders/k3d_superplank.sl:314:    adjustedKs * (specularcolor * Cspec);
k3d/share/shaders/k3d_superplank.sl:323:	    fresnelKr * specularcolor * texture(reflmap, xcomp(Pndc),
k3d/share/shaders/k3d_superplank.sl:327:	Ci += Ktrace * fresnelKr * specularcolor * trace(P, R);
k3d/share/shaders/k3d_superpplastic.sl:13: *    Ka, Kd, Ks, roughness, specularcolor - the usual meaning.
k3d/share/shaders/k3d_superpplastic.sl:22:			  color specularcolor = 1; string texturename = "";
k3d/share/shaders/k3d_superpplastic.sl:58:	  specularcolor * Ks * specular(Nf, V, roughness));
k3d/share/shaders/k3d_supertexmap.sl:11: *    Ka, Kd, Ks, roughness, specularcolor - the usual meaning.
k3d/share/shaders/k3d_supertexmap.sl:13: *    projection - specifies the projection type, one of "st", "planar",
k3d/share/shaders/k3d_supertexmap.sl:14: *                 "perspective", "cylindrical", "spherical".
k3d/share/shaders/k3d_supertexmap.sl:51:			/* specularity */
k3d/share/shaders/k3d_supertexmap.sl:87:  /* specularity mapping */
k3d/share/shaders/k3d_supertoon.sl:11: * reason why no border detection is allowed. Now with specular.

k3d/share/shaders/k3d_supertoon.sl:32:                        roughness = 0.5, /* specular roughness */

k3d/share/shaders/k3d_supertoon.sl:37:                  color specColor = 1;)

k3d/share/shaders/k3d_supertoon.sl:42:    color  especular = 0;

k3d/share/shaders/k3d_supertoon.sl:45:      especular = specular(Nf, -NI, roughness);

k3d/share/shaders/k3d_supertoon.sl:46:      especular = splitColor(especular, delta * 3, lim3, lim4, lim4);

k3d/share/shaders/k3d_supertoon.sl:54:    Ci = Os * (Cs * Kd * difusion + Ks * especular * specColor);

k3d/share/shaders/k3d_terran.sl:21:		   float spectral_exp = 0.5;
k3d/share/shaders/k3d_terran.sl:62:	  o *= spectral_exp;
k3d/share/shaders/k3d_terran.sl:70:      o = spectral_exp;
k3d/share/shaders/k3d_terran.sl:80:	  bumpy += snoise(tp) * min(weight, spectral_exp);
k3d/share/shaders/k3d_terran.sl:81:	  o *= spectral_exp;
k3d/share/shaders/k3d_terran2.sl:21: *    spectral_exp, lacunarity, octaves - control the fractal characteristics
k3d/share/shaders/k3d_terran2.sl:78:	  float spectral_exp = 0.5;
k3d/share/shaders/k3d_terran2.sl:121:	  o *= spectral_exp;
k3d/share/shaders/k3d_terran2.sl:128:      o = spectral_exp;  tp = Ptexture;
k3d/share/shaders/k3d_terran2.sl:136:	  bumpy += snoise(tp) * min (weight, spectral_exp);
k3d/share/shaders/k3d_terran2.sl:137:	  o *= spectral_exp;
k3d/share/shaders/k3d_terranbump.sl:17:displacement k3d_terranbump(float spectral_exp = 0.5;
k3d/share/shaders/k3d_terranbump.sl:40:	  o *= spectral_exp;
k3d/share/shaders/k3d_terranbump.sl:48:      o = spectral_exp;
k3d/share/shaders/k3d_terranbump.sl:58:	  bumpy += snoise(tp) * min(weight, spectral_exp);
k3d/share/shaders/k3d_terranbump.sl:59:	  o *= spectral_exp;
k3d/share/shaders/k3d_texblender.sl:17:     + Ks*specular(Nf,-normalize(I),roughness);
k3d/share/shaders/k3d_tooledsteel.sl:19: *  Ks			- coefficient of specular
k3d/share/shaders/k3d_tooledsteel.sl:23: *  specwidth		- the width of the specular stripe
k3d/share/shaders/k3d_tooledsteel.sl:25: *  specspread		- the spread of the specular stripe
k3d/share/shaders/k3d_tooledsteel.sl:32: *  specularcolor	- color of the specular hilight
k3d/share/shaders/k3d_tooledsteel.sl:89:anisospecular (vector VA; float specspread; float specwidth)
k3d/share/shaders/k3d_tooledsteel.sl:96:    float nonspec;
k3d/share/shaders/k3d_tooledsteel.sl:107:        nonspec = 0;
k3d/share/shaders/k3d_tooledsteel.sl:108:        lightsource ("__nonspecular", nonspec);
k3d/share/shaders/k3d_tooledsteel.sl:109:        if (nonspec < 1) {
k3d/share/shaders/k3d_tooledsteel.sl:113:	    pixbrdf  = specularbrdf(LN, Nf,V,specspread);
k3d/share/shaders/k3d_tooledsteel.sl:114:            C += Cl * pixbrdf * pow( 1-abs(VA.H), 1/specwidth );
k3d/share/shaders/k3d_tooledsteel.sl:129:		specwidth	= .5,
k3d/share/shaders/k3d_tooledsteel.sl:130:		specspread 	= .5,
k3d/share/shaders/k3d_tooledsteel.sl:134:	color	specularcolor	=  1)
k3d/share/shaders/k3d_tooledsteel.sl:166:	specularcolor * Ks * anisospecular(VA, specspread*2, specwidth*.1)) +
k3d/share/shaders/k3d_toonmap.sl:25:float paint_spec=0.0888; 
k3d/share/shaders/k3d_toonmap.sl:108:toonspec(vector N, V; float roughness)
k3d/share/shaders/k3d_toonmap.sl:121:float diff, spec;
k3d/share/shaders/k3d_toonmap.sl:145:/* specular -- transition also antialiased */ 
k3d/share/shaders/k3d_toonmap.sl:146:spec = toonspec(Nf, -normalize(I), roughness);
k3d/share/shaders/k3d_toonmap.sl:147:spec = smoothstep(paint_spec - paint_fuzz/2, paint_spec + paint_fuzz/2, spec);
k3d/share/shaders/k3d_toonmap.sl:149:layer_color = Cs*(Kd*diff*temt_c3 + Ka*ambient()) + temt_c4*Ks*spec;
k3d/share/shaders/k3d_translucency.sl:37:			color specularcolor = 1;
k3d/share/shaders/k3d_translucency.sl:127:	Ci = Ct * (Ka*ambient() + Kd*diffuse(Nf) + Kt*diffuse(-Nf)) + Ks*specular(Nf,V,roughness) + shiny;
k3d/share/shaders/k3d_uberlight.sl:62: *       respectively.  Values of 0 will make a sharp cutoff, larger
k3d/share/shaders/k3d_uberlight.sl:145: *       __nonspecular flag so that the shadowed regions are lit only
k3d/share/shaders/k3d_uberlight.sl:149: *   nonspecular - when set to 1, this light does not create
k3d/share/shaders/k3d_uberlight.sl:150: *       specular highlights!  The default is 0, which means it makes
k3d/share/shaders/k3d_uberlight.sl:156: *       diffuse(), specular() and phong() all do this, for PRMan 3.5
k3d/share/shaders/k3d_uberlight.sl:161: *   __nondiffuse - the analog to nonspecular; if this flag is set to
k3d/share/shaders/k3d_uberlight.sl:162: *       1, this light will only cast specular highlights but not
k3d/share/shaders/k3d_uberlight.sl:164: *       makes specular highlights, without affecting the rest of the
k3d/share/shaders/k3d_uberlight.sl:166: *       respect to the surface shader, as described above for
k3d/share/shaders/k3d_uberlight.sl:167: *       __nonspecular.
k3d/share/shaders/k3d_uberlight.sl:220: *        a,b and A,B for the inner and outer ellipses, respectively)
k3d/share/shaders/k3d_uberlight.sl:402:		     float nonspecular = 0;
k3d/share/shaders/k3d_uberlight.sl:403:		     output varying float __nonspecular = 0;
k3d/share/shaders/k3d_uberlight.sl:443:  __nonspecular = nonspecular;
k3d/share/shaders/k3d_uberlight.sl:519:	__nonspecular = 1 - unoccluded * (1 - __nonspecular);
k3d/share/shaders/k3d_urbermap.sl:43:color Csurf, Cspec, Copac, Cincand, Crefl;
k3d/share/shaders/k3d_urbermap.sl:44:float ss, tt, roughness, diff, spec, bmp;
k3d/share/shaders/k3d_urbermap.sl:90:spec = abSpecular * float texture(abSpecularMap, ss, tt,
k3d/share/shaders/k3d_urbermap.sl:96:spec = abSpecular;
k3d/share/shaders/k3d_urbermap.sl:102:Cspec = abSpecularColor * color texture(abSpecularColorMap, ss, tt,
k3d/share/shaders/k3d_urbermap.sl:108:Cspec = abSpecularColor;
k3d/share/shaders/k3d_urbermap.sl:201:Ci = Csurf * (Cincand + ambient() + diff * diffuse(Nf)) + (spec * Cspec * (specular(Nf, V, roughness) + Crefl));
k3d/share/shaders/k3d_veinedmarble.sl:10: *   Ka, Kd, Ks, roughness, specularcolor - same as plastic
k3d/share/shaders/k3d_veinedmarble.sl:36:			 color specularcolor = 1;
k3d/share/shaders/k3d_volcube.sl:146:/* shading function returns diffuse ans specular */
k3d/share/shaders/k3d_volcube.sl:152:		  output color spec;)
k3d/share/shaders/k3d_volcube.sl:157:    spec = 0;
k3d/share/shaders/k3d_volcube.sl:160:	spec += Cl * specularbrdf(L, Nf, V, Roughness);
k3d/share/shaders/k3d_volcube.sl:206:    color  spec = 0;
k3d/share/shaders/k3d_volcube.sl:250:		get_shading(Pcur,Nf,V,Roughness,diff,spec);
k3d/share/shaders/k3d_volcube.sl:252:	    cur_color = (cur_color * diff) + spec*(1,.8,.2);
k3d/share/shaders/k3d_wallpaper_2stripe.sl:12: *   specularcolor
k3d/share/shaders/k3d_water.sl:17: *    Ka, Kd, Ks, roughness, specularcolor - The usual meaning

k3d/share/shaders/k3d_water.sl:38:	color specularcolor = 1;

k3d/share/shaders/k3d_water.sl:86:		specularcolor * (ev + Ks*specular(Nf,-IN,roughness)));

k3d/share/shaders/k3d_wood2.sl:8: *   Ka, Kd, Ks, specular, roughness - work just like the plastic shader
k3d/share/shaders/k3d_wood2.sl:23:		  color specularcolor = 1;
k3d/share/shaders/k3d_wood2.sl:61:	  specularcolor * Ks * specular(Nf, -normalize(I), roughness));
k3d/share/shaders/k3d_woodcut.sl:45:illumcolor = (Ka*ambient() + Kd*diffuse(Nf) + Ks*specular(Nf,V,roughness));
