Renderman .rib File Control

This project was a study and exercise into the Renderman rendering engine. All of the work completed, modeling, texturing, materials, and rendering, was all done through pure code manipulation of the .rib renderman files, no interface besides a text box, that are read directly by the renderman engine. A special thanks to my teacher Malcolm Kesson.

I was rather happy with the rendering of the final image. Modeling of course is pretty tough to do in this method but getting the materials right was definitely one of the harder things to do purly due to the lack of options. Having no GUI for material creation made it rather tough to keep track of various textures and material options and connections. This made it rather tough to balance out different problems like differences in color and specularity. I also seemed to completely forget about various options that were extremely important like specular type (Artistic or Physical).

Compared to the reference, the image is pretty spot on. I picked these teapots due to their straightforward design. You can break up the object into much more basic objects, mainly cylinders and toruses. Not only that, but since they are all the same teapot, all I would have to do is model one and then copy the code over and over and changing higher level attributes on that code to translate the entire object or change the material.

The geometry was quite a grind to get through but a very interesting experience. Constructed from basic primitives (hyperboloid, disk, torus, and cylinder) the hardest part was to blend inbetween these harsh primitives. Some of these harsh meetings of geometry was smoothed with the interior side of a torus that was only about 15-20 degrees shown to be seen as more of a bevel than a harsh line. Each piece of geometry had to be hard coded in with all specific values on each individual parameter. Here's a quick snippet of how to create the very bottom base of the teapot.

The materials for these tea pots are rather straight forward, it was more of a subtle balance between diffuse and specular values. Once the values were established the same material was used with changes to color values. Color values were not always representational as the color rendered was typically lighter due to the specular nature of the material and the brightly lit scene.

The lighting was extremely annoying to create due to the lack of an interface. The main lighting is done by an HDR on a dome light with a subtle fill that creates a nice highlight followed by a nice light contrasting orange rim light. A lot of tweaking was needed to get them perfectly placed, however it was absolutely worth it, the lighting came out perfectly.