[Bf-committers] From Farsthary another anouncement

Yves Poissant ypoissant2 at videotron.ca
Wed Feb 4 15:07:55 CET 2009

From: "Brecht Van Lommel" <brecht at blender.org>
Sent: Wednesday, February 04, 2009 2:58 AM

> I would suggest implementing a very simple path tracer for reference
> (and keeping it working), no importance sampling, bidirectional
> tracing, just something very simple that can be verified to be
> correct.  This way photon mapping or whatever or other global
> illumination algorithm that is implemented can be compared to it and
> checked to give correct results.

I'd like to add my voice to this suggestion. Indeed, it is important to do 
that and have an easy to verify GI algorithm that can be used as a benchmark 
for other implementations. Beside, there is already so much to get right 
just at the interface between rays and materials that starting with a simple 
infrastructure will help get the rendering equation right.

> It's easy to miss a multiplication
> somewhere for example and get something that looks pretty much right
> but isn't entirely.

I can testify that this can and most certainly will happen. GI algorithms 
are very difficult to get right and the differences between full correctness 
and not quite correct can be missed if the only criteria for correctness is 
a single visual appreciation.

> It's exciting to see this global illumination development happening.

I agree wholehearthedly (spelling?).

> I'd just like to stress that it's important to implement this
> correctly, that is identifying which parts of the current shading
> system correspond to which parts of the rendering equation and
> separating those things cleanly. By those parts I mean emit, diffuse
> direct/indirect, specular direct/indirect, brdf, .. .

That would be very difficult requirement to comply to and if done, would go 
against the fundamental assumptions of the rendering equation.

The mentioned "rendering equation" is not of the typical legacy form
I = Ia*ka + Id*kd + Is*ks + Ir*kr + It*kt
that we see in several old textbooks. It is the Kajiya rendering equation 
which is the integral of the BRDF over the hemisphere above the surface 
normal. The diffuse and specular components are visual characteristics that 
are the intrinsic result of evaluating the BRDF in the rendering equation. 
While some BRDF models, such as the already old Schlick BRDF, do separate 
the diffuse from specular from reflections components, this is done inside 
the BRDF black box and those components are not available outside the BRDF 
black box. Most BRDF models do not make any distinctions between those 
different visual characteristics of reflections that we call diffuse, 
specular reflectivity and ambience. A BRDF is a just pattern of reflections 
distribution over the hemisphere. Human may interpret the resulting surface 
render as more or less diffuse, more or less specular, etc but there is 
nothing in the BRDF that explicitly controls each of those visual 
characteristics the way we do with coefficient sliders found in legacy 
material specifications.

The two requirements:
a) Implement a simple but physically correct path tracer.
b) Separate the diffuse specular, ambience, reflectivity, transmissivity

Seems contradictory and impossible to meet to me.

My .02

More information about the Bf-committers mailing list