[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
Yves
More information about the Bf-committers
mailing list