Combining Reflective Maps with Materials
When applying reflections to my materials, which component of lighting should it be under? I'm out like to say specular, but diffuse may be more accurate. Materials that aren't reflective should be blended by the material color of that component of lighting reflections are applied to, right? For example, a reflective surface that is 50% reflective should multiply the color from the reflection map by 0.5, and the material's, say, diffuse color by the reaming 0.5. Is this correct?
When applying reflections to my materials, which component of lighting should it be under? I'm out like to say specular, but diffuse may be more accurate. Materials that aren't reflective should be blended by the material color of that component of lighting reflections are applied to, right? For example, a reflective surface that is 50% reflective should multiply the color from the reflection map by 0.5, and the material's, say, diffuse color by the reaming 0.5. Is this correct?
It is just a sharp relfection of the surrounding light, specular lights are just a simulation of the reflection of very bright light sources, which could be dimmed by the gloss factor. I would try out the following basic formula:
I = em + dot(L,N) * diff + (reflection + pow(dot(L,R),spec))*gloss*fresnel
em = emission
diff = diffuse
spec = specular exponent
gloss = gloss
fresnel = fresnel formula
reflection = value from your reflection texture
L = light vector
N = surface normal
R = reflected eye/camera vector
I = final intensity
Ashaman73's equation is the typical Phong model plus added Fresnel. This is a common approach, but unfortunately it's physically highly incorrect. Specular and diffuse reflections aren't additive in reality.
Vincent, you are on the right track with your ideas. The key point is energy conservation. The optical model of how light reacts when hitting a surface is usually described by a bidirectional reflectance distribution function (BRDF). Depending on the material such a functions can be very, very complex (think of layered, partially translucent materials such as the human skin, for example), but they can also be quite simple. In fact, the Phong model is a very simple BRDF.
Just think about how simplified optics would work on a smooth surface, while keeping energy conservation. Photons come in, and some of them are directly bounced back when hitting the outer layers of the material. That's your specular reflection. Depending on the material type (metal, dielectric, etc), these reflections can be wavelength dependent or not. And depending on the roughness of the surface, they can be more or less blurred.
The remaining energy penetrates further into the material and will be gradually diffused, ie. partially absorbed and partially bounced back in random directions. That's your diffuse color term. If the material is transparent or translucent, some energy will neither be specularly nor diffusely reflected, but transmitted through the material, potentially being refracted and/or some wavelength absorbed (filter materials).
I like this PDF here. It's a description of how the Mental Ray architectural shaders work. Although for offline use, the same principles are universally applicable. It comes with nice rendering examples of how the individual components influence the appearance of a material. Chapters 1.3 and 1.4 are most important. A simple energy conserving shader can go a long way towards realistic materials, even without simulating the more difficult effects like refractions or translucency.
Vincent, you are on the right track with your ideas. The key point is energy conservation. The optical model of how light reacts when hitting a surface is usually described by a bidirectional reflectance distribution function (BRDF). Depending on the material such a functions can be very, very complex (think of layered, partially translucent materials such as the human skin, for example), but they can also be quite simple. In fact, the Phong model is a very simple BRDF.
Just think about how simplified optics would work on a smooth surface, while keeping energy conservation. Photons come in, and some of them are directly bounced back when hitting the outer layers of the material. That's your specular reflection. Depending on the material type (metal, dielectric, etc), these reflections can be wavelength dependent or not. And depending on the roughness of the surface, they can be more or less blurred.
The remaining energy penetrates further into the material and will be gradually diffused, ie. partially absorbed and partially bounced back in random directions. That's your diffuse color term. If the material is transparent or translucent, some energy will neither be specularly nor diffusely reflected, but transmitted through the material, potentially being refracted and/or some wavelength absorbed (filter materials).
I like this PDF here. It's a description of how the Mental Ray architectural shaders work. Although for offline use, the same principles are universally applicable. It comes with nice rendering examples of how the individual components influence the appearance of a material. Chapters 1.3 and 1.4 are most important. A simple energy conserving shader can go a long way towards realistic materials, even without simulating the more difficult effects like refractions or translucency.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement