Side Effects PRISMS
PRISMS started as the in-house software of the canadian effects house omnibus in the 80s. when the latter broke down two employees bought the rights and founded their own company called side effects (short sesi).
as with many programs at that time commandline operation was a main factor and PRISMS was no different. it's not one single fat program as we have them today but a collection of many small and not so small ones. some of them do of course have a gui but at least all of the original functionality is completely available without any kind of graphical interface if you choose to use it that way. i mentioned the original functionality because over the years there was new stuff added and all of it as standalone programs. those however had a new look which should be familiar to all houdini users.
PRISMS ran on sgi and only there. it was delievered on tapes and never used irix' inst system. it required a fixed directory structure to some extend and quite some environment variables to be set. 5.3.2 was the first version to support irix5 just to give you a rough orientation. the support was limited tho as only 3 programs were affected. 5.5.x which i'll use for most parts of the review was still coff except for a small selection of programs.
what PRISMS (and later houdini) is famous for is the strictly procedural approach. unlike other programs where you just pick a point and drag it or apply some operation and done PRISMS has a "node" for it. just like shading networks but for everything. you're however not forced to do everything that way but can model in the "usual" way as well which brings us to the first section of the actual review ...
although PRISMS is a collection of many programs there's one that could be called central having the simple name action. in most cases action is as mentioned the central of your PRISMS adventures and takes care of saving project files, managing the scene, the objects and materials. you can also render directly from within action and put tons of commandline stuff to hopefully good use. there're 3 main parts:
no matter where you are you always have a small terminal running at the bottom and as mentioned before for every click you do there's also the matching command. you can write scripts and let them run, assign aliases, export a certain set of routines and call it later ... it's like having your own shell but only for graphics.
all operations are based on the scope. scoped objects are active and can be edited. scope however is independent from other flags like display or expose. objects can be grouped and then the groups can be used to change the scope of one or more objects at once.
most of the "settings" are defined by channels. those are animation channels but no matter if you have an animation or a still the channels are the one thing that controls most of the scene. if you wanna change the shadow intensity for example you'd edit the shadow channel of the light object or for different gamma settings for the renderer you'd edit the world object's gamma channel. there're of course also more basic things such as simple transformations. some channels can only be used with specific objects while some others can not be used with specific objects at all. by that you can even have multiple ways to move an object for example by using a transform sop but also some transform channels. further there's a bunch of neutral channels that can be customized for use with single parameters of sops in case you wanna animate them, too.
all sops have a "lock" and "bmot" button. bmot is the scene file type and pushing that button of a sop means that everything is saved with the scene file. that's handy for models you have loaded from external files but wanna save them with the scene from now on. it's also a nice way to decide if you wanna save external models with the scene or not which other programs don't offer. the lock button does just what it says: it locks the sop. that's required for example when you model something manually because then any change of the sop's values would make the manual edits void. it's also great for cutting large sop networks down. just hit the lock and bmot buttons, save the scene and then delete all previous sops.
all sops can be saved as geometry files so if you like you could save different stages of your sop network to external files. model mode offers the same and even more because you can save not only the object but also the current selection to file.
because later additions to PRISMS were external programs as mentioned earlier for some tasks there's more than one way. shaders for example can be declared by action's internal functionality or the later addition called lava.
this is the external, standalone material editor that has been added later. if you don't wanna use action's classic methods you can apply a .mat file to the objects in action. lava and action's shaders are exclusive i.e. you can't combine them it's either or.
lava is using the new gui all of the later added programs have. it's the same that has been used for houdini for quite some time until they came up with the major gui change in version 6.5 or something around that.
early lava versions were no different from action's shaders except that you could see the result right away. from version 2 onward the program's width was doubled and the right side could be used for texturing. by that it was a full replacement of action's classic menus and even offered some new features such as a separate texture positioner including an auto placement function.
it's also possible to use lava in sort of a hybrid mode i.e. connected directly to action and the shaders are not saved to separate files but everything is kept within action and the resulting bmot scene files.
lava has been introduced with PRISMS 5.3.
PRISMS comes with two renderers: crystal2 and mantra. crystal is the older, classic scanline renderer and i don't know anything about a version 1 nor if there ever was an elf version. it's fast and looks good but the usual scanline renderer limits apply.
mantra (short for manta ray) is the raytracer which also has more features than crystal yet still is quite fast. the release notes of PRISMS 5.3 state that the main focus has moved to mantra and that only mantra will be supported in the future. mantra images looked a bit more dry and cold compared to alias or softimage which as usual is neither good nor bad but a matter of taste and whatever suits each project. as mentioned mantra is fast, has smp support (more than 8 cpus since PRISMS 5.3.2), multiple levels of anti-aliasing, soft shadows and all the other common features a raytracer comes with.
both renderers can be fired up from either within action or if you create a so called ifd (instantaneous frame description) file you can use that for standalone use. unlike the alias sdl files for example an ifd does not contain all settings so you still have to use some parameters when running mantra or crystal independently. by default all produced images are stored as PRISMS' own "pic" file type. not to be confused with softimage's "pic".
PRISMS comes with proper renderman support by default.
the next generation, standalone modeler which comes quite close to what early houdini versions look like. it has two main windows; one with the sop network field, the sop settings and a small 3d viewport and another one which is basically one big modeling view. the feature set was not much enhanced compared to what's in action but everything wrapped up in the new gui and a few enhancements under the hood for some sops. a very cool feature that's still not available with many programs today is the ability to change the geometry type at any time. yup that's right you can switch from poly to nurbs and some others at will. in later versions of action sage was fully integrated by using the dedicated sage sop which however converted everything to polys no matter what the sage file used. just like in action every sop can be saved to a file but sage can also save that as different file types such as obj or the new bgeo type which has also been used for houdini later. one last neat thing of sage i wanna mention is the ability to import different file types directly which includes sdl files. that's particularly interesting because by that it's possible to exchange nurbs stuff which otherwise is very tricky or not possible at all.
using the camera in the big modeling view is a bit shaky and overall it isn't very fast. in terms of speed action is the easy winner.
the interactive compositing environment; a fully featured, resolution independent, network based compositor with 16-bit support. coming with all the common operations plus time warp and a separately licensed ultimatte plugin. a special further enhancement is the possibility to use the standalone terminal utilities just as a compositing operator (cop). even further extendable by the neat way of using other project files which are then processed in place sending the resulting output to the next cop.
ice has a nice selection of supported file formats including automatic loading of separate alias mask files from the mask dir relative to the rgb file's location. i mention that explicitly because using separate mask files is not so easy with many programs or not even possible at all. in case the final image has no need for an alpha channel the recommended format is rla since that omits the alpha channel in such cases which leads to smaller files.
speed wise ice is no hot candidate for an award but the high flexibility and versatility makes it a very good choice for many different tasks.
ice has been introduced with PRISMS 5.3.
further gui programs unless noted otherwise:
- fpaint (2d paint)
- fplay (player with extended options)
- jive (anim. channels for lava, sage etc.)
- moca (motion capture)
- mojo (morpher)
- redit (ramp editor)
- viewdata (geometry viewer)
- image toolkit (terminal programs)
- the bmot scene files are based on cpio which changed as of irix5. the new one caused problems so for a while PRISMS was shipped with the irix4 cpio optionally
- when interrupting a running task via ctrl+c action's terminal responds with a charming "Ouch!"
- the last PRISMS is 7.0
- some versions of mantra are mips1 despite having the R4K postfix
- the first letter of most standalone programs' names indicates the genre. e.g. g for geometry as in gsdl
- fpaint has been introduced with PRISMS 5.2.8 and required irix 4.0 or higher
as mentioned already it's a bit hard to describe what made PRISMS so special without having used it or something very similar but i have not yet seen another concept that has more potential. having at least shell scripting skills is mandatory for getting the most out of it and the free choice between using the command or pushing some buttons makes working very flexible and very efficient. e.g. if you wanna render a shadow pass you can assign the shadow matte shader to all objects with one command. how nice is that compared to clicking through 50 object's material settings in other programs.
PRISMS is exact. you can not only control everything via numbers but also use expressions and even custom functions in many spots which makes it ideal for any sort of simulation. no surprise then that PRISMS was a pioneer in terms of intergrated particle systems.
although i called it "simple" earlier action's modeler is very neat. it doesn't have tons of features but the ones it has are right on the spot. it shows that PRISMS started as in-house software in which case the features aim to make sense and be practical instead of having some show off stuff for the next sales show. navigating the viewports is much more solid than in many other programs.
i often consider having multiple programs instead of one fat one an advantage. especially for larger scenes this is very nice because you can separate single elements without having to hide or template or whatever the rest.
a very neat feature is the adjustable geometry culling for the viewports in action. that's priceless for fat models because unlike using a bounding box you still have the original shape but at just a fraction of the load.
the hidden line display rocks and so does the anti-aliasing. combining these two gives a kick-ass wireframe image which you can even save to files when animated.
enough talk, let's see the pics