|
|
Le 2022-02-03 à 08:41, William F Pokorny a écrit :
> On 1/31/22 10:50, Chris R wrote:
>> Is there anything inherent to the way POV processes isosurfaces (and
>> radiosity
>> for that matter) that would make the scale of scene objects relevant
>> to the
>> results, or are any differences in scaling just a matter of floating
>> point
>> rounding errors? For SSLT, it does seem that units matter, because
>> there is the
>> global mm_per_unit setting to tune SSLT.
>>
>> I have seen suggestions from time to time in the newsgroups about
>> scaling up
>> isosurface objects if you are having difficulty cleaning up holes, or
>> speeding
>> up the rendering, but again, is that because of the way isosurfaces are
>> processed or just the rounding errors?
>>
>> In my own scenes, I have created macros to declare unit-based sizes,
>> and never
>> use unit-less declarations any more. I tend to model scenes I find in
>> the real
>> world, so I use the units based on my measuring device at the time,
>> and/or known
>> sizes of real-world instances of those objects. I grew tired of
>> trying to
>> remember whether I used metric or English measurements and doing the
>> conversions, so I created the macros. In addition, I set things up so
>> I can
>> change the base unit used when rendering the scene. By default I work
>> in 1cm =
>> 1 POV unit, but if FP errors are getting in the way, I can easily
>> change it to
>> meters or millimeters as needed.
>>
>> -- Chris R.
>>
>>
>
> :-) Questions like these I find hard to answer. Completely reasonable,
> but the answers go on for as far as I can see!
>
> In all official POV-Ray it's a good idea to keeps everything defined
> within a 1e-2 to 1e+5 numerical space if you can. This just where things
> work best numerically in official POV-Ray today.
>
> The recommendation to scale up, I think has come about over time because
> new users tend to set up symmetrically around 0.0 and POV-Ray's good
> numerical space isn't centered about zero. Scaling up often helps - you
> can get into numerical trouble that way too...
>
> The numerical reality is immensely complicated in a tool like POV-Ray.
> For example, some surfaces, shapes can support a larger numerical range.
> Triangle meshes, spheres and boxes are effectively low order numerical
> problems and these often work over a larger numerical range. The
> distance rays are traveling between source and intersections matters to
> the resultant numerical accuracy.
>
> There is nothing particular to isosurfaces about centering your scenes
> numerically where POV-Ray generally works best.
>
> What is true about isosurfaces is the accuracy keyword value matters and
> the default (0.001) is often too small for the image size of scenes
> today(1). I start now at 0.0005 and tune if need be. The very best
> accuracy achievable with an isosurface tends to be about 1e-6. This a
> result of the solver technique and practical performance. Performance
> degrades as accuracy goes up. I almost always define isosurfaces
> somewhat closely around the origin for size(2) and scale as needed into
> the scene.
>
> Bill P.
>
> (1) - Most shapes control accuracy internally to some preset value which
> is - almost always - smaller than 1e-3.
>
> (2) - The isosurface shape itself is reasonably centered numerically and
> that accuracy value is a local, solver space, value.
One case that I've encountered where scalling up was needed was a scene
where 1 POV unit represented about 100m, and everything in it was human
scalled. There was some heavy bleeding in all corners.
Post a reply to this message
|
|