Learning Houdini Journal 08: Shaders and Rendering

Dec 20, 2015 at 12:08 am by -gToon

This is the eighth entry of what will be a year-long journal on learning the 3D application Houdini, created by Side Effects Software. Houdini is a sophisticated application that is widely used in the production of visual effects for Hollywood films such as Big Hero 6, Mad Max: Fury Road and many others.

In my previous Learning Houdini Journal 7, I talked about learning the materials and shader system in Houdini 15. I had only begun to create material groups for the 3 parts of the race-car I was working in via Pluralsight.com "Introduction to Houdini 15" course taught by the very talented John Moncrief. In this journal I continue the learning process until my car is finished with materials and shaders and I've set up the scene I'll be animating.

Mantra is the highly advanced renderer included with Houdini. It is a multi-paradigm renderer, implementing scanline, raytracing, and physically-based rendering. You should use the physically based rendering engine unless you have a good reason to use another engine. Mantra has deep integration with Houdini, such as highly efficient rendering of packed primitives and volumes.
-Houdini 15 manual

The Four Generic Shaders
The week was spent working on learning about the generic shaders inside of Houdini 15, finishing up applying all of the materials to the model and creating a special shader from scratch. As I became more familiar with the shader/material workflow in Houdini 15, I started to understand the logic behind it as well.

enter image description here

Houdini provides 4 generic shaders in the application: Displacement, Mantra surface, Principled and Surface Mode shaders. The Principled shaders are new to Houdini 15 and were designed specifically for artists: they are easy to use and yet there are enough controls to create excellent shaders for practically every kind of material. John Moncrief, the tutor in the course I'm following, is especially good an explaining the shader system.

In my last journal, I had wondered why Houdini 15 came with so few materials compared to other 3D applications. Now I know why: it's so easy to create your own shader from scratch, which is what I did for the chrome shader. Starting with a generic oxidized steel shader, I was able, by following instructions, to create a bright, brushed metal look by adjusting only three elements of the shader: color, reflection and roughness. Pretty neat! Now I know that it's possible to simply make your own shaders for whatever materials you need for your scene.

render view

Render Viewer & Render View
Rendering in Houdini is relatively simple, you lay down a render node, which requires a light and a camera (both are simple to create and place). Once you've got the render node done, you can choose to use the Render Viewer (called the MPlay Viewer) to render a scene at whatever resolution you like. A better option is to use the Render View tab and create a render using your main scene pane. The advantage of this method is that it adjusts in real time. If you are making a new shader, like I was with the new Principled Chrome Shader. You have to see the parameter changes to the new shader in real time or else the process could be hours long. The Render View even allows you to adjust the size of the render view and perhaps select a specific area on the object you are render in order to render it first.

enter image description here

Rendering in Houdini is fast, but that's also because I have a high-end GPU in my workstation (NVIDIA Titan X), I would think Sidefx would probably have spent a lot of time making the rendering as quick as they can. Still, it seems (at this point in my learning curve) that the Houdini rendering is not quite as robust as other renderers I've used. But we'll see how this idea holds up in several months when I've rendered a lot more projects.

Merging New Geometry
The last piece in my project is to bring in the city geometry using the merge command from the File>Merge menu. The model is provided as part of the Introduction to Houdini 15 course. I had no trouble bringing the model in and placing it correctly. I also adjusted the lighting to give the background a better look. And finally, I brought the race-car up a bit so that its wheels were placed correctly on the new city model street. Simple matter of adding a transform node and then making the adjustment.

I really enjoyed the materials/shader section of the tutorial and feel like a have a bit of a knack for this part of the Houdini 15 workflow. It will be fun to start making my own shaders in the future.

Next: On to animating the race-car in Houdini 15