POV-Ray : Newsgroups : povray.advanced-users : Blurred reflections : Re: Blurred reflections Server Time
24 Apr 2024 21:27:31 EDT (-0400)
  Re: Blurred reflections  
From: clipka
Date: 6 Feb 2018 08:45:17
Message: <5a79b16d$1@news.povray.org>
Am 06.02.2018 um 03:06 schrieb Mike Horvath:
> Also, is there a way to speed this up? Right now it's stuck at 6% of the
> mosaic phase for an hour. I don't recall UberPOV being this slow. :(

The example given in the knowledgebase article uses the so-called
"macronormals" approach, as opposed to the "micronormals" approach that
is only described in the text itself.

Blurred reflections always need oversampling, i.e. at some point the ray
has to be split up into multiple rays that go into slightly different
directions.

With the macronormals approach, that oversampling is done upon
reflection: Wherever a ray is reflected at an object, the ray is split
up into a fixed number of sub-rays. The drawback is that any sub-ray
that also hits a blurred-reflective surface will be split up even
further into the same number of sub-sub-rays. In a scene with many
blurred-reflective surfaces, this causes render times to explode.

The micronormals approach can also be used in the same mode of operation
(essentially just replacing "scale 1000" with e.g. "scale 0.001"), but
alternatively it can be used with just one single texture (rather than
the average of a high number of textures) and some means of effecting
oversampling at the pixel level. This avoids the explosion of render
time in blurred-reflection-heavy scenes. (The drawback is that it also
increases render time for portions of the scene that have no blurred
rteflections; however, this can be partially mitigated by employing an
adaptive mechanism for the oversampling at the pixel level.)

The latter is essentially the mode of operation UberPOV uses. To effect
oversampling at the pixel level, UberPOV provides a special
anti-aliasing mode that shoots a number of rays randomly within each
pixel, and uses stochastic analysis to adapt the number of rays shot per
pixel to the image content.

In official POV-Ray, a very similar oversampling can be effected by
using ever so slight focal blur; adaptive focal blur is recommended in
that case.


A completely different approach to avoid the explosion of tertiary rays
is to provide two copies of each blurred-reflective object: One with
blurred reflections using an average of many textures and the
"no_reflection no_radiosity no_refraction" keyword, and one with just
one plain texture (or a low-quality blurred reflection) and the
"no_image" keyword. However, this approach breaks down if a
blurred-reflective surface is to be visible in a perfect mirror.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.