This page displays my technical breakdown of creating a fortune cookie and rendering with RIS in Renderman 19. Capturing the true essence of the cellophane wrapper is an interesting task. Also, the cookie itself can be a challenge.

Fortune Cookie rendered with RIS

(Left: Reference, Right: RIS Render)

(Left: RIS Scene, Middle: RIS Wrapper, Right: Maya Wireframe)

Breakdown Video:

HDR Process:

Download Montgomery Hall HDR

To incorporate the essence of my reference into my RenderMan scene I created an HDR. An HDR image is great to capture reflections and light sources from a reference location. My HDR captured the exterior of Montgomery Hall here at SCAD. I placed a 4inch chrome ball and took a photo at the position and angle as my reference. I used a 50mm lens to capture the HDR and used a 50mm focal length for my maya camera. After taking the HDR photo, I cleaned up the image with clone stamp tool in photoshop, imported the .psd in nuke, cropped the image to a 1:1 ratio, used "Spherical Transform" node in Nuke to create a panorama, change "Spherical Transform" output format to "latLong 2048 x 1024", and exported the image as a .HDR with a linear colorspace. In RenderMan, I created a RMSEnvLight and opened my file in the Environment image parameter.

(Left: Nuke "Spherical Transform" node, Middle: HDR photograph, Right: RMSEnvLight)

Texture Process:

Textures played a key role in my project. At the location where my reference photo was taken, my fortune cookie was placed on a metal garbage can. I took photos directly above the garbage can. In my PxrDisney shader, I used the garbage can texture file connected to the base color. For my fortune cookie, I took the photos of the cellophane wrapper and create a diffuse and alpha mask in photoshop. For my cellophane wrapper, I used a PxrLMGlass shader. I attached a PxrLMLayer inside the Overlay parameter, attached my alpha texture to the Layer Mask, and attached my diffuse texture to the Diffuse Color parameter.

RIS Problem Solutions:

Lowering the color gain in my Maya Textures may improve the final render. A plausible white should never be above 0.9 luminance in sRGB. Adding the RenderMan attribute for by wrapper shape node: Max Diffuse Depth & Max Spec Depth and setting both to 10 helped achieve better wrapper reflections. Clicking the checkbox for thin in my glass shader gave my wrapper a clear bright render; if unchecked the wrapper will be dark. Clicking the checkbox for caustics in the render settings allowed more brightness and visibility to my cookie composition.

Refractive Index settings within the clear coat of PxrLMPlastic:

(from left to right: Refractive Index 1.3, 1.9, and 2.8)

Render Statistics: RIS [Samples 16 min 256 max - Pixel Variance 0.13483] vs Reyes [Shading Rate 0.10 - Pixel Samples 8 x 8] (1920 x 1080):

Complete Scene - RIS - Time 00:13:08
Complete Scene - Reyes - Time 00:02:25
Cookie Solo - Ris - Time 00:05:24
Cookie Solo - Reyes - Time 00:00:55
Wrapper Solo - Ris - Time 00:05:05
Wrapper Solo - Reyes - Time 00:01:49
Empty Scene - Ris - Time 00:00:49
Empty Scene - Reyes - Time 00:00:16


RIS is now in development. Reyes is in maintanence mode. I am glad I have the opportunity to learn and optimize my renders with RIS. C++ is the programming language that is the backend of RIS. After I gain more C++ experience and skills I would love to development custom nodes or tools for RenderMan. This assignment gave me the opportunity to gain a better understanding of RIS. This is my first project with RIS, however I will use RIS for now instead of Reyes.