SLander 0.6 (c)I Stephenson - 2000 This the a BETA release of SLander - a runtime for SL. Slander should be able to run most shaders compiled with BMRT's slc (v2.5). There are still a number of limitations (see below) but this release should be able to handle most shaders pretty well. Because SLander is not dealing with geometry, it runs far faster than a full renderer would, and hence is ideal for previewing shaders. Using the -w option it's also pretty handy for generating 2D images, and textures. You can preview a number of shaders applied in turn simply by passing them as arguments: slander dented.slc plastic.slc fog.slc They're run in the order they're entered. You can pass parameters to a shader by appending them to the name slander plastic.slc:roughness=0.2:specularcolor=1,0,0 Under NT, user ; rather than : to seperate the parameters. The options are -r100 Sets the resolution of the render -w[filename] Writes the image to a file. The default is out.tiff -d Force display (which is normally suppressed by -w) -s/-S generate and display the shader on a sphere -v Verbose mode - print's information on shaders as they're run -b150 set the maximum bucket size. -g2.2 set gamma correction As of release 0.3, SLander allows shaders to be run over spheres as well as planes. This however potentialy requires twice as much work to be done, as both the front and back faces of objects may require shading. If it is known that the shader is opaque (or the back face is not of interest) only the front of the sphere need be evaluated. -s generates only the front face, while -S calulates the whole sphere (reguardless of whether it is displayed). When using SLander for 2D work (as opposed to previewing), it is common to require large images to be renderered. As of 0.4, SLander will partition a render to avoid excessive memory use. The default maximum bucket size is 150, so shouldn't interfere with previewing. To disable bucketing, the size should be set larger (rather than equal to) the resolution, as an extra pixel is now rendered around all images to aid in the calculation of derivatives. Ideally, the resultant image should be automatically gamma corrected by your windowing software (which of course you've calibrated to match your monitor and lighting), but of course this doesn't always happen. NT in particular produces very dark results. There are now two gamma correction mechanisms available. Under NT the image will automatically be gamma corrected when SLander displays it to the screen - the default value is 2.0, but this can be changed by setting the environment variable GAMMA (see the web site). The -g option gamma corrects the actuall data so applies to saved images also The -S geometry may appear incorrectly when this option is used. The -g option alone sets a gamma value of 2.2. You can use slander from within Houdini by using the hSLander shellscript. Place hSLander, and SLander in your path, then from the textport source SLander.cmd (which sets up an output driver). The SLander output will then preview the texture on the selected object. hSLander uses the rib file search path attribute to find shaders ($SHADER is used as the default path "&"). SLander itself requires an exact filename. Remember SLander runs SLC's so ideally all shaders should be compiled for BOTH prman and BMRT (see the web page for achieving this atomatically for Houdini shaders). This release includes freeBSD, Irix, OpenStep (68K) and WIN32 binaries. I've started using SLander for "real" shader development, and 2D image processing, hence the BETA designation. As far as I can tell it's appoaching completion, but as with all software I can accept no responsibility for its performance and behaviour. This release may used without charge, on an as is basis provided you inform me of who you are, and provide feedback on how its being used. ian@dctsystems.freeserve.co.uk http://www.dctsystems.freeserve.co.uk NEW IN 0.6 RELEASE Improved Fresnel Improved noise function Improved derivatives Gamma correction of display under win32 Display driver for OpenStep and NT Many bug fixes over 0.5 NEW IN 0.5 RELEASE Fix bug in Phong (introduced in 0.4) Increased precison of calculations (maybe) New memory layout - should improve cacheing performance. Add radians and degree functions Add fmix,sign, ctransform, numerous other new functions for BMRT2.5 Improved handing of HSV colourspace Support for non-constant (but still uniform) strings. NEW IN 0.4 RELEASE NT Support (non)Verbose Mode: -v flag Bucketing (support for large renders in multiple passes) Ng variable added (though it always equals N, as we're shading primitives) Gamma correction depth() works (more) correctly dPdu, dPdv, ncomps(=3), alpha(=1), time(=0) variables added. texture should handle channels, and parmlists slightly better. environment mapping clamp works on colour operands Major redesign of data structures to fix a problem with point(x,y,z) and improve performance NEW IN 0.3 RELEASE Generation of shading for spheres (-s/-S). Fix bug in specular illumination illumination has been tweaked to better illustate the new geometries. Shaders without params should now be handled correctly ftop instruction added (assign's float to a point - not used much!) Bounds checking in texture function. Basic Anti-Aliasing in texture function. A primitive implementation of cellnoise (largely untested). NEW IN 0.2 RELEASE Spline/ColorSpline HSV colours Phong lighting model (mainly for use by Houdini) area() now operates according to the standard area ( point P )=length( Du(P)*du ^ Dv(P)*dv); rather than the bogus definition in Upstill refract - note however this is simply a GEOMETRIC function it doesn't have anything to do with actually being able to trace the refracted ray. I haven't found anything which actually uses this function! -w and -f flags TIFF support for texture, and saving of output. hSLander now picks up search path and SHADERS env variable Improved error handling, and support for BUFFY KNOWN LIMITATIONS The display code only implements bumping, and not true displacement. texture functions ignores any parmeter list arguments NOT IMPLEMENTED IN THIS RELEASE: Light Shaders Matrices and arrays dso shadopes The TIFF I/O library used by SLander is: Copyright (c) 1988, 1989, 1990, 1991, 1992 Sam Leffler Copyright (c) 1991, 1992 Silicon Graphics, Inc. The RenderMan (R) Interface Procedures and RIB Protocol are: Copyright 1988, 1989, Pixar. All rights reserved. BMRT is (c) Copyright 1990-1999 by Larry I. Gritz. All Rights Reserved. RenderMan (R) is a registered trademark of Pixar.