[Bf-committers] Physical plausibility - Was about adding boost uBLAS

joe joeedh at gmail.com
Thu Jan 29 17:49:15 CET 2009

Fascinating.  I can see what you mean after reading through some
stuff.  It does sound less hackish and more useful then the standard
diffuse/specular split shaders most people seem to use.


On Wed, Jan 28, 2009 at 9:00 PM, Yves Poissant <ypoissant2 at videotron.ca> wrote:
> From: "joe" <joeedh at gmail.com>
> Sent: Wednesday, January 28, 2009 12:36 PM
>> Interesting.  Any specific papers on the topic you'd recommend?
> That is one difficult question to answer and I don't have an answer. I guess
> you refer to physically plausible material representation. You know that
> papers authors rarely publish code.
> It is all related to the concept of BRDF but papers about BRDF all go into
> theoretical details and no implementation details and the more modern papers
> just assume that the reader already understand the concept of BRDF. And
> since the BRDF concept is a difficult concept to grab, it is difficult to
> find good introductory papers. The set of papers by Christopher Schlick
> about his "inexpensive BRDF for everyday use" are nice ones with nice
> introductory material about the fundamental concepts. It is a relatively
> easy model to implement too but there are better ones today. That said, the
> beauty of BRDF is that they are building blocs. A better BRDF model can
> replace an old one easily and the rendering will work just as well if not
> better.
> On paper, BRDFs tend to look like your regular shader and in fact, a lot of
> them are often converted verbatim as shaders. That is why BRDF can be used
> with scanliner or raytracers or GI as well. But the similarity with shader
> is because it is not obvious that BRDF are really probabilistic reflectors
> and are in fact designed to be used with probabilistic renderers. In this,
> one can see shaders as a subset of probabilistic renderer where the
> probabilities already decided. So a BRDF is much more general than a shader
> and is much more powerfull than a shader.
> Another important concept is the conservation of energy. A surface can never
> reflect more light than it receive. This statement seems simple but there
> are very important implications related to that. Think about a typical
> legacy CG material description with its diffuse, specular, ambient, mirror,
> (let's stop there, we already have enough to be dangerous). Think about what
> those properties mean. Diffuse represent the reflection of *light* by a
> rough material. Specularity represent the reflection of *light* by a
> variably smooth material. Ambience represent the reflection of the
> *environment* by a perfectly rough material and mirror represent the
> reflection of the *environment* by a perfectly smooth material. You can
> already see several conflicting representations. The difficulty is how to
> balance those components so the surface looks physically convincing. It is
> algorithmically possible to achieve this balance when the concept of BRDF
> and the implication of conservation of energy is well integrated. All those
> visual properties can be controled by one "roughness" property. For example,
> the specularity tightness represents the roughness. Received light is
> scattered above the surface but the incoming light energy is conserved. As
> specularity tightnedd gets tighter, its brightness also increase in
> proportion of the incoming light that is more tightly reflected. Same for
> the the balance between the specularity tightness and brightness and the
> mirror strength and falloff distance. They are related.
> This type of knowledge you will acquire through reading a lot of BRDF
> related papers. But there is one book that I found covers those concept
> surprisingly well. It is "Real-Time Rendering" Third Edition by
> Akenine-Moller, Haines and Hoffman. This book covers a lot of ground,
> explains a lot of tricky issues and answers a lot of questions that arize
> when reading BRDF related papers.
> You can see that with a single property, the roughness, you can control, in
> a physically plausible way, several of the legacy CG properties which are
> all numerically controled so the reflectance is always energy conserving and
> thus plausible. For anisotropic material, you would have two roughness
> properties. This is a much simplified model for users to control. Its
> control is always consisitent and it becomes intuitive very quickly.
> A more general concept to the BRDF is the BSDF. This covers material that is
> reflective and/or transmissive. The more recent BRDF papers are focused on
> multiple layer materials. Once you have your BSDF system in place, you can
> achieve the look of a large bunch of man made materials through layers of
> BSDF. This is at the same time extremely powerfull and very simple and
> intuitive to ajdust.
> Concerning implementation documentation, I would direct you to the book
> "Physically Based Rendering" by Pharr and Humphrey, also known as PBRT. I
> would not suggest implementing the code in there because it is designed to
> be easily understandable but is far from optimized, and also, I find the
> implementation overly complex. There is no need for such a complexity. But
> you get to see the actual code that implements the concepts. And you get to
> see how BRDFs are designed to be used. There is no other place that I know
> of where you can see the full implementation of the BRDF/BSDF concept like
> this one.
> Another book I would recommend is "Realistic Image Synthesis Using Photon
> Mapping" by Jensen. The first part of the book that covers the fundamental
> concepts up to page 66, even if you don't plan to implement a photon mapping
> algorithm, is well worth reading IMO.
> Other papers I would recommend (and you can find on the web) are:
> "Arbitrarily Layered Micro-Facets Surfaces" By Weidlick and Wilkie, 2007.
> Start with this paper to get a good idea of what this is about. It is fairly
> recent and have very good examples.
> "Distribution Based BRDFs" by Ashikhmin and Premoze, 2007
> "A Simple Layered RGB BRDF Model" by Granier and Heidrich, 2003
> "A Microfacet Based Coupled Specular-Matte BRDF Model with Importance
> Sampling" by Kelemen and Szirmay-Kalos, 2001. Szirmay-Kalos papers are
> generally too theoretical for my taste but this paper gives a hint of the
> work by this group.
> "A Practicioners' Assessment of Light Reflection Models" by Shirley, Hu,
> Smits, Lafortune 1997.
> "A Coupled Matte-Specular Reflection Model" by Shirley, Hu, Lafortune,
> Blocksom, 1997
> "An Inexpensive BRDF Model for Physically-Based Rendering" by Schlick, 1994.
> He shows a very simple scheme for automatically balancing the diffuse,
> specular and mirror factors from the roughness property and also gives the
> warping equations for importance sampling the BRDF. This is an important
> trick.
> "A Comprehensive Physical Model for Light Reflection" by He, Torrance,
> Sillion, Greenberg, 1991
> If you start with those papers and follow the threads from the
> bibliographies, you should have a wide coverage os the topic.
> Sorry for not being more specific with my explanations. I can only provide
> public references because I'm under a NDA with my employer.
> Yves
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers

More information about the Bf-committers mailing list