Houdini Light Contributions

Houdini Light Contributions

So there you are ready to put out your sphere #everyday but one thing that would really kick that image out of the park is removing the specular reflection of the area lights on your spheres. In other words, you want the diffuse component of the lights but don’t want them to contribute to reflectance. If you are coming from a program like Cinema 4D, it’s just a matter of unchecking Specular. Maybe you want the light reflectance but not the diffuse. It’s a common thing to do in most 3D applications. In Houdini, this is handled through Light Contributions.

Light Contributions

At first you may start looking for a plain old checkbox to uncheck in your light parameters in order to disable Specular reflections. You will come up short. While it’s not a complex process, it’s not immediately obvious. The answer is found the in Contributions parameter. Light and Environment light objects have this Light Contribution parameter and involves a few steps in order to make it do what you want.

Light Contributions Parameter
Light Contributions Parameter

Light Components

The award winning sphere scene is composed of basic materials with reflectance set up rather high, a bit of coat, a couple of area lights, and an environment light using an environment map. Super basic. What we want to do is remove the area light highlights appearing on our spheres.

Light Reflectance
Light Reflectance

First thing you want to do is click on the plus sign to the right of the Contributions parameter to add a component. You should immediately see a new field parameter pop up where you can type in the component name. But where do the names come from or which ones do you use. Simple answer is to just use the drop down to the right of the text field. The technical explanation according to the Houdini documentation is:

Components are named in the shader using the Label parameter on VOPs that generate BSDFs. The shaders included with Houdini use component names such as diffuse, reflect, coat, refract, and volume.

 

Adding Components
Adding Components

Disable The Light’s Contributions

In the sphere scene, you want to remove the area light highlights from showing up on the spheres and completely ruining the image. So you added the light component and selected reflect from the dropdown but nothing happened. What gives? This is the last and most important step in the process. You need to uncheck the component checkbox for your component name. Once you do that, you should see the reflection turn off.

Removing contributions
Removing contributions

In the above image, notice that a faint reflection still remains. This is due to the coat property on the material. You can add another component and type in coat or you can also take advantage of limited pattern matching. So for example, instead of using a component field for each component name, you can use a pipe symbol between the names. This will match component names which match nameA or nameB.

Pattern Matching syntax

Things can get fancy by saying stuff like “remove everything except reflections” by typing -reflect. This is basically just the inverse of using the component name diffuse. You can also do something like “remove everything except coat and diffuse” by using an & symbol such as -coat & -diffuse.

Remove everything except reflections.
Remove everything except reflections.

 

Remove everything except coat and diffuse.
Remove everything except coat and diffuse.

You will also find you can use the labels direct and indirect to control a light’s contribution depending on whether the light sample is coming from a direct ray or indirect ray. If direct and indirect rays are not familiar to you, the Houdini docs have a thorough explanation under Understanding Mantra raytraced shading.

[diviver]

Share:
990adjustments

990adjustments

I am a motion designer & developer based out of South Florida.
When not designing or animating pixels, I wrangle some code. If all else fails, I watch Twilight Zone, I Love Lucy, or Three’s Company reruns.