CPSC 809: Rendering and Shading

Spring 2015


Click the grey project heading to expand or collapse content.
Project 8: Final Project: Carousel Horse5/1/2015
This purpose of this project was to get familiar with the RenderMan Shading Language. For this, I shaded and rendered a Carousel Horse using mental ray and maya shaders. Then I tried to replicate the horse using custom renderman shaders. I used the sources listed below to understand and get started with RSL.

Shader Global Variables Tables
Writing and Compiling a Simple Shader
Writing Surface Shaders

I wrote a fairly simple shader using examples from sources mentioned above. It has blend capabilities, ambient, diffuse and specular components. Multiple parts of the horse use the same shader with varied parameter values. The basic code for the shader is here

Mental Ray


Project 7: The Bedroom4/22/2015

Final Submission

For this project I focused a lot on interior lighting and using image textures for different surfaces. Strangely, the scene did not have any groups or hierarchies instead every bunch of objects was a single mesh. For example; all the cabinets were a single mesh. This made things a lot more difficult to shade. I started off with the bed and the pillow. for these I simply used a lambert with image textures and very slight bump to give it a cloth feel. Next, I used the same technique with the comforter but for the bump I used the image pattern below. This gave it a really nice stitching pattern like feel.

Comforter Stitching Texture




For the poster, I simply used images above (source google) and the wall is a lambert. I used an image for the floor as well. Although, I had to replace the floor already in the scene with a flat plane since the texture did not line up with the floor very well and there was too much gap between the planks in the floor. All the cabinets and side tables use a polished wood texture attached to a blinn's color channel and also to its bump channel. The texture is below.

Polished Wood

For a lot of the objects, I used mia_material_x mental ray shader. I simply started with the presets and tweaked them until I got the result I wanted. The bedside lamp and the chair are glossy finish material. Same is true for the guitar, except for the neck which used a wood texture. The glossy plastic preset was used for the heater on the wall and the laptop on the chair. The knobs on the side tables, guitar strings and the spring on the night lamp all use the chrome material preset. The night lamp is little different. It used a glossy preset along with the mental ray lighting surface material attached to its additional color channel to give it the glow. There were a few other settings I had to tweak to make it glow, the final gather contribution on the material and the intensity of the glow and also the accuracy of the final gather to make it less grainy. I used this instead of the regular glow on Maya material as this make it look as if the glow is coming from the object instead of just giving a glowing aura around the object. The guitar amp uses the same technique as the cabinets and tables on the exterior. It uses a crack plastic texture for both color and bump. The grill however is just an gril image texture with greyish color gain.
For the plastic on the bottle and the lid and straw of the fountain soda cup, I used a Phong E with transparency and a slight bluish specular to make it look plastic-ky.
I close up of the amp and the bottle can be seen below along with the first version of the project.

First submission

Bedroom images

Project 6: Advanced Rendering4/1/2015

Final Submission

This project involved dealing with caustics and using refractive and material to make jewels. To shade this scene most of the materials used were mental ray materials.
The gold shader was the first thing I worked on. I tried using a blinn material with ramps and noise because it was going to be used for a lot of objects and hence increasing the render time. Although, the blinn worked well but I could not get the right specular highlight for it to look realistic. So, I started with the copper preset for the mia_material_x shader and tweaked the colors a bit. This worked really well. I used the same shader for the coins but added a blinn with a bump map (show below) to get a better highlight and a bump. For the silver, I used the same mia_material_x shader but with the chrome preset and tweaked the settings to get a nice smooth silver shade.

Coin Bump Map

All the gems in the scene use the mental ray dielectric_material. This worked really well especially for the diamonds. I tried using the same for the lamp glass but it was clear for that. I also tried the thick and thin glass presets but all those were giving a weird liquid like effect to the lamp. Eventually I ended up using a glass image mapped on to it with transparency. I also gave it the refractive index of glass to make it look realistic.
The pearls and the topaz are simple maya shaders to save up on rendering time and also because they did not need any complicated shading.
The velvet on the crown and the table use a shader downloaded from the web.

First Submission

Project 5: Surfacing3/4/2015
The goal of this project was to explore procedural texturing and UV mapping in Maya using a fruit bowl model. The fruit bowl model was taken from challenge number 1 on 3drender.com. I used more of procedural texturing than UV mapping due to the number of NURBS objects in the scene.
I started by exploring the type of objects in the scene and what all needed changes. The scene contained meshes, polygons and NURBS, hence was very hard to decide on one single way to shade all the fruits.
The fruits that could be textured using procedural texturing and graph networks in Maya were shaded first. Example: Plums, Orange, Cherry and Pear. I used the plum texture tutorial for the plums and the pear.
Next, I used mental ray's msss_fast_simple shader to texture the grapes. It took me a while to get the right radius for setting up scattering. I tried a lot of different positions for the key light to get just the right color. Also, the key light color shade is a little blue, this prevents the scene from looking hyperreal.
Lastly, I started converting NURBS to polygons for UV mapping. The first object I converted was the apple leaf. As it turns out the conversion created way too many quads and made it a whole lot difficult to create its UV maps, but I somehow got it to work. Moving on to converting and UV mapping the apple itself and the banana, the process became way too tedious and the conversion created way too many quad faces to deal with. Hence, I decided to take advantage of the NURBS and used square texture images form the web to lay on the objects. For example, the banana is actually textured using a ramp shader but the middle shade is a textured image. A screenshot of the graph network for the banana shader is given below. I use the same technique for the apple. The only other thing I created UV maps for was the table cloth.

Banana Texture Graph Network

The textures used are show below.

Apple Texture

Apple Leaf UV Image

Banana Texture

Cloth UV Image

A render of the results can be seen below.

First Render

For final touch-ups, I did an Ambient Occlusion pass on the image. The AO pass and the final render can be seen below.

Ambient Occlusion Pass

Final Render

Project 4: Basic Lighting and Surfacing2/18/2015
The purpose of this project was to explore lighting and surfacing in Maya. The model of a Wacom stylus on a table top was provided for the same.
I started off by creating separate materials for different parts of the stylus. The button, tip and the eraser use the same glossy type of a material. For the grip, I wanted to give it a rubbery texture so I used a Phong E material with minimal noise added as bump map. Then I used a simple Phong for the other non-grip half of the stylus.
Also, I used a Blinn with high reflectivity for the seam and the ring to give it a chrome sort of finish. Lastly, a layered shader was used for the nib.
I tried to play around with lighting and setup a 3-point light but the final render wasn't anywhere close to what I wanted (image below). So, I ended up using the two lights that were setup in the scene.
I did make a few changes to the intensities and to make the glossy and chrome texture a little more specular I changed the decay to linear.

Image with 3-Point Light

Final Result

Project 3: Ray Tracer2/13/2015
This project involved implementing a ray tracer with reflection, anti-aliasing using super-sampling and spherical inverse mapping.
Results obtained for each feature are displayed separately along with the final result.


Anti-aliasing using super sampling

Spherical Inverse Mapping

Final Result