[Bf-committers] From Farsthary another anouncement

Yves Poissant ypoissant2 at videotron.ca
Thu Feb 5 03:35:18 CET 2009

> I'm mainly concerned about making sure not puting all this effort and end 
> up
> painting the renderer into a corner.
> - Some empirical BRDF models can be broken into diffuse, specular and 
> mirror
> components. But most can't. Especially the measured BRDFs that one day you
> will be able to download from the web.
> - Path tracing, MLT, Photon Mapping, and such rely on the possibility to 
> get
> random rays from a BRDF (Distribution Function). If the BRDF API (so to
> speak) is designed to sample the 3 different components separately, you 
> make
> it harder to correctly combine the probabilities and more error prone. 
> Also,
> you will have a much harder time integrating non-separable BRDF into such 
> a
> pipeline.
> - BRDFs should really be thought as black boxes that do their thing, that 
> is
> compute and provide directional or hemispherical reflectance and/or
> transmittance or direction and weights for sampling rays.

I know I was forgetting one point:

One of the most powerfull features of BRDF (or in that case BSDF), is the 
possibility of stacking them into layers. That goes from simulating plastic, 
varnished wood, glazed ceramics with two layers up to the multiple layered 
car paints. That depends on the capacity of one BRDF to transmit or scatter 
into a material and hit an underlying material that will, in turn reflect, 
transmit or scatter, possibly hitting another layer. This is realtively easy 
to do if each BSDF is coded as a black box. But I can't imagine the coding 
nightmare it would be trying to implement that while each BRDF would be 
broken into diffuse, specular, mirror, transmission components.


More information about the Bf-committers mailing list