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_paintedplastic.sl < prev    next >
Encoding:
Text File  |  2008-01-23  |  993 b   |  40 lines

  1. /* paintedplastic.sl - Standard texture map surface for RenderMan Interface.
  2.  * (c) Copyright 1988, Pixar.
  3.  *
  4.  * The RenderMan (R) Interface Procedures and RIB Protocol are:
  5.  *     Copyright 1988, 1989, Pixar.  All rights reserved.
  6.  * RenderMan (R) is a registered trademark of Pixar.
  7.  *
  8.  * DESCRIPTION:
  9.  *    Apply a texture map to a plastic surface, indexing the texture
  10.  *    by the s,t parameters of the surface.
  11.  *
  12.  * PARAMETERS:
  13.  *    Ka, Kd, Ks, roughness, specularcolor - the usual meaning.
  14.  *    texturename - the name of the texture file.
  15.  *
  16.  */
  17.  
  18. surface k3d_paintedplastic(
  19.     float Ka = 1;
  20.     float Kd = .5;
  21.     float Ks = .5;
  22.     float roughness = .1;
  23.     color specularcolor = 1;
  24.     string texturename = "";
  25.     )
  26. {
  27.     color Ct;
  28.  
  29.     if(texturename != "")
  30.         Ct = color texture(texturename);
  31.     else
  32.         Ct = 1;
  33.  
  34.     normal Nf = faceforward (normalize(N), I);
  35.     vector V = -normalize(I);
  36.     Oi = Os;
  37.     Ci = Os * (Cs * Ct * (Ka * ambient() + Kd * diffuse(Nf)) + specularcolor * Ks * specular(Nf, V, roughness));
  38. }
  39.  
  40.