The Persistence of Vision Raytracer (POV-Ray).
This is the legacy Bug Tracking System for the POV-Ray project. Bugs listed here are being migrated to our github issue tracker. Please refer to that for new reports or updates to existing ones on this system.
Opened by Christoph Lipka - 2009-07-28
Last edited by William F Pokorny - 2017-01-19
FS#44 - Improve Normals Handling in Radiosity
Currently, radiosity does not make use of the fact that pertubed normals would theoretically just require a different weighting of already-sampled rays, leading to the following issues:
- Honoring normal pertubations in radiosity leads to an increased number of samples, slowing down sample cache lookup.
- The increased number of samples is generated from a proportionally higher number of sample rays, slowing down pretrace even further.
- Low-amplitude pertubations tend to be smoothed out; “reviving” these is only possible by increasing the general sample density.
- Handling of multi-layered textures with different normal pertubations is currently poorly implemented.
As a solution, I propose to store for each radiosity sample not only the resulting illumination for a perfectly unpertubed normal, but from the same set of sample rays also compute the illumination for an additional set of about a dozen standardized pertubed-normal directions, and interpolate among these when computing the radiosity-based illumination for a particular point that has a pertubed normal.
For backwards compatibility, this method of dealing with pertubed normals in radiosity might be activated by a different value for the “normal” statement in the radiosity block, say, “normal 2”.
What is the status of this?
Spherical harmonics might be the way to go; they might also allow radiosity to respect the brilliance parameter to some degree.
I don't intend to tackle this prior to 3.7.0 release proper though.
Now tracked on github as issue #188.