Re: [Algorithms] reflectance + brdfs = trouble?
Brought to you by:
vexxed72
From: Thatcher U. <tu...@tu...> - 2001-01-20 06:36:14
|
On Jan 19, 2001 at 03:51 -0800, Charles Bloom wrote: > So, I'm thinking about general modeling of reflectance for realtime > graphics. First of all, I think the recent work in realtime BRDF's > is great. See the latest game developers for a good overview by > Kautz et al. The BRDF basically tells you how much is reflected (on > a per-color or per-wavelength basis) in a given view direction given > a light direction. Yeah, I've been thinking about it too, after reading the stuff on the list and in gdmag. > The problem for me is that most surfaces for which a BRDF is > really noticeable (like metals) are also reflecters. Now, > anything that's specular is a reflecter, so what's the difference > between a good reflector and a bad one : basically, for "non-reflecting" > specular surfaces, the reflected light is being defocused (due to large > spread of the BRDF) and weakened (due to a low peak in the BRDF) so that > only the bright spot of actual light sources is visible. By contrast, > good reflectors have sharp peaked BRDF (perfect mirrors just have a delta > function at reflection vector == light vector) and a large peak, so that > even weak light is imaged reliable by the reflecter. We can speak of > a reflecter just like a lens (it attenuates and defocuses). A non-imaging > reflecter is just like a ground glass lens or a "glass block" - you only > see sharp light highlights, not clear images. I'm not sure I really get what you're saying here... it seems to me that very smooth surfaces of whatever type (including metals) tend to have the straightforward specular BRDF with the delta function. Brushed metals on the other hand are more matte in character, as well as having anisotropic BRDFs -- but I don't think that they also exhibit much specularity. But brushed metal by itself seems to be mostly of academic interest, to me at least... I mean how often do you really run into it in real life... However, it seems to me there's a large class of everyday materials which are in between perfectly matte and perfectly specular -- unpolished stone/concrete, paper, textured plastic, anything dusty, painted wallboard, the surface of an orange, yadda yadda yadda. Even worse, the reflectance of these materials is scale dependent! For instance, if you look at a textured plastic surface, like say the back of my keyboard (but yours will probably do :), you can see that it looks pretty matte from a large enough distance, a few yards or so. But if you get your nose right up to it, you can see that the plastic itself is shiny, it just has a really bumpy surface geometry. In between a few inches and a few yards, it undergoes some sort of transition. How does BRDF deal with this? I don't think it does. It seems as though a sampled BRDF would have to have a built-in "scale", based on the size of the test beam and the light sensor. If you're not rendering the surface at the same scale as the BRDF was sampled at, then some adjustment is in order. For compelling interactive rendering I think it's important to get the transitions between scales decently right. That means for a lot of materials you need a combination of techniques depending on the scale of the surface: complex highly tesselated surface geometry, specular bump-mapping, BRDFs, and plain old Lambert shading are just points along a continuum. Anyway, those are my random thoughts tonight. I'm probably missing the whole point of BRDFs. -- Thatcher Ulrich <tu...@tu...> == Soul Ride -- pure snowboarding for the PC -- http://soulride.com == real-world terrain -- physics-based gameplay -- no view limits |