home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 11 / 11.iso / m / m470 / 1.ddi / RMAN / CGREFMAP.SL < prev    next >
Encoding:
Text File  |  1990-11-12  |  595 b   |  24 lines

  1. /* @(#)cgrefmap.sl    1.2    (CryslatGraphics Inc.)    11/12/90 */
  2. /* Reflection Map shader for CrystalGraphics RIB files */
  3. surface
  4. cgrefmap (float Ka=1, Ks=1, Kr = 1, Kd = 1, roughness=.1;
  5.         string texturename = "";)
  6. {
  7.     point Nf, D, V;
  8.     color Cr,Cx,Cy;
  9.  
  10.     Nf = faceforward(normalize(N), I) ;
  11.     V = normalize(-I);
  12.  
  13.     if (texturename != "") {
  14.     Cr = Kr * color texture(texturename);
  15.     } else {
  16.     Cr = Cs;
  17.     }
  18.  
  19.     Oi = Os;
  20.     Cy = Os * Cs * (Ka*ambient() + Kd * diffuse(Nf));
  21.     Cx = Cy + (1 - Cy) * Ks * specular(Nf,V,roughness);
  22.     Ci = Cx + (1 - Cx) * Cr;
  23. }
  24.