Fellow Renderers,
I am using The Radiance Photon Map Extension to analyze the light passing through an irregular glass object. The luminaire is not visible from the viewpoint, and the environment is a simple Lambertian surround.
I wish to account for all scattering events (i.e., specular reflections and refractions) that eventually make it to the viewpoint, and I wish to render (or at least account for) scattering events incrementally, in order to visualize the unfolding (and hopefully the order) of contributing events. I have been successful (to some degree) when the environment has a non-zero reflectance, but mkpmap fails when I set the surrounding environment reflectivity to zero.
So far, the only way I have been able to record a single bounce in a non-reflective environment is with rpict, but there I notice not just one, but also two or three scattering events: 1) an expected specular reflection on the outer hull of the object; plus 2|3) what appears to be an inner specular reflection after an initial refraction--followed by an exit refraction--from within the object. This indicates to me that rpict does not count refractions the same way it counts specular reflections (although I think mkpmap does). I have also been able to render 1+ scattering event(s) with mkpmap, plus 1+ scattering event(s) with rpict, when including a non-zero reflectance Lambertian environment, but I don't think those images are useful because I don't think they describe any realistic physics (although I might be able to use similar images with pcomb in some clever way to reverse-engineer the contributions of physical events).
The other issue I have with using rpict for computing the first scattering event is because I know it under-samples the caustic environment without mkpmap, so I am guessing that rpict will be useful for computing some proportion of all but (at least) the first scattering event(s) (i.e., perhaps I could use some thoughtful combination of n+p-scattering events between n-scatter-distributions and p-scatter-gatherings).
I hope this description/shorthand wasn't too confusing.
In summary, I would like to use a combination of mkpmap and rpict to incrementally build the photon array, and perhaps use pcomb or some other statistical or combinatorial technique to analyze the contributions of scattering events as they relate to the viewpoint. Finally, whatever limitations are imposed by the software can be incorporated into the limits of the model (in other words, I'll take what I can get!).
P.S. Unrelated question: How do I tell Radiance the right physical units for my glass object?
Thank you, always!
Chris
Fellow Renderers,
I wish to account for all scattering events (i.e., specular reflections and refractions) that eventually make it to the viewpoint, and I wish to render (or at least account for) scattering events incrementally, in order to visualize the unfolding (and hopefully the order) of contributing events. I have been successful (to some degree) when the environment has a non-zero reflectance, but mkpmap fails when I set the surrounding environment reflectivity to zero.
Hi Chris,
glad to hear you're trying this out! Photons only account for indirect irradiance on surfaces with non-zero diffuse component, which explains your failure case with the black surround.
I have also been able to render 1+ scattering event(s) with mkpmap, plus 1+ scattering event(s) with rpict, when including a non-zero reflectance Lambertian environment, but I don't think those images are useful because I don't think they describe any realistic physics
Well, basically you'll get a biased (underestimated) solution. With mkpmap you can limit the number of photon bounces with the -apm option. Normally this parameter is only relevant for pathological cases, i.e. when using surfaces with absurdly high reflectance.
In summary, I would like to use a combination of mkpmap and rpict to incrementally build the photon array, and perhaps use pcomb or some other statistical or combinatorial technique to analyze the contributions of scattering events as they relate to the viewpoint.
Without modifying the code, I believe you can only separate out the ambient component via commandline arguments (correct me if I'm wrong, Greg). To only get the ambient component, you can subtract a run with -ab 0. This isn't specific to photon map tho.
The alternative is rcontrib, but the photon map only accounts for light source contributions, so that's no help in your case.
Best regards,
--Roland
···
On Sun, 25 Oct 2015 00:26:38 +0200, Chris Kallie <[email protected]> wrote:
--
Dr. Roland Schregle
Senior Research Associate
Lucerne University of Applied Sciences and Arts
School of Engineering and Architecture
CC Envelopes and Solar Energy (EASE)
www.hslu.ch/ccease
T direct: +41 41 349 36 26 (New)
[email protected]
Technikumstrasse 21, CH-6048 Horw (Correspondence)
Ebenaustrasse 20, CH-6048 Horw (Office)
T +41 41 349 33 11, F +41 41 349 39 60
Thanks for your reply, Roland!
Your suggestions are extremely helpful, and much appreciated. And thanks to you and the whole gang for all the work put into the new official release...it was perfect timing for our current research.
Sincerely,
Chris
···
On 10/25/15 11:04 AM, Schregle Roland HSLU T&A wrote:
On Sun, 25 Oct 2015 00:26:38 +0200, Chris Kallie <[email protected]> wrote:
Fellow Renderers,
I wish to account for all scattering events (i.e., specular reflections and refractions) that eventually make it to the viewpoint, and I wish to render (or at least account for) scattering events incrementally, in order to visualize the unfolding (and hopefully the order) of contributing events. I have been successful (to some degree) when the environment has a non-zero reflectance, but mkpmap fails when I set the surrounding environment reflectivity to zero.
Hi Chris,
glad to hear you're trying this out! Photons only account for indirect irradiance on surfaces with non-zero diffuse component, which explains your failure case with the black surround.
I have also been able to render 1+ scattering event(s) with mkpmap, plus 1+ scattering event(s) with rpict, when including a non-zero reflectance Lambertian environment, but I don't think those images are useful because I don't think they describe any realistic physics
Well, basically you'll get a biased (underestimated) solution. With mkpmap you can limit the number of photon bounces with the -apm option. Normally this parameter is only relevant for pathological cases, i.e. when using surfaces with absurdly high reflectance.
In summary, I would like to use a combination of mkpmap and rpict to incrementally build the photon array, and perhaps use pcomb or some other statistical or combinatorial technique to analyze the contributions of scattering events as they relate to the viewpoint.
Without modifying the code, I believe you can only separate out the ambient component via commandline arguments (correct me if I'm wrong, Greg). To only get the ambient component, you can subtract a run with -ab 0. This isn't specific to photon map tho.
The alternative is rcontrib, but the photon map only accounts for light source contributions, so that's no help in your case.
Best regards,
--Roland