home *** CD-ROM | disk | FTP | other *** search
- /* spotlight.sl - Standard spot light source for RenderMan Interface.
- * (c) Copyright 1988, Pixar.
- *
- * The RenderMan (R) Interface Procedures and RIB Protocol are:
- * Copyright 1988, 1989, Pixar. All rights reserved.
- * RenderMan (R) is a registered trademark of Pixar.
- */
-
- light k3d_spotlight(float intensity = 1;
- color lightcolor = 1;
- point from = point "shader"(0, 0, 0);
- point to = point "shader"(0, 0, 1);
- float coneangle = radians(30);
- float conedeltaangle = radians(5);
- float beamdistribution = 2;)
- {
- float atten, cosangle;
- uniform vector A = normalize(to - from);
-
- illuminate(from, A, coneangle)
- {
- cosangle = (L.A) / length(L);
- atten = pow(cosangle, beamdistribution) / (L.L);
- atten *=
- smoothstep(cos(coneangle), cos(coneangle - conedeltaangle), cosangle);
- Cl = atten * intensity * lightcolor;
- }
- }
-