Author archive for

Stefano is a shader writer and td at Pumpkin-3D, Paris. He previously served Lumiq Studios, Softimage, Phoenix Tools and Action Synthese. He has been working with mental ray since its first release in Softimage 3D.



Constant passes without constant materials

February 19th, 2010 by Stefano Jannuzzo. Viewed 1556 times.

Recently we had to face this interesting problem: extracting a constant pass out of an arbitrarely complex rendertree. In short, we received scenes set up for rendering, with a given number of passes and channels already set up. However, we needed an extra constant pass which was not planned in advance.
The rendertrees have all kinds [...]

Previewing Shadowmaps

July 6th, 2008 by Stefano Jannuzzo. Viewed 1911 times.

It is sometimes desirable to be able to check the shadow maps look.
Since XSI does not allow for shadow maps paths, this is how you can do (a ray3 standalone license is required).
After setting up a shadow mapped light, export a single frame archive (mi2) ascii file.
Edit the file with a text editor, and look [...]

Bump Filtering in the Rendertree

May 24th, 2008 by Stefano Jannuzzo. Viewed 3100 times.

The current bump node (formerly known as zbump) became very popular for its simplicity, and for its ability to get procedural textures as inputs.
However, it has some limitations, for instance not supporting texture pre-filtering, and the fact that its spacing is expressed in world coordinates instead of uv coordinates like the old node. This leads [...]

Render Tree-Gonometry

March 13th, 2008 by Stefano Jannuzzo. Viewed 7010 times.

After so many years, Xsi still does not ship any basic trigonometric functions like sine and cosine. Although they are very easy to code for a shader writer, it is, however, possible to dig them out of the existing nodes.
This is an example of how sometimes you can write a phenomenon just to downgrade a [...]

FCurves As Shading Tools…

March 29th, 2007 by Stefano Jannuzzo. Viewed 5901 times.

Let’s look at a short technique that will allow you to export any custom function curve or scripting math function to a texturable node to be used in the rendertree.
Let’s get a curve
We start by taking a poly strip, with a 100×1 subdivisions. This will be our “drawing” table. We then make a cluster of [...]