|
|
Am 01.01.2013 22:23, schrieb Mr:
> Ive <ive### [at] lilysoftorg> wrote:
>> The animation feature of POV-Ray can be used to make it a spectral
>> render engine. The basic idea is to render a set of gray-scale images
>> - each representing a specific wavelength - and finally combine them
>> using the CIE color match function.
>> To simplify this task I have created a few POV-Ray SDL scripts and some
>> examples.
>> You'll find the download link, some images and more explanation here:
>>
>> http://www.lilysoft.org/CGI/SR/Spectral%20Render.htm
>>
>> -Ive
>
> Would this help POV to render caustics any faster?
>
> I ask this because I could not after all my attempts get POV-Ray to render some
> caustics scene with chromatic dispersion as fast as Lux Render did (Lux uses
> spectral rendering)other than that I would have been so happy to use POV because
> of so many other features, but for this particular scene, the speed issue was
> really too high of a bottleneck, preventing it to keep the same quality between
> the two renderers.
I'm not sure how Lux does it, but here's one optimization I could
imagine, which POV-Ray currently doesn't do:
When the generated photon map is evaluated for a dispersed (and hence
monochromatic) ray from the camera, dispersed (and hence also
monochromatic) photons with a different wavelength could theoretically
be ignored (and those typically are a lot if you make ample use of
high-quality dispersion).
In POV-Ray, the fact that a photon was subject to dispersion (and hence
is monochromatic) is forgotten in the stored photons map; such photons
are instead stored just like normal non-dispersed colored photons. Thus,
POV-Ray needs to evaluate each and every photon even for monochromatic rays.
As Ive's approach only deals with one single wavelength per render
anyway, it automatically gets that optimization for free. However, for
non-dispersed rays and photons it loses a lot in terms of performance,
as it needs to trace such rays and photons over and over again for each
wavelength even though their trajectory is the same for all wavelengths.
Hard-coding this optimization into POV-Ray should be no big deal; it
doesn't even need full-fledged spectral color math to work. It would
probably increase the photons map memory footprint by 20% though.
Post a reply to this message
|
|