Custom Slim Node


To develop a custom Slim node, and produce geometric patterns procedurally.

slim temp v1.0006.0064copy


The geometric patterns on Crackle-Glazed Chinese Ceramics, or known to antique collectors as “Ge Ware”.


Research and Possible Solution

The Crackle-Glazed pattern shares the same feature as a Voronoi Diagram, which could be a possible solution to create this pattern procedurally using RSL and Slim.


Custom Slim Template

With the help of Cutter, I was able to create a custom slim template with parameters and user interface. The slim template was then imported into Slim as a custom node.

Here I embedded Pixar’s Worley node into the interface to create the Voronoi Diagram. The pattern was adjusted according to the reference images, using the values shown in the screenshot below.

Click here to see the full code

The following code was used to embed Pixar’s node into the interface, this can also be achieved using Cutter, by right click -> Parameters -> float -> inline.

    parameter float worl_input {
        label "Worley"
        description "No description."
        detail mustvary "pixar,Worley" inline

The default values of these Pixar’s node can be customized by adding the following TCL code:

msghandler {
       CreateConnection {
           set thisParam %obj
           set thisNode [$thisParam GetAppearance]
           set connectedNode [$thisParam GetConnectedFunction]
           set freqParam [$connectedNode GetProperties -name frequency]
           $freqParam SetValue 8
           set jitterParam [$connectedNode GetProperties -name jitter]
           $jitterParam SetValue 2            
           set c1Param [$connectedNode GetProperties -name c1]
           $c1Param SetValue 1.15        
           set c2Param [$connectedNode GetProperties -name c2]
           $c2Param SetValue -1.06                
           $thisNode UpdateEditor

Be careful of comments, since TCL and RSL have different comment styles. Also, there seems to be a problem with the embedded interface when loading the shader into slim, that the parameters will not refresh to the customized value until the user clicks to expande the interface.

Multiple Output

The custom slim node has multiple outputs, they are then connected to a GPSurface shader to control base color, subsurface tint and bump.


Other Renders



© Ziye Liu 2014