Getting Started with Physically Based Rendering

Started by
1 comment, last by tepGameDev 10 years, 5 months ago

Hi guys,

Just wondering if there's any tips when starting with physically based rendering?

I've googled a little bit regarding physically based rendering. While there are many links discussing about physically based rendering, I have yet to find something that's practical and guide you step by step on how to do it.

I'm always wondering, if we want to start on physically based rendering, do we need to have an HDR, linear lighting renderer first? Or can I just go straight trying to chew on physically based rendering?

Thanks in advance.

Advertisement

The short answer: I strongly recommend doing HDR if you go down the PBR route. I think they go hand-in-hand, and a lot of the benefit of PBR would be wasted if you're rendering in LDR gamma space.

Here's the long answer:

Some people will talk about physically based rendering and they'll only talk about the specular BRDF (usually the discussion will be about energy-conserving Blinn-Phong or microfacet BRDF models). If you're limited to that scope, then there's no technical reason why you couldn't implement such a BRDF while still rendering in LDR gamma space. Older rendering packages supported this for many years. However the way I look at physically based rendering, HDR/linear rendering is a fundamental part of it and I would absolutely recommend doing it.

The way I see it is like this: without physically based rendering, you're like a painter. You paint arbitrary colors to the screen, and that lets you directly control what colors the viewer perceives. With physically based rendering you're now a scientist instead of a painter. You're a scientist running a physical simulation of light bouncing around your world, with the hope that the simulation will produce convincing results by using real-world laws of physics. With that in mind, HDR is really important because it lets you use a realistic range of lighting intensities. For instance the sun will be millions of times more intense than a light bulb, and a dark room will be many times darker than a grassy field. Rendering in HDR will let you represent these ranges of intensities in your game in a natural way, which makes it easier to achieve more realistic results. It's also pretty much required if you want to be able to transition from a dark area to a light (or vice versa) and make it look convincing.

Being able to support a wide range of intensities pretty directly ties into the physically based BRDFs that are often mentioned when discussing PBR. A specular BRDF that is energy conserving will be capable of producing extremely bright highlights depending on the roughness (specular power), which is very different from a non-normalized BRDF where the intensity essentially stays constant as the roughness changes. If you're going to have such a huge range in the highlights, then it makes sense to be using an HDR renderer that can handle a wide range of intensities.

@MJP: Thanks for the explanation! It's really helpful and gave me a good direction. I will start with HDR/Linear lighting as you suggested. Thanks again!

This topic is closed to new replies.

Advertisement