shadec shadfile.slShadeC will produce an object file with the name of the shader and no extension. ShadeC can take an optional parameter -I followed immediately by a path to be searched for header files #included in the shader.
Siren supports most of the shading language constructions found in the
Renderman Standard and most of the extensions added by other renderers.
Supported extensions include vectors, normals, matrices, and arrays.
The following functions are not yet supported:
| ptlined | format | concat |
| match | determinant | surface |
| displacement | atmosphere | attribute |
| option | textureinfo | rendererinfo |
There are also important differences and limitations in the way some
functions are implemented. In particular, derivatives are interpreted
in a non-standard way.
For the common use of derivatives to generate feature widths for anti-aliasing, this gives the desired result. E.g.,
fwidth=abs(Du(e)*du)+abs(Dv(e)*dv);
is a good estimate of how much e changes between shading samples.
This implementation of derivatives will obviously cause problems for shaders that expect Du() or Dv() to actually be aligned with their respective parametric axes. Shaders that rely on the length of du or dv also won't work properly.
An exception is made for dPdu and dPdv, which are always smooth estimates of the change in P along the u- and v-axes respectively.
For questions or comments regarding this document, email: jiverson782@earthlink.net