Sunday, November 8, 2009

Final Year Project (FYP) Blog

I'm now onto my final year project in my school. I'm required to make an animated short. My main focus on that would be look development, lighting and rendering.

This is the address:

All my development work, from concept to completion, for that project will be posted on that blog. My personal works will still be posted here.


Monday, November 2, 2009

Procedural Displacement

I was messing around with displacement shaders using mental Ray when I decided to test it out by creating a rough rocky mountain texture.

So I went onto creating a NURBS plane and sculpting it briefly to block out the shape.


I created a displacement shading network. I mostly used 3D textures provided by Maya and had them interconnected.


I set up the mental Ray physical sun with final gather turned on. When I did my first test render, the displacement did not show up correctly. So I went to the approximate editor to increase the displacement quality. Boy, the render time was expensive!! Roughly 20 minutes. Here’s the result.


Saturday, October 17, 2009

Neon & Chrome Update

I updated the shading to tone down the reflectivity. I also added the poster textures. And for a test render, I added a few area lights with quadratic decay as the tube lights, two spot lights for the car headlamps, one over soft bluish fill light and rendered with final gather. Again, it’s a rough piece:


I need more colors in the scene. Right now, it looks very desaturated and dull and the focal point is not established correctly in the scene.

Friday, October 16, 2009

Neon and Chrome Challenge


So I finally finished the fruit bowl scene which was modeled by Dan Wade. The original image is uploaded here. Comments are critiques are most welcome.

With the fruit bowl challenge done, I decided to work on another one of Jeremy Birn’s lighting challenges on – Neon and Chrome. The challenge can be found here. This scene is modeled by Christophe Desse and Matthew Thain.

So the first thing I did was to UV map the pieces of geometry which were going to have texture details. Next, I moved onto creating the procedural textures for the walls and the pavement.


002This is what I have so far. The car has a car paint shader applied to it. Also at the moment, everything else has a blinn shader applied to them and the surface properties have not yet been tweaked. I also finalised my camera placement before I started UV mapping. I decided to light quickly and turn on final gather to see what the render would look like roughly. Here’s the result:

trialThe only texture that is hand-painted using Photoshop is the road texture. Everything else is procedural. The reflections and other surface properties definitely need tweaking. I’ll continue to work on the textures further tomorrow.

Saturday, October 10, 2009

Fruit Bowl Almost Complete

I had time yesterday to work on the fruit bowl scene. I created several passes for the render - key light pass, fill light pass, rim light pass, global illumination (GI) pass, z-depth pass and an occlusion pass. I also decided on my render composition size. I wanted an extremely wide composition. All the objects in the scene are procedurally shaded, except for the bump map on the leaf which was painted using Photoshop.

For the keylight pass, I had one directional light casting yellowish sunlight with slightly harsh shadows.

For the fill light pass, I had about 46 spot lights in a dome casting soft blue light with soft shadows.

For the rim light pass, I isolated the fruits only and placed a spot light behind them. I also had it adjusted to show off the subsurface scattering on the grapes.

For the GI pass, I had three spotlights emitting GI photons only from different directions at the fruit bowl. I had also enabled final gathering to achieve better results.

This is the ambient occlusion pass.

And this is what the final result looks like. I added fog and a vignette to bring focus to the fruit bowl.

However, I wouldn't call this done because of one minor mistake:

One of the cherries is floating above the plate. This was pretty frustrating. I should be able to be done by tonight.

Sunday, September 27, 2009

Adjusting lights on Fruit Bowl

I received feedback from a friend of mine about the shaders - banana texture looked too stretched and the cherry reflections looked too sharp. So I worked on these shaders and finished up the rest of the undone ones.

So now that I've got my shaders all set-up procedurally, I was changing and revising my light set-up. I made the shadows of my key light softer and reduced the intensity of my dome of fill lights. Here's the before and after comparison:



The shadow quality is still not there as you can see that they are noisy and jittery. Since this was going to be an outdoor scene, I was thinking of having the shadows of trees and leaves be cast on the scene - as if this bowl of fruits was laid on a picnic mat.

Hence, I plugged a noise texture into the light as a gobo to cast an irregular pattern on the fruits. Also, I removed my keylight, which was the directional light, and replaced it with a spot light. I made it emit photons for global illumination to work and here's the result for now:

The shaders definitely need some tweaking. There;s too much color bleeding from almost every fruit, especially the apple.

This is it for now. I plan to refine the lighting and shaders much more.

Friday, September 25, 2009

Fruit Bowl - All Procedural Textures

I decided to texture this entire scene procedurally to see how closely I can match the textures of the object to that of the real world. Hence, I removed the banana bitmap texture and created a procedural shader for it from scratch. Then, I made a shader for the cloth as well. Right now, it's pretty simple, but I blocked in the basic colors.

Here's the shading network for all the procedural shaders in the scene:

Also, I decided to change the lighting. I removed the HDRI globe. I created a directional light and adjusted the parameters so that the fruits can be take the best possible form with the shading and shadows.

After that,  I created a dome of about 45 spotlights covering the scene and set that to cast a soft blue fill light.

I then rendered the scene, which took me 8 min 50 sec to render, without any final gathering or global illumination. Here's the result:

The scene looks a little overexposed. Some of the shadows are still too harsh and some things in the scene have yet to be shaded.

I plan to work on adding indirect illumination through global illumination later on after I complete shading every single object in the scene.

Tuesday, September 22, 2009

Shading Grapes using Subsurface Scattering

I made a shader for the grapes. Done procedurally with subsurface scattering.

To see the subsurface scattering in effect, I placed two spotlights, one at the back and one at the front of the bunch of grapes. It took me quite some time to get the look right as this is my first time doing subsurface scattering. But in the end, this result satisfied me for the time being. Here's the shading network:

And here's the scene update with the rest of the fruits and backdrop with the same lighting set-up of one spot and one HDRI dome:

Now that I've gotten the shader of the grapes somewhat there, I think I would be more confident on handling the shader for the cherry. A lot of the objects in this scene would be procedurally shaded, hence I was thinking if it would be a good idea to shade everything procedurally, including the bananas and highlight that on my reel.

More later. Feedback and critiques are welcome. Do email them to me.

Monday, September 21, 2009

Bowl of Fruit - Lighting Challenge from Jeremy Birn (

School work has finally finished and I'm having a short break, hence I'm working on my lighting reel.

I came across this website,, owned by Jeremy Birn, the author of the book, Digital Lighting and Rendering. He hosts lighting challenges on the site for people to download the scenes/models and practice their lighting on. So I decided to download the oldest challenge, the bowl of fruits.

Modeled by Dan Wade

I thought this scene would be a good start to practice my lighting and shading on. Hence, I started to shade the models. I first started with the bananas. They were NURBS, in fact, most of the scene is NURBS. So I converted them to polygons and started to do the UVs. After which, I went downstairs to eat a banana and take photographs of the banana skin for use as textures.

After I handled the banana, I moved on to shading the apple. This was done procedurally. I then did the pear, which was also done procedurally. The pear was a polygon, so I converted it into a NURBS surface and then started shading it. This made my texturing process a lot easier. Here's the shading network for the apple and the pear:

Just to see the kind of look I was getting, I plugged in a HDR, added a spotlight and rendered with mental ray. Here's the result:

If anyone has any feedback on this, please write to me so that I can try to improve the shaders. Also, the cloth texture is a placeholder.

More later.

Thursday, September 17, 2009

Warrior - School Assignment

This is what I did for my school assignment. Maya and mental Ray. Based on a character sketch I did. Took 25 mins to render. NO post-processing. I was supposed to use ZBrush to add some details to the armor, but I did not have time.

Tuesday, September 15, 2009

New Portfolio Site

I set up a new portfolio site:

This site will contain my best works. Of course this blog will still be in progress.


Thursday, September 3, 2009

Melons - Edited

I received feedback that some of the melons were floating. And the shadows were a little too blotch due to final gathering. Hence, I fixed the floating melon and increased the final gathering quality and the point density. It took me 1 hr 15 min and 45 sec to render just the beauty image.

Wednesday, August 26, 2009

Melons - Complete

I changed the camera resolution and angle to get a better view. I also changed the dark green stripes to be even darker. I changed the orientation of some of the melons for a better composition. When I was satisfied, I rendered them in four layers:

I composited all the passes in Fusion. I felt I was loosing the contrasty feeling in the image, hence I color corrected it slightly to get that feel. Depth of field was also added to enhance composition and focal point. Image uploaded here. Comments are most welcome :)

Tuesday, August 25, 2009

Melon Shader Update + Render

I decided to work more on my melon shader and expanded the network. Here's what it looks like:

Basically, I added more variation to the patterns and somemore overlays on the dark green stripes.

Next, I thought that since I was going to do a tutorial on how to make this shader, I figured it would be good if I did a nice render for the front page. Hence, I created a scene filled with water melons of shapes and different sizes and placed them on the floor. I adjusted the shader properties to get the look and feel of a melon surface.

Once I had my rough composition, I decided to light up the scene. This time, I used a HDRI dome as the key light rather than fill. I added another spot light to act as a fill from the front since the bottom half of the melons would fall under shadows. This helped, but it was still dark. Hence, I added another spotlight and light-linked it to only the melons and not the floor. I rendered in 3 passes and composited them in Photoshop. Here's the test:
3 Render Passes composited with a vignette - No other post-processing
I'm pretty satisfied with this image. I did not want to light it evenly as I wanted to maintain some contrast in the image. The floor was also procedurally textured. From feedback, I realised that I need to make my dark green stripes a little darker. Also, I was thinking if I should re-work on my composition and do a higher-res rendering.

Sunday, August 23, 2009

Melon Shader

Been a long time since I updated this blog, due to internet access.

So anyway, my school requires me to create a tutorial on some advanced aspect of animation. So I was thinking if I could do a tutorial on creating a watermelon shader procedurally. I was very inspired from a book on RenderMan that I have and it shows how to write a watermelon shader from scratch using code. ( Name of the book is The RenderMan Shading Language Guide by Don Rudy Cortes and Saty Raghavachary)

Though I don't want to code, I thought it would be interesting to cover the importance of procedural textures and the Maya hypershade and shading networks. So I looked up for a few reference images and started to work on creating a shader right away. Here's the result:

And here's the shading network for the above melon:

The current layers I have in the shader are: (from bottom-most, a noise layer, veins, dark green stripes and some fractal bump-mapping which looks over-used) I also added a ramp to create the poles of the model dark and black.

This is not a complete shading network. I plan to add a lot more to the network to bring out the subtle details of a melon. I was also thinking of exploring subsurface scattering, but at a much later stage if time permits.

Monday, August 3, 2009

Sci Fi Robot

Well, so I was having a pretty boring Sunday, so I decided to do something. I was searching online for some pre-modeled scenes to practice my lighting on when I came across

From here, I downloaded the sci-fi scene, modeled by Juan Carlos Silva. I tried a few lighting schemes, but I wasn't too happy with it. I planned a pre-visualised a camera move, but it wasn't turning out too good. Then I realised why everything wasn't working - I did not have any focus in mind. There's no point lighting a scene without a focus. And since a robot was included in the scene, I thought why not make that the main focus?

Thus, I planned a short animation sequence in my mind, for which I needed to rig the robot. I began. This was the first time I rigged something which was organic, non-organic and moved on wheels all at the same time. It was a very challenging procedure, especially because I wanted the robot to have a very cartoony appearance.

Robot in its default rest position

Robot with first pose test

Robot with second pose test

I paid a lot of attention to rigging the wheels because I felt that since it had no legs, the wheels would be very important in conveying emotions.

That's it for now. This took me pretty much half a day. I have yet to paint the skin weights.

Robot and rest of the sci-fi model: Juan Carlos Silva from

Tuesday, July 28, 2009

Interrogation Room

So I finally did some lighting on an interior scene created by someone else. In this case, Naf, my classmate, made the models and textures for this scene and the layout was done by her too. I requested her if I could do the lighting on it and she agreed fortunately! :)

So I got started. I knew that I wanted to give this place an uncomfortable feel, hence I chose my color palette and decided to start lighting. I also did a simple camera animation with some changes in focal length as I wanted to play around with the depth of field in post.

I used final gathering. Also, I felt the need to render the scene in different layers as the chair in the foreground wasn't getting enough backlight and my focal point was being affected. Hence I added a spotlight and rendered the chair as a separate element. I also added a zdepth pass for compositing depth blur in post.

After the render (using mental Ray), I brought everything to Fusion and composited everything. I animated the lens flare by hand, but after a while, it got tedious and it wasn't so accurate either. So, I motion tracked the last few frames of the shot and had the lens flare follow the track. The tricky part in this whole compositing process was of course to animate the depth of field effect.

Here's the final footage:
(if the video below is being cut off, please visit to view it.)

Monday, July 20, 2009


I decided to do dedicate something to my girlfriend, and I had this idea of two rings. This is not the final image. I plan to work on it more to tell a story by adding more elements and working on the lighting to give the mood and feel.

Modeled in Maya. The textures are 4K each for the ring because I wanted the quality to be pristine. The diamonds need a little work though. Rendered using mental Ray. No post-processing done as yet - pure render spat out from the renderer.

Saturday, May 30, 2009

Toon Rendering

Recently one of my school projects required me to do a short animated film in a group. My role in the team was modeling/lighting/texturing/rendering/compositing. The film was basically done by animating characters traditionally and the backgrounds in 3D. To have a consistency in style, a stylized look for 3D rendering was required. Hence, I began my research in toon shading using Maya. I faced a few problems such as lighting and getting the shadows right, but I fixed most of them.

This car was modeled by my friend, Gregory Poon. I constructed the set, did the mountains background in Photoshop and rendered everything using Maya software. Finally, everything was composited in Fusion. The original clip has camera shake, which I did using an expression to randomly offset the camera's position.

The exterior set of a gas station on a highway just before a death valley in the United States. The shadows were blurred during compositing in Fusion. Entire shot done by me, including concept, layout, modeling, texturing, lighting, rendering, and compositing.

The Death Valley sign. Still facing the issue of jagged-edged shadows.

These two are interior shops inside the gas station. For the first shot, everything was done by me. The hand is the same hand used in the previous iSellfish project where the shop-owner puts the bag of fish on the counter. For the second shot, the character was designed and traditionally animated by Angeline Chong. The rest of it was all 3D and done by me.

I'll update here once the video is uploaded on YouTube.