<p>It doesn’t matter that it’s a point light; the 1/π normalization factor is what’s causing your surface to be 1/π as bright as you’d like it to be. You can either up your light intensity so the maximum brightness is π or just get rid of the normalization factor. There’s a good article with some notes about this and how it interacts with more complex lighting techniques <a href="https://seblagarde.wordpress.com/2012/01/08/pi-or-not-to-pi-in-game-lighting-equation/" rel="nofollow">here</a>.</p>

CC BY-SA 3.0
2016-06-27T21:20:34.373Z
2016-06-27T21:20:34.373Z
Noah Witherspoon
<p>I'm implementing a simple Lamberitan BRDF in GLSL, using a point light source. My fragment shader simply returns <code>light_colour * 1.0/PI * cosine</code>, which should model a fully diffuse white material. </p>

<p>However, it looks rather dark... If I have a point light with colour (1,1,1), and no attenuation with distance, the maximum brightness of the material (at normal incidence) will be 1/3 (dark grey). </p>

<p>Is this just because I am using a physically incorrect point light with zero size? Is there any "correct" value for the light colour in this case, if I want the surface to be white at its brightest parts?</p>

<brdf><fragment-shader>
How to correctly implement Lambertian BRDF with point light
Supernormal
# How to correctly implement Lambertian BRDF with point light

(Asked by: username_0 on 2016-06-27)

I'm implementing a simple Lamberitan BRDF in GLSL, using a point light source. My fragment shader simply returns `light_colour * 1.0/PI * cosine`, which should model a fully diffuse white material.

However, it looks rather dark... If I have a point light with colour (1,1,1), and no attenuation with distance, the maximum brightness of the material (at normal incidence) will be 1/3 (dark grey).

Is this just because I am using a physically incorrect point light with zero size? Is there any "correct" value for the light colour in this case, if I want the surface to be white at its brightest parts?

**Tags:** brdf, fragment-shader


---

## 1 answers

### Answer by username_1 on 2016-06-27. Score: 2 | Accepted answer

It doesn’t matter that it’s a point light; the 1/π normalization factor is what’s causing your surface to be 1/π as bright as you’d like it to be. You can either up your light intensity so the maximum brightness is π or just get rid of the normalization factor. There’s a good article with some notes about this and how it interacts with more complex lighting techniques [here](https://seblagarde.wordpress.com/2012/01/08/pi-or-not-to-pi-in-game-lighting-equation/).


---

