diffusion - the backbone of reality
What is diffusion, other than the most misunderstood surface attribute? Well, it's as the headline says, "the backbone of reality". You see, diffusion is that critical attribute of an object's surface that scatters light. It determines the actual amount of light that is reflected by the surface. In essence, it determines how much of the surface's color we'll see.When we diffuse an object we limit the amount of color that is reflected back by the light. This is far different that simply darkening the object. If we were to darken the image map, we'd only see a change in color, not color depth. Color depth is created by scattering light across an object's surface. Just take a look at human skin and you'll notice that it has a density. The color isn't a simple continuous shade but rather many similar shades, created by scattered light. The diffusion makes the skin appear pliable. It adds richness.
All objects in reality have diffusion. Therefore we need to use diffusion when replicating these objects in 3D. Unfortunately, most 3D programs don't have diffusion. The ones that do are LightWave, Alias, SoftImage and Maya. AnimationMaster has diffusion but it really doesn't diffuse the surface, but rather darkens it. If your program doesn't have diffusion, contact your developer and nag them until it does! Even if your program doesn't currently offer diffusion you'll find this article very useful. It will help you better understand how realistic images are created.
working with diffusion maps
A diffusion map works under the same principle as a bump map. The shades of gray are used to determine the amount of diffusion. White would be 100% diffusion, while black would be zero. The trick is to get the right diffusion for a surface. It's a safe bet that nearly all objects in reality have a diffusion of 80% or less. Nothing, and I mean nothing, has a diffusion of 100%.You never want to use 100% diffusion on the surfaces of your models since it wouldn't be realistic. The result of using 100% diffusion is an over saturation of the specularity on the object. Have you ever seen a 3D human with that awful yellow specular spot? Well, that's because they used 100% diffusion. When you use 100% diffusion you end up over saturating the surface colors. You see, the light adds a specular spot, which adds color to the surface. This added color, combined with 100% of the surface's color, amplifies the total color creating a saturation spot - the base color of the surface is multiplied, creating a most undesirable effect that undermines the credibility of the surface.
A good rule of thumb when setting diffusion levels is this: The more reflective the object, the lower the diffusion. Metals have low diffusion because they reflect the environment colors, and very little of their own. For example: A chrome object will have a low diffusion setting of 15-20% because it shows very little of its own color. A mirror has a diffusion level of zero because it is 100% reflective.
Human skin on the other hand had a general diffusion of 70-80%. Wood has a diffusion of 70%, unless it's wet. Then the diffusion must be lowered because the wood becomes slightly reflective. This is the case for all objects that are wet. You need to lower the diffusion because the surface is now showing less of its own color and reflecting a portion of the environment.
Another thing to consider with diffusion is the depth of the surface details. For example: Cracks in wood have a lower diffusion than the surface because they trap light, causing them to show less of their own color. This same
rule applies to cracks in human skin. You can't simply set a global diffusion for a detailed surface. You have to diffuse the details depending on their altitude. This is actually quite simple since you can create the diffusion map from the actual color map. Of course, some tweaking will be required to get it just right.
Figure 1.1. The effect of proper diffusion. Click for a larger image.
Figure 1.2 The face diffusion map. Click for a larger image.
Figure 1.3 Dr. Dread's color map. Click for a larger image.One other thing to consider with diffusion is the lighting in the scene. Remember, reality has reflected light, which means the surfaces are being hit by light from many sources. We call this effect radiosity in the 3D world. You have to add enough light to your scene to make diffused surfaces work properly or they will end up looking too dark. You can simply light a diffused surface with a single light source, and no radiosity. What you need to do is place several light sources in the environment to ensure the model is properly lit. This makes it very simple to determine the proper diffusion as well since you'll easily be able to see the saturation for the surface when there is enough light present.
Now that we have a basic understanding of diffusion, let's take a look at a case study. Figure 1.1 shows Dr. Dread, a 3D mad scientist.
Notice how the skin surface is rich. It appears soft and porous like human skin. This is the result of proper diffusion. In fact, let's take a look at the diffusion map for the face, shown in Figure 1.2.
You can see that the cheek areas are darker than the rest of the face. This is because the cheeks on our model are reddish and more specular. Remember, specularity multiplies the surface colors so you'll need to lower the diffusion on specular areas of your model. You'll also notice that the cracks in the forehead have been diffused since they trap the light.
Of course, once you start to add diffusion to your model you'll need to modify the color image map to compensate. If you want the surface to be a particular color you'll need to ensure that the color map is actually lighter than the desired color since the diffusion map will darken it. If you pain the color map in the desired color you'll end up with something very dark when the diffusion map is applied.
To better understand the proper way to create the color map let's take a look at Figure 1.3, which shows Dr. Dread's color map.
As you can see, the colors in the color map don't look exactly like the actual rendered image in Figure 1.1. This is because the colors have been lightened so the diffusion map can work properly. A good rule of thumb is to lighten the color map by the opposite value of the diffusion map. For example: If the diffusion of the surface is 70%, you'll need to lighten the color map by 30% to get the colors right.
As you can see, diffusion plays a major role in making a surface appear realistic. While it can be a bit confusing at first, it's actually not to hard to master. It just requires a bit of experimentation. Before you call it quits on your next model, take some time to experiment with the diffusion - you'll be glad you did!
wrap up
Well, that does it for this week's reality clinic. Now it's time to go back to those renders you've done and experiment with diffusion levels. You'll be amazed how it sharpens the reality of the model's surfaces.I hope you've enjoyed this installment of the Reality Clinic. I'll see you next month!
Bill Fleming is President of Komodo Studio, a 3D studio specializing in photorealism. He is the author of the "3D Photorealism Toolkit", published by John Wiley & Sons. If you wish to contact Bill, he can be reached at bill@komodostudio.com.
[ galleries | archives | downloads | about | contacts ]
[ back to main page | back to contents page ]