|
|
Am 22.07.2014 09:11, schrieb scott:
>> A less artifact-prone replacement for the effect that official POV-Ray
>> uses radiosity for (so-called Global Illumination)? Raise your hand, and
>> I'll make it happen in UberPOV.
>
> I don't know what you have in mind for this, if it's not the render over
> and over again approach?
Essentially that, yes.
At the moment, for Global Illumination UberPOV still uses the same
approach as POV-Ray: On an object's surface it chooses some points more
or less at random, for which it computes indirect illumination with high
precision(*), and caches this information; for any points in between,
indirect illumination is interpolated from nearby cached samples. This
interpolation can lead to systematic artifacts that are difficult to get
rid of - obviously it's not enough to just sample the image over and
over again with the same set of cached samples.
(*) Computation of indirect illumination is done simply by shooting a
number of secondary rays, and see what light might come from other
objects present there; the more rays are shot, the more precise the
result will be.
To avoid the typical POV-Ray radiosity artifacts, MCPov (re-)computes
indirect illumination for each and every point on an object's surface,
and doesn't cache the results at all. Usually this is done with a
comparatively low precision, which also leads to artifacts; however,
they manifest as random noise that can be reduced by oversampling pixels
over and over again.
>> Render over and over again while you sit and watch, until you're happy
>> with the result? Not supported in UberPOV yet; it's on the agenda, but
>> may require quite some intrusion into the POV-Ray architecture. What
>> UberPOV does already support, however, is an "anti-aliasing" mode (or,
>> more to the point, an oversampling mode) that allows you to specify what
>> quality you'd be happy with, and UberPOV will do the
>> rendering-over-and-over-again in the background until the quality
>> criteria are met.
>
> This seems like a better approach, as with MCPov you're often left
> re-rendering the entire image waiting for just a small dark area to
> smooth out.
It's not all that bad; MCPov does spend more time on areas of the image
that prove to really need the additional work.
> So if you implement the less artefact-prone GI and combine it with the
> per-pixel oversampling it should be something better than MCPov? Sounds
> good to me! Hand firmly raised!
I'm not sure if it that'll suffice to indeed be better than MCPov; time
will tell. A definitive advantage will be the full support for
multithreading.
Two other things that had always bothered me about MCPov is that it
doesn't allow the use of classic light source (which would be far less
noisy and hence much faster than using bright spheres), and that it has
a factor-2 error in diffuse computations that make it necessary to use
different finish settings. Both make it excessively difficult to create
scenes that render essentially identical (except for artifacts or noise)
in both POV-Ray and MCPov. Needless to say that UberPOV is intended to
do a better job in that respect.
Post a reply to this message
|
|