8 ms·
This is interesting, but one thing throughout is that he keeps talking about how normals control how the light "bounces" off the surface, for instance: "Normals
by robbrown451 7y ago
This is interesting, but one thing throughout is that he keeps talking about how normals control how the light "bounces" off the surface, for instance: "Normals are vectors that we use to define how light bounces from a surface."
This makes sense for such things as specular highlights, but most of what we are seeing is simply shading. That is, the brightness of the surface is simply a matter of how much light is hitting the surface, due to the angle of the surface to rays of light from the light source. I would word it "how a surface is illuminated" rather than "how light bounces from a surface."
- magicalhippo 7y agoMost of what we're seeing is a non-trivial function of the light entering a local interaction point, and the light leaving it and hitting the camera or our eyes[1]. Since the entry and/or exit angle matters, perturbing the geometrically flat normals (from triangles) makes the surface appear to have curvature. This is important even for purely diffuse reflections. So I disagree with your wording. [1]: In some cases, such as skin, it's also important that the entry point and the exit point typically does not coincide. However for most materials one can usually get away with ignoring this aspect.
- fenwick67 7y agoNormal maps influence diffuse lighting as well. All lighting is just light bouncing off of things, I'm not sure why you're quibbling over this.
- Jasper_ 7y agoThey're talking about the incoming irradiance vs. the surface reflectance. Both are related to the surface normal, but the former has to do with surface visibility, rather than reflectance. You'll notice that BDRFs don't include the Lambert cos term, since they only describe how they deal with incoming irradiance. Put simply, a surface can't bounce any light if it doesn't receive any light to begin with. It's a weird, nitpicky statement, but hey, that's what this site is about, right? > All lighting is just light bouncing off of things In real-time graphics, bounce lighting is pretty rare. Typically you cache incoming irradiance into some form offline to emulate bounce lighting. Most of our scenes are lit with analytic lighting. A key directional e.g. sunlight for most light, and then punctual sources like point and spotlights for additional lighting tweaks.
- robbrown451 7y agoI agree that normal maps influence diffuse lighting. Not sure I agree that lighting is always "light bouncing off things", since with a diffuse surface, it scatters it in all directions approximately equally. If you consider that a bounce, ok, but it isn't the same as "mirror type" reflection where the bounce angle works similarly to a ball bouncing off a surface (angle of incidence equals angle of reflection). So, I don't agree that the normal's effect on diffuse lighting is on the way light bounces off things, instead it is the quantity of light that hits the surface. I just think he could change the wording (as I suggested) to make it more accurate, so it betters people's understanding of the more general subject. It would be a simple change that would be easy to make, so it's intended as constructive criticism rather than just quibbling.
- Negitivefrags 7y agoIf you want to quibble, then in reality, there is only specular light reflection. It’s just that rough surfaces bounce light in many directions because the surface is rough. In theory, if you had a high enough resolution texture and used enough samples you could actually represent all materials with only specular reflection. Diffuse light is simply an approximation we use. We effectively have a value for “roughness” of a surface and assume that some percentage of the lights scatters in all directions using various approximations of how rough surfaces typically reflect light. So yeah, it’s always “light bouncing off things”
- Jasper_ 7y ago> It’s just that rough surfaces bounce light in many directions because the surface is rough. Sort of, but not entirely, or you would get micro-flares on the surface, which we don't observe in reality. The other half of the equation is light that bounces around inside the object, and then comes out effectively in a random location. The majority of diffuse light is light that has been subsurface scattered. A huge simplification we make is assuming that that light can be modelled with a uniform constant factor, e.g. Lambertian diffuse. For surfaces with with microgeometry larger than the scattering distance, you need a more robust diffuse model, like Oren-Nayar.
- 7y ago
- dahart 7y ago> I would word it "how a surface is illuminated" rather than "how light bounces from a surface." Do recognize that Carlos said at the beginning, “Most explanations I found are usually too technical, incomplete or too hard to understand for my taste, so I decided to give it a try and explain what I gathered. I recognize that these explanations may be incomplete or not 100% accurate, but I want to try anyway.“ FWIW, your suggestion sounds to me more like it’s about the light sources, and not the surface. The normals don’t really affect how the surface is illuminated before the light bounces off (which is what “how the surface is illuminated” sounds like to me), the normals define the orientation of the surface, and so combined with a material and lights, the normals really do (help) define how light bounces off a surface. There are some established graphics terms for these things, but getting nit picky and accurate to that level would be detrimental to this blog post, I think. We don’t need everything to have the Wikipedia disease of being so accurate that only the experts who know the material and don’t need it can read the article. Carlos already found other explanations of normal maps too technical, so I guess he’s not interested in explaining the difference between radiance and irradiance just to describe the idea that normal maps change the surface orientation and affect shading.