Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I can't find anything comprehensive using Google. I'm wondering what the core concepts of physically correct lighting are, and where I could read up on it. What's physically correct lighting all about? Is Phong illumination generally physically incorrect?

share|improve this question
up vote 17 down vote accepted

This is a much bigger topic than can be covered in an answer, but briefly:

Physically-based shading means leaving behind phenomenological models, like the Phong shading model, which are simply built to "look good" subjectively without being based on physics in any real way, and moving to lighting and shading models that are derived from the laws of physics and/or from actual measurements of the real world, and rigorously obey physical constraints such as energy conservation.

For example, in many older rendering systems, shading models included separate controls for specular highlights from point lights and reflection of the environment via a cubemap. You could create a shader with the specular and the reflection set to wildly different values, even though those are both instances of the same physical process. In addition, you could set the specular to any arbitrary brightness, even if it would cause the surface to reflect more energy than it actually received.

In a physically-based system, both the point light specular and the environment reflection would be controlled by the same parameter, and the system would be set up to automatically adjust the brightness of both the specular and diffuse components to maintain overall energy conservation. Moreover you would want to set the specular brightness to a realistic value for the material you're trying to simulate, based on measurements.

Physically-based lighting or shading includes physically-based BRDFs, which are usually based on microfacet theory, and physically correct light transport, which is based on the rendering equation (although heavily approximated in the case of real-time games).

It also includes the necessary changes in the art process to make use of these features. Switching to a physically-based system can cause some upsets for artists. First of all it requires full HDR lighting with a realistic level of brightness for light sources, the sky, etc. and this can take some getting used to for the lighting artists. It also requires texture/material artists to do some things differently (particularly for specular), and they can be frustrated by the apparent loss of control (e.g. locking together the specular highlight and environment reflection as mentioned above; artists will complain about this). They will need some time and guidance to adapt to the physically-based system.

On the plus side, once artists have adapted and gained trust in the physically-based system, they usually end up liking it better, because there are fewer parameters overall (less work for them to tweak). Also, materials created in one lighting environment generally look fine in other lighting environments too. This is unlike more ad-hoc models, where a set of material parameters might look good during daytime, but it comes out ridiculously glowy at night, or something like that.

Here are some resources to look at for physically-based lighting in games:

And of course, I would be remiss if I didn't mention Physically-Based Rendering by Pharr and Humphreys, an amazing reference on this whole subject and well worth your time, although it focuses on offline rather than real-time rendering.

share|improve this answer
Also check out The Physics of Light and Rendering talk by John Carmack from QuakeCon 2013. – bummzack Aug 12 '13 at 7:37
@bummzack - That might be the talk that ignites more people to pursue PBR :) – Jovan Aug 12 '13 at 14:28

"Physically correct" means that the result looks like it would look in reality, assuming that reality would be shaped and textured the same. That means for instance that all surfaces reflect light, mostly diffuse, so most light is indirect. Also, light can travel through materials.

And yes, one specific part of physically realistic lightning includes the correct modelling of light reflected from a surface. Phong is a reasonable approximation, but only works well for point lightsources - so not for indirect lightsources, which you'll have a lot in a physically realistic scene.

Keep in mind that "physically correct" is still an area of research - not just how to model it in a computer, but also reality. It's only a few years ago that scientists discovered that some reflective crystals reflect double the amount of light back to the source compared to other directions.

share|improve this answer
Physically correct doesn't just mean that the result looks like the real world. More important, the calculations are using real world values. Therefore, a lot of measuring takes place. An advantage is that you can scan models or use photographed textures as they are, and they are looking realistic in your game scene. In most current engines, you would have to tweak color properties to make it fit the scene. – danijar Aug 12 '13 at 9:58
@danijar: Re-read what I say, in particular the ... assuming that reality ... Your "real word values" and "measuring" may be physically correct inputs , but are not useful if the engine isn't physically correct itself. In particular, your point of "photographed textures" matches what I say about "textured the same as reality". – MSalters Aug 12 '13 at 10:33
No. Most next generation engines do not use the term for calculating all real world light effects as light travelling through materials or an unlimited number of light bounces. Your answer reflects what you understand by the term, not what it normally refers to in a game development context. – danijar Aug 12 '13 at 11:33
I'm indeed using the term not in the marketing sense, where it often means "prettier than last year" or at best "somewhat closer to reality as last year". Nor do I imply infinite bounces. Even reality doesn't have that, photons are quantisized. With each reflection, intensity falls exponentially, so you soon get to the point where additional contributions are physically negligible. But game engines, with finite compute resources and real-time render limitations may take further shortcuts. That's not the only lighting in game development - many things are pre-rendered. – MSalters Aug 12 '13 at 11:54
I know that. However, I wasn't talking about marketing but lighting calculations with real values, not necessary real algorithms. But I accept that this is you opinion. I won't say more to this discussion. – danijar Aug 12 '13 at 12:09

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.