View Full Version : Schlick's model

10-20-2003, 02:59 AM
I am trying to implement schlick's illumination model in hardware. To simplify the formula I make an assumption that my material is perfectly diffuse and isotropic. So I eliminate azimut and zenith terms (they are both 1). I assume also that my spectral term is constant.
So, I'm left with
R = Color * 1/(4*pi*v, v') there v= dot(normal, eye),v'= dot(normal, light)

I don't understand this formula. At the end I get inverted diffuse light(it's dark where it should be hell). Also it is very dark(1/(4pi) does the job). If I use R = v*v' instead it looks good. I am really confused about it. Would appeciate an advice of some kind.

10-21-2003, 06:59 PM
If you use the Schlick model with pure diffuse, then you are just doing diffuse lighting. So the answer would just be R = Color * v' / pi.

10-22-2003, 07:44 AM
I don't quite understand it. If I use roughtness of one, is is also only diffuse lighing then, right? In this case the formula will apeear as I've shown in the previous post. So why v'/pi? Isn't is darkened Phong lighing? Sorry if I don't get something, I greately luck knowledge of optical physics...

10-22-2003, 08:41 AM
I am not sure what your source is, but here:

Equation 32. In your case l = 1, b = f = 0 (diffuse assumption), so R = 1 / pi is the BRDF. Then you multiply by the cosine of the light vector to get the display value.

10-22-2003, 11:01 AM
Thanks, I've got it. My tests where based on a earlier paper; the equation 32 was not included there http://www.opengl.org/discussion_boards/ubb/smile.gif BTW, I completely forgot that integral... I guess I'm going to start it anew.

Another question: what should I do to that differential angle based integral? (BRDF equation) Never dealed with that kind of stuff...

10-22-2003, 07:43 PM
To evaluate the integral, just sum over all lights, multiplying the BRDF by the light power and the cosine of the light angle.

For more complicated situations, read a book on global illumination.

10-23-2003, 03:39 AM
Thank you a lot!