Open shading language

This web page displays the results of using the custom made shader with RIS rendering

What goes around comes around! As we conclude the final assigment, I decided to conclude the story of Jack too. Since the boy smashes Jack and rips him apart in the first scene, he now feels the pinch as he looks at the mess. A table lamp appears in the scene indicating that the boy now wishes to work on fixing Jack so that Jack can go back to scaring people.

What goes around comes around


OSL lights up Jack

RIS rendering using custom shader


The OSL file was used to generate a rib file. That was then used to create .tcl and .mel files respectively. A RIB box is added to the shader in Maya and the .mel file is run via the script editor. That helps to seamlessly integrate the custom shader into RIS rendering.

Pattern "PxrManifold2D" "PxrManifold2D1"
        "float angle" [0]
        "float scaleS" [1]
        "float scaleT" [1]
        "float offsetS" [0]
        "float offsetT" [0]
        "int invertT" [1]
        "string primvarS" [""]
        "string primvarT" [""]
        # "PxrManifold2D1:result"     uses->|struct|manifold| 
        # "PxrManifold2D1:resultS"     uses->|float| 
        # "PxrManifold2D1:resultT"     uses->|float| 
    Pattern "PxrOSL" "Heart2" "string shader" "Heart"
            "float scale" 1
            "float xs" 0.5
            "float ys" 0.5
            "float swap" 0
            "color backcolor" [1 1 1]
            "color heartcolor" [1 0 0]
            "reference float inputS" ["PxrManifold2D1:resultS"]
            "reference float inputT" ["PxrManifold2D1:resultT"]
    Bxdf "PxrDisney" "PxrDisney1"
            "reference color baseColor" ["Heart2:result"]
            #"reference float presence" ["Heart2:mask"]
            "color emitColor" [0 0 0]
            "float subsurface" [0]
            "color subsurfaceColor" [0 0 0]
            "float metallic" [0]
            "float specular" [0.5]
            "float specularTint" [0]
            "float roughness" [0.25]
            "float anisotropic" [0]
            "float sheen" [0]
            "float sheenTint" [0.5]
            "float clearcoat" [0]
            "float clearcoatGloss" [1]
            "normal bumpNormal" [0 0 0]
            "int inputAOV" [0]

Conclusion- Learning and exploring Renderman has been an interesting journey. I am looking forward to test my new ideas with Renderman and see how they turn out.