Cheating Physically Based Light Intensity (IRL)

Cheating Physically Based Light Intensity (IRL)

One question that I struggle with in PBR is: How physically accurate should we be? In general, I’m a PBR beliver in that we should try to model CG surfaces to behave like real surfaces and we should try to model lights to act like real lights. But what about the times when an artist comes to you asking to do something that is not physically realistic in order to make it look artistically better? As luck would have it, I got a chance to look at film set for a big budget TV show recently. Or rather, the film set came to me.

I’m talking about S1E03 of Telenovela. It’s a short-lived show on NBC, and you can probably find it online. The main storyline of this episode has Eva Longoria getting trapped in a well and the B storyline shows two characters going to a pool party in Miami, which is actually my apartment complex in Redondo Beach.

The Scene

Here’s what the setup looks like. The obvious thing to notice is the giant tarp.

In the storyline, the characters are outside because it’s a pool party. These are some screengrabs from the web player. They walk in…

…then they stop on the steps and chat for a bit…

…and they say hello to Chris Bosh.

If you watch the show, it moves seamlessly and you don’t notice anything weird, but all three images were shot in different lighting conditions.

  1. When walking in, they are in direct sunlight during the steadicam shot. The gate is to the left.
  2. While talking to each other they are by the X, under the tarp.
  3. Chris Bosh is on the right side of the pool, and he was probably shot later in the day.

In fact, you can see the shadow of the tarp in the shot on the left side of the frame by the handrail.

Any DP or photographer will tell you that you never, ever want to shoot people in direct sunlight. But controlling the lighting takes time and money so you can’t make every shot perfect. Ideally you would want all of the shots in the shade but due to time and/or expense they only had one tarp set up and tried to keep most of the scene under there. For the Chris Bosh shot, they did the trick where you position the sun behind the talent so their whole face is in shadow. It’s not ideal, but at least you can avoid a line of the shadow on the talent’s face.

Asthetically, the shots where the characters are under the tarp are clearly the best. If you had infinite time and money you would do that for all the shots. In the walking in shot, you can see the harsh shadow on the neck and face.

Anyways, this is all Photography 101. If you get into photography as a hobby or as a professional this is the first thing you learn. I treat the tarp shot as the reference, correct way to shoot it.

When it’s not feasible to hang a tarp, I have also seen pictures of light blockers attached to large cranes. My google skills failed me so if someone has an image please send a link. That’s not a cheap option, but if your big budget movie calls for a sunlight shot in an open field then it can be worth the price.

Getting back to PBR…

So let’s say you are making a realtime project with PBR principles. Since everything is physically based, your sun intensity is based on the real values in lux or lumens. And the sky is based on real values too. Or you took an HDR skydome and extracted the values and environment map. Everything is as accurate as possible.

And then the lighter comes to the programmer and wants to be able to tweak the sun. So what do you do? There are a few options.

  1. Change the intensity of the sun to a non-realistic value.
  2. Change the direct intensity of the sun, but leave the bounce intensity the same.
  3. Have a whole bunch of sliders to manually tweak the light per material.
  4. Make separate lighting controls for characters.

All four options violate the principles of “PBR Purity”. My opinion is that #1 should definitely be allowed. #3 definitely SHOULD NOT be allowed. #4 makes sense in some cases, but I try to avoid it if possible. Separate character-only lights/parameters are justified in certain circumstances. The most common exception is for rimlights to visually separate the characters for gameplay reasons, but that’s a different discussion. #2 is more complicated.

Once you start allowing unnatural tweaks to the relation between direct and indirect lighting all kinds of things can go wrong. I really don’t like to allow for parameters to change the way the falloff behaves, like “indirect bounce strength”. I also really don’t like changing the bounce color because it tends to fix the symptom and not the cause, and then all the hacks add up and it turns into a mess. But I can see the argument for allowing a scalar to reduce the sun’s direct intensity while leaving indirect alone. I don’t have a firm yes or no answer on that one.

FWIW it’s a very slippery slope to start allowing unnatural lighting in certain cases. After all, if it is ok to tweak the sunlight direct/indirect color, then why not add a whole bunch of other hacks?

To stop the slippery slope, remember that the primary goal is to allow your lighters to hit the look that your art directory wants as quickly and easily as possible. And I can see situations where tweaking the direct sunlight separately from indirect helps that goal. But wacky hacks like making your rimlights more orange in the skin shader hurt that goal because the shots become impossible to balance later.

The point is, there are valid arguments for making lights behave in a non-physical way, even when the goal is a realistic look. While I’m all for better reference and trying to stay realistic, IMO locking the sun intensity to PBR values is a little too far because there are legitimate artistic reasons to change it. And by “legitimate artistic reasons” what I really mean is that every photography guide ever made says you should never, ever use real direct sunlight on characters.

comments powered by Disqus