|
|
On 2021-02-11 3:12 PM (-4), Kenneth wrote:
>
> To put it a simple way: When image pixels go over <1,1,1> in brightness
> (regardless of how), antialiasing starts to fail, both in the on-screen preview
> and in the saved image file.
>
> [snip]
>
> In more detail: Since antialiasing involves shooting many rays into a scene per
> pixel (rather than just one ray), then averaging(?) them to get a smooth result,
> it seems that the color/lighting computations for that pixel should be clamped
> at a maximum of <1,1,1> *before* the averaging is done. I don't know the inner
> workings of the antialiasing mechanism, so this is just my guess. For example,
> when a white object's pixel brightness is created by, say, emission 10, it
> should be automatically reduced to <1,1,1> before the AA 'averaging' scheme
> kicks in-- since 'white is white', and a typical low-dynamic-range 24-bit image
> can only reproduce pure white as <1,1,1> anyway, not <10,10,10>.
This is exactly what versions 3.5 and earlier did, and when I compare it
to the newer post-clipped anti-aliasing, certain effects, such as
highlights with blurred reflection, look pretty limp. There is a
trade-off between good hyper-white effects and good anti-aliasing, and
on balance, I'd have to say I prefer the latter. It is easier to post
process hyper-white effects than to boost an image whose contrasts have
been compromised by averaging out its brightest elements after they've
*already* been clipped.
I've attached examples of identical scenes rendered in 3.5 and 3.6. The
fact is, white is not just white.
Solving the post-clipping aliasing problem sounds like an ideal
application of luminous bloom, which is being discussed in the "A Quiet
Lane" thread. GIMP and Photoshop also have post-processing options.
Sam Benge has created luminous bloom post-processors in POV-Ray SDL.
This is the latest I have, though I do not know if he's done any further
work.
https://news.povray.org/4c2515e4%40news.povray.org
> There *is* a simplistic way of correcting this in pure radiosity scenes-- at
> least in certain circumstances-- by making two identical objects, one invisible
> with the high required emission value, and one that's visible but with an
> emission value of 1.0 (and a no_radiosity flag). But this scheme could get
> cumbersome.
It would also be problematic in reflections, as the object would appear
too dark reflected in any object that reflects less than 100%.
Post a reply to this message
Attachments:
Download 'micronormal-v3.5-preclipped.png' (252 KB)
Download 'micronormal-v3.6-postclipped.png' (254 KB)
Preview of image 'micronormal-v3.5-preclipped.png'
Preview of image 'micronormal-v3.6-postclipped.png'
|
|