|
|
On 10/18/20 6:10 AM, William F Pokorny wrote:
> On 10/17/20 10:49 PM, Kenneth wrote:
....
>
> We could go a different way for a fix. One which implements the
> previous, unit cube centered, face results by default, but which now
> offers an offset keyword. The offset would let users slide a 0.367 delta
> value range around as fed to the quilt_cubic function. Sort of a left /
> right slider for the posted quilt_cubic curves. (Back to the function's
> curves having meaning...)
>
> Attached is a second image quiltedOptionTwo.png. The left set of 9 is
> the same A to I set. Here it's what users would see at the unit faces
> with the existing implementation (ignoring the noise issue). The offset
> is 0.5 for these. In the right set of 9, I've used an offset of -1.0.
> Many of the faces invert (inside of the pillow) and the results are more
> pillow like.
>
> Is this a better way to go for a fix?
>
I going to use this option as a fix for the true normal version of
quilted in povr - without the offset keyword for now.
Plan is to enable more complicated alternatives as functions. Maybe the
earlier more flexible but less quilted / pillow like alternative as
another true normal pattern at some point.
Attached is an image showing part of the current biscuit.pov scene which
is one commonly run; It's the 'make check' test scene. On the left the
current v3.8 result. In the middle the with the fix. On the right the
difference.
Because the evaluation point drifts around due turbulence, the v3.8
quilted is showing both the issue of varying strengths in the quilting
and partial inversions (sudden changes in intensity along a curve).
Aside: One other subtle issue I should mention with the current and
longstanding code and only partly addressed with the update. Larger,
(especially negative) bump sizes can cause inversions to face the away
from the primary incoming normal for the ray (black areas). This can
always happen, but is more likely with no_bump_scale(1). Yes, it's
possible to add code to prevent this(2), but the current fix is already
adding +6%, give or take, to the run time of biscuit.pov. Plus, this
exposure is more general than quilted.
(1) - Probably a the reason for 0.5 the default bump size. Staying <<1
is more stable.
(2) - My thinking is ideally normal perturbations don't completely
invert the normal. Meaning the major inside/outside surface ray ->
normal relation stays the same (doesn't suddenly act as shadowed).
Bill P.
Post a reply to this message
Attachments:
Download 'qlt_biscuit_v38_to_biscuit.jpg' (116 KB)
Preview of image 'qlt_biscuit_v38_to_biscuit.jpg'
|
|