Amber Evans
​​​~ Effects Artist ~
This website is old, please visit amberevansvsfx.com for my new site.
RIB Wrangling
~Kettle Assignment~
For this project, I was given the task of creating an original teapot in Cutter.
As stated by Malcolm Kesson:
"The purpose of this assignment is to provide a context in which you can learn the basics of Pixar's 3D scene description language - generally referred to as Rib (RenderMan Interface Bytestream). You are to model, shade and light an interesting 3D composition directly as a Rib file using a text editor. The use of interactive software such as Maya or Houdini is not permitted. The principle model in your scene will be be a kettle. "
Basically I had to model, texture and light a teapot using Cutter. The catch was that I had to use RIB Archvies, which I have never done before.
For more information about Cutter, visit http://fundza.com/index.html for more details.
Final Beauty Shots
My first final render has a projection of 30 and the second final render has a projection of 20. With each projection, I had to change the translate z.
Models & Inspirations
The picture, Teapot 01, was my main inspiration for this project. After learning how to use cutter and the limits of the geometry given, I just did my own thing and my final teapot came to be.
Textures
For the brick wall, I used a displacement map of the same texture and a "float Km" of 0.04. I did not have to change any of the "st" for my texture maps. Although, in the beginning before I settled on these textures, I did test out other textures and played with the "st" coordinates.
RIB Snippets
Teapot Body:
AttributeBegin
ReadArchive "materials/shiny_pot.rib"
TransformBegin
Attribute "identifier" "name" ["Pot"]
Color 1 1 1
Translate 0 1 0
Rotate 90 1 0 0
Scale 1 1 1.5
Sphere 1 -0.3 0.8 360
TransformEnd
AttributeEnd
Teapot Sprout:
AttributeBegin
ReadArchive "materials/shiny_pot.rib"
TransformBegin
Attribute "identifier" "name" ["Spout"]
Color 1 1 1
Translate 0.8 1.4 0
Rotate 180 0 1 0
Rotate 180 1 0 0
Rotate 180 0 1 0
Scale 1 1.5 1
Torus 0.6 0.1 0 360 90
TransformEnd
AttributeEnd
Parts of my code:
Brick Wall:
# txmake -mode periodic ../tiffs/brick_02.jpg ../textures/brick_02.tex
"string displacementMap" ["brick_02.tex"]
"float Km" 0.04
Wood Countertop:
"string surfaceMap" ["wood_01.tex"]
"float specularGain" 3.5
Bouce Light # 1
TransformBegin #BounceLight
Translate 8 -1 -7
Rotate 90 0 1 0
Rotate -90 1 0 0
Rotate -15 0 1 0
ReadArchive "cutrAxes.rib"
Scale 15 15 1
LightSource "ppAreaLight" "bouncelight" "float intensity" 0.8
TransformEnd
Cup Body:
AttributeBegin
ReadArchive "materials/shiny_pot.rib"
TransformBegin
Attribute "identifier" "name" ["Pot"]
Color 1 1 1
Translate 2 .55 0
Rotate 90 1 0 0
Scale .5 .5 .75
Sphere 1 -0.3 0.8 360
TransformEnd
AttributeEnd
Bottom of Cup:
AttributeBegin
ReadArchive "materials/shiny_pot_top.rib"
TransformBegin
Attribute "identifier" "name" ["Bottom_of_Cup"]
Color 1 1 1
Translate 2 0.501 0
Rotate -90 1 0 0
Rotate -180 0 1 0
Scale 1 1 1
Disk 0.5 0.35 360
TransformEnd
AttributeEnd
Left Wall: (*NOTE: The "int transmission" is 0 so the bouce light can go through it and hit the teapot and cups.)
AttributeBegin #Left Wall
ReadArchive "materials/shiny_wall.rib"
Attribute "visibility" "int specular" [1] "int diffuse" [1] "int transmission" [0]
Attribute "trace" "int maxdiffusedepth" [1] "int maxspeculardepth" [2]
Scale 10 10 1
Translate 0 0 -4.5
Rotate 90 1 0 0
Polygon "P" [-0.5 0 -0.5 -0.5 0 0.5 0.5 0 0.5 0.5 0 -0.5]
"st" [0 0 0 1 1 1 1 0]
AttributeEnd
Teapot Placement:
AttributeBegin #Teapot
Translate 2 -0.01 -1.7
Rotate -55 0 1 0
ReadArchive "TeaPot3.rib"
AttributeEnd
Sideways Cup Placement:
AttributeBegin #Side cup
Translate -2 0.5 -0.5
Rotate 90 1 0 0
Rotate 45 0 0 1
ReadArchive "cup_side.rib"
AttributeEnd
Depth of Field
Using Depth of Field in Cutter was a lot easier than I thought it would be. With just a small command of DepthOfField and only three numbers made the usually hard to understand DOF really, really simple.
For my first shot, I focused on the teapot.
The code: DepthOfField 2.7 1.8 2
For my second shot, I foucsed on the sideways cup.
The code: DepthOfField 7.2 1 5
Animation
For the animation, I wanted to rotate the camera to get different angles of the teapot and cups. In order to save render time, I made the animation at 720 by 480.
Conclusion
In the end, I really enjoyed using Cutter. I think of it as "easy" coding. Figuring out what geometry would work for my teapot was fun, and at first it was a lot of "hit or miss". Texturing was the funnest part of this project. I don't usually like to texture, but it was very simple in Cutter and I found that I liked finding different textures and seeing which ones would work the best. The least thing I enjoyed was lighting, because I do not like lighting at all. Nevertheless, I understand the importance of RIB Archives and now have the ability to use them whenever necessary.