home *** CD-ROM | disk | FTP | other *** search
/ Hackers Magazine 57 / CdHackersMagazineNr57.iso / Software / Multimedia / k3d-setup-0.7.11.0.exe / share / k3d / shaders / surface / k3d_crayontoon.sl < prev    next >
Encoding:
Text File  |  2008-01-23  |  974 b   |  29 lines

  1. /* crayonToon.sl Ver. 1.0 Felipe Esquivel
  2.  * Abril 2002    <felipe@siggraph.org.mx>
  3.  * 
  4.  * Este shader es un constant con un poco de difusion,
  5.  * hay que escoger con cuidado ambos colores para obtener
  6.  * el estilo deseado. Mi intencion fue hacer un color dependiente
  7.  * del otro pero es mejor dejar al usuario esa eleccion. 
  8.  *
  9.  * This shader is a constant with little diffusion, 
  10.  * choose wisely both colors to obtain the crayon look. My
  11.  * idea was to make one color dependable of the other but is
  12.  * better to let the user change this.
  13.  */
  14. surface k3d_crayontoon(color colorBase = color(1, .92, .44),
  15.                          colorSombra = color(1, .81, .37);
  16.                    float eta = 1.3,
  17.                          Kd = .33;)
  18. {
  19.   float Kr1, Kt1;
  20.   vector Nf = normalize(N);
  21.  
  22.   fresnel(normalize(I), faceforward(Nf, I, Nf), 1/eta, Kr1, Kt1);
  23.   if(Kt1 > 1) Kt1 = 1;
  24.  
  25.   Ci = Os * (mix(colorBase, colorSombra, Kt1) + Kd * Kt1 * diffuse(Nf) * colorBase);
  26.   Oi = Os;
  27. }
  28.  
  29.