[Bf-committers] BRDF conversion - Was Farsthary anouncement

joe joeedh at gmail.com
Tue Feb 10 07:46:04 CET 2009


The mathematical definition of a BRDF is simple enough, that it seems
you could wrap specular and diffuse legacy shaders into a blackbox,
with all the parameters stored internally, not visible to the outside
world.  Sure, it'd suck quite a lot, but what I'm wondering is if
that'd work better then trying to mathematically map legacy shaders to
valid BRDF's.

I assume the problem with this, is such an approach would not be a
valid BRDF (since it might go outside the 0. . .1 multiplier range).
Would the artifacts from that be worse then from doing it like your
saying?

Joe

On Mon, Feb 9, 2009 at 6:26 PM, Yves Poissant <ypoissant2 at videotron.ca> wrote:
>> As for kr, the perfectly smooth reflection from a surface that also have
>> partially smooth properties and perfectly diffuse properties seems like an
>> aberration. But it is not so. In fact, there are materials that act
>> exactly
>> like that. Those materials can be modeled with double layer of BSDF. And
>> in
>> fact, double layer materials can much better mimick other seemingly
>> incongruities or contradictions of legacy materials. But that is another
>> story.
>
> As I noted in a previous post, kd, ks, es and dr could be controled by one
> single parameter: "roughness". Indeed, a single layer BRDF tightly controls
> those 4 properties. But in legacy CG, those 4 properties are individually
> controlable by the end user and usually end up being set in some
> inconsistent manner. Inconsistent manner for a single layer material such as
> stone, marble, concrete, metals, wood, etc, that is.
>
> But it is not entirely inconsistent if we accept that the material is made
> out of multiple layers such as varnished wood, glazed ceramics, vinyl,
> plastic, etc. And that is exactly why it is difficult to design material
> that does not look like plastic with legacy material specifications. By
> setting up inconsistent values on the different materials parameters, the
> end user is actually setting up a multiple layer material without knowing
> it.
>
> It takes a lot of knowledge (or a lot of tweaking time, experience and a
> keen sense of observation) to succesfully setup a consistent set of legacy
> material parameters for a single layer material look. The nice thing about
> BRDF is that this is all done automatically for the end-user.
>
> Legacy CG material specification does, more often than not, look like
> plastic because the underlying assumptions implemented in the basic shaders
> almost perfectly match plastic material compositon. A plastic is composed of
> a smooth transparent polymer substrate into which are suspended pigments or
> colored particles. The smooth transparent polymer substrate gives this nice
> smooth reflection with the characteristics highlights while the suspended
> pigments or particles provide the nice diffuse reflection. Since there is
> little control on the diffuse component of the shaders, and the highlight
> characteristic of every specular shader looks more or less the same, we have
> a nice easy recipe for plastic material but a hard time doing anything else
> (BTW, our best bet, for better control of our legacy multiple layer material
> look is to use Oren-Nayar diffuse shader instead of any of the others and
> play with its roughness parameter).
>
> Because of inconsistent (physically speaking)  set of legacy material
> parameters, shaders to BRDF conversions will usually end up as being
> represented by a double layer material with the bottom layer 100% rough and
> the top layer's roughness corresponding more or less to the es parameter and
> the top layer transparency matching the kd to ks proportions. Mix in a
> proper dose of Fresnel reflection and there goes the conversion and
> obviously, those materials will all look more or less like plastic.
>
> 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