FUNCTIONS



AMBIENT

Click box to see full description


This function returns a color.  OUT = CS*Ka*ambient()
The color is the sum of the contributions of all ambient light sources
multiplied by the co-efficient Ka and the surface color CS. 
refer to page 315 in the RenderMan Companion.

DIFFUSE

Click box to see full description


This function returns a color.
The color is the sum of the diffuse reflection for all light sources
multiplied by the co-efficient Kd and the surface color CS.
OUT = CS * Kd * diffuse(faceforward(normalize(NN),I)).
refer to page 316 in the RenderMan Companion.

SPECULAR

Click box to see full description


This function returns a color.
The color is the sum of the specular reflection for all light sources
multiplied by the co-efficient Ks and the highlight color HI.
OUT = HI * Ks * specular(faceforward(normalize(NN),II),normalize(-II),rgh).
refer to page 317 in the RenderMan Companion.

SPECULARBRDF

Click box to see full description


This function returns a color, which is the specular attenuation 
of light coming from the direction L, reflecting toward direction V, 
with surface normal N and roughness rough. This is the same nonstandard
reflection model found in PRMan's specular() function. 
It is multiplied by the co-efficient Ks and the highlight color HI.
refer to the RenderMan Shading Language Extensions for 3.7.

PHONG

Click box to see full description


This function returns a color.
The color is the sum of the contributions of all the light sources
on the surface multiplied by the co-efficient and the surface color.
OUT = CS * Kd * phong(faceforward(normalize(NN),II),II,exp).
refer to page 316 in the RenderMan Companion.

REFLECT

Click box to see full description


Returns a point which represents the direction of the reflected ray.
refer to page 328 in the RenderMan Companion.

REFRACT

Click box to see full description


Returns a point which represents the direction of the transmitted ray.
refer to page 328 in the RenderMan Companion.

FRESNEL

Click box to see full description


This function returns the fraction of reflected light Kr,
the fraction of refracted light Kt, the direction of the
refracted ray R and the direction of the transmitted ray T.

LUMINENCE

Click box to see full description


This is function takes a color C and returns the luminence value.
Luminence is calculated by averaging the components of the color.
The reutrn value is a float = (R + G + B)/3.

TEXTURE

Click box to see full description


This function returns the color and opacity, if any,
found in the texture map file MAP at location (S,T).
WS and WT may be used to enhance the filtering.
refer to pages 320-321 in the RenderMan Companion.

TEXTURE8

Click box to see full description


This function returns the color derived from
the area in the texture map file MAP defined by
the corners (S1,T1), (S2,T2), (S3,T3) and (S4,T4).
refer to pages 320-321 in the RenderMan Companion.

ENVIRONMENT

Click box to see full description


This function returns the color in 
the environment map MAP from the direction of R.
refer to page 323 in the RenderMan Companion.

ENVIRONMENT4

Click box to see full description


This function returns the color in the environment map MAP 
filtered from the region defined by direction vectors: P1, P2, P3, P4.
refer to page 323-324 in the RenderMan Companion.

SHADOW

Click box to see full description


This function returns a color.  SHD = C*Kr*shadow(MAP,PP);
It gives the extent the point PP is in shadow;
where 1 is completely shadowed and 0 is completely exposed.
This value multiplied by the co-efficient and the shadow color.
Refer to page 324 in the RenderMan Companion and the Pixar
PhotoRealistic RenderMan Application Node #15.

SHADOW4

Click box to see full description


This function returns a color.  SHD = C*Kr*shadow(MAP,P1,P2,P3,P4);
It gives the extent the area defined by P1, P2, P3 and P4 is in shadow;
where 1 is completely shadowed and 0 is completely exposed.
This value multiplied by the co-efficient and the shadow color.
Refer to page 324 in the RenderMan Companion and the Pixar
PhotoRealistic RenderMan Application Node #15.

AUTOMAP

Click box to see full description


This function uses the normal to the surface to do a planar projection.
The projection is performed with (UU,VV) equal to (0,0) at the point O.
UU runs along the vector specified by Y and VV runs along the vector 
perpendicular to both Y and the normal to the surface. For surfaces
which are perpendicular to Y, a reasonable guess at "up" is attempted.
N.B.: this only works well on faceted surfaces (polygonal or bilinear).

CUBICMAP

Click box to see full description


This function returns UU and VV, the coordinates for cubic mapping.

CYLINMAP

Click box to see full description


This function returns UU and VV, the coordinates for cylindrical mapping.
The central axis is along Z.
The point on the equator where (UU,VV) equals (0,0) is at the X axis.

PLANEMAP

Click box to see full description


This function returns UU and VV, the coordinates for orthogonal mapping.
The projection is performed as if the texture was placed with point O
representing (UU,VV) = (0,0) and UU running along X and VV running along Y.
The map is then projected parallel to itself onto the surface.

SPHEREMAP

Click box to see full description


This function returns UU and VV, the coordinates for spherical mapping.
The north pole is on Zaxis.
The point on the equator where UU equals 0 is mapped is at the X axis.

TOPOLAR2D

Click box to see full description


This function converts a 2D point (S,T) to polar coordinates:
the radius R and the angle THETA.

TRIPLANAR

Click box to see full description


This function returns UU and VV, the coordinates for triplanar mapping.

BIAS

Click box to see full description


Input X is raised to log(B)/log(0.5).

BILERP

Click box to see full description


This functon returns float which is a bilinear interpolation
between the four corners (S1,T1,S2,T2) in texture space 
to the given point (U,V) in parameter space.

GAIN

Click box to see full description


If X is less than 0.5, 
the output is twice X raised to log(1-GAIN)/log(0.5) divided by 2;
otherwise the output is 2 minus twice X raised to log(1-GAIN)/log(0.5),
divided by 2 and subtracted from 1. Basically a fancy contrast function.

ILLUMINATE

Click box to see full description


This function calls the illuminate function.
POS is the position of the light. 
DIR controls the direction of the light.
ANG controls the cone angle for the light.
LGT is the light color.
The closeit box must be used to finish the statement.
refer to page 306 in the RenderMan Companion.

SOLAR

Click box to see full description


This calls the solar function.
DIR controls the direction of the light.
ANG controls the cone angle for the light.
LGT is the lightcolor.
The closeit box must be used to finish the statement.
refer to page 306 in the RenderMan Companion.

CLOSEIT

Click box to see full description


This closes a light color construct.

NONDIFFUSE

Click box to see full description


This box adds the __nondiffuse flag to a light shader's parameter list.
If the FLAG is set to 1, the light will be ignored by the 
diffuse function of any material interacting with this light.
Please refer to the RenderMan Shading Language Extensions.

NONSPECULAR

Click box to see full description


This box adds the __nonspecular flag 
to a light shader's parameter list.
If the FLAG is set to 1, the light will be ignored by the 
specular function of any material interacting with this light.
Please refer to the RenderMan Shading Language Extensions.

DOARRAY

Click box to see full description


This operation box is the beginning of a loop which is used to
allow operations on the values of each component of the input array.

FINISHARRAY

Click box to see full description


This operation box closes the loop atarted with doarray.
These two operation boxes are used to allow operations 
on the values of each component of the input array.
The result from this operation box is the new array.

CONCAT

Click box to see full description


Concatenates two or more strings into a single string.

FORMAT

Click box to see full description


Does a formatted string creation under the control of pattern PAT.
This function is similar to the C function printf.

PRINTF

Click box to see full description


Prints the values of variables.. insert this box between two connections
you want to monitor.
Be sure to connect BOTH the input AND output to SOMETHING.

PRINTFARRAY

Click box to see full description


Prints the values of arrays.. insert this box between two connections
you want to monitor.
Be sure to connect BOTH the input AND output to SOMETHING.

PRINTFARRAYOFSTRING

Click box to see full description


Prints the values of arrays.. insert this box between two connections
you want to monitor.
Be sure to connect BOTH the input AND output to SOMETHING.

PRINTFSTRING

Click box to see full description


Prints the values of variables.. insert this box between two connections
you want to monitor.
Be sure to connect BOTH the input AND output to SOMETHING.

ATMOS

Click box to see full description


Access the value of parameter PARM in the atmosphere shader
attached to the geometric primitive that is currently being shaded.
This permits a shader to customize it's behavior based on it's
knowledge of what the atmosphere shader will do with that parameter.
The datatype of the output OUT must be the same as that of PARM
in the atmosphere shader.  If PARM is not found, then the output
is set to the default value DVAL.
Parameters to a shader typically cannot be modified by the shader,
therefore this box is useful to peek at the parameter value passed
into the atmosphere shader.  This box can also be used to peek at
a value that the atmosphere shader has calculated by making the
parameter an output parameter using the keyword "output" on it in 
the atmosphere shader.  The atmosphere shader can write a value to
an output parameter, thus making calculated results available to
other shaders.  Also, by making the parameter an output varying
parameter using the keywords "output" and "varying", the atmosphere
shader can write different values for every sampled point.  By
default all parameters to a shader, including output parameters are
uniform, not varying.
The order in which shaders get executed will affect the value of
an output parameter of a second shader before the second shader has
had a chance to execute, then the value of the output parameter will 
not be the computed value.  Shaders are executed in the following
order: displacement, light, surface, atmosphere.

DISPL

Click box to see full description


Access the value of parameter PARM in the displacement shader
attached to the geometric primitive that is currently being shaded.
This permits a shader to customize it's behavior based on it's
knowledge of what the displacement shader will do with that parameter.
The datatype of the output OUT must be the same as that of PARM
in the displacement shader.  If PARM is not found, then the output
is set to the default value DVAL.
Parameters to a shader typically cannot be modified by the shader,
therefore this box is useful to peek at the parameter value passed
into the displacement shader.  This box can also be used to peek at
a value that the displacement shader has calculated by making the
parameter an output parameter using the keyword "output" on it in 
the displacement shader.  The displacement shader can write a value to
an output parameter, thus making calculated results available to
other shaders.  Also, by making the parameter an output varying
parameter using the keywords "output" and "varying", the displacement
shader can write different values for every sampled point.  By
default all parameters to a shader, including output parameters are
uniform, not varying.
The order in which shaders get executed will affect the value of
an output parameter of a second shader before the second shader has
had a chance to execute, then the value of the output parameter will 
not be the computed value.  Shaders are executed in the following
order: displacement, light, surface, atmosphere.

LIGHT

Click box to see full description


Access the value of parameter PARM in the lightsource shader
attached to the geometric primitive that is currently being shaded.
This permits a shader to customize it's behavior based on it's
knowledge of what the lightsource shader will do with that parameter.
The datatype of the output OUT must be the same as that of PARM
in the lightsource shader.  If PARM is not found, then the output
is set to the default value DVAL.
This box is only valid within illuminance blocks.
Parameters to a shader typically cannot be modified by the shader,
therefore this box is useful to peek at the parameter value passed
into the lightsource shader.  This box can also be used to peek at
a value that the lightsource shader has calculated by making the
parameter an output parameter using the keyword "output" on it in 
the lightsource shader.  The lightsource shader can write a value to
an output parameter, thus making calculated results available to
other shaders.  Also, by making the parameter an output varying
parameter using the keywords "output" and "varying", the lightsource
shader can write different values for every sampled point.  By
default all parameters to a shader, including output parameters are
uniform, not varying.
The order in which shaders get executed will affect the value of
an output parameter of a second shader before the second shader has
had a chance to execute, then the value of the output parameter will 
not be the computed value.  Shaders are executed in the following
order: displacement, light, surface, atmosphere.

SURF

Click box to see full description


Access the value of parameter PARM in the surface shader
attached to the geometric primitive that is currently being shaded.
This permits a shader to customize it's behavior based on it's
knowledge of what the surface shader will do with that parameter.
The datatype of the output OUT must be the same as that of PARM
in the surface shader.  If PARM is not found, then the output
is set to the default value DVAL.
Parameters to a shader typically cannot be modified by the shader,
therefore this box is useful to peek at the parameter value passed
into the surface shader.  This box can also be used to peek at
a value that the surface shader has calculated by making the
parameter an output parameter using the keyword "output" on it in 
the surface shader.  The surface shader can write a value to
an output parameter, thus making calculated results available to
other shaders.  Also, by making the parameter an output varying
parameter using the keywords "output" and "varying", the surface
shader can write different values for every sampled point.  By
default all parameters to a shader, including output parameters are
uniform, not varying.
The order in which shaders get executed will affect the value of
an output parameter of a second shader before the second shader has
had a chance to execute, then the value of the output parameter will 
not be the computed value.  Shaders are executed in the following
order: displacement, light, surface, atmosphere.

FORLOOP

Click box to see full description


This function generates a fractal pattern: murky
This is primarily a template for generating fractal pattern boxes.
PP   is the point used to seed the noise function.
FQ   is the frequency for the noise.
IT   is the number of iterations through the loop.
INC  is the increment for the loop counter.
SCL  is the divisor for the noise function on each iteration.
MULT is the divisor for SCL on each iteration.

© Copyright 1996,1998 Cinema Graphics Inc. All Rights reserved.