POV-Ray : Newsgroups : povray.general : Object scale : Re: Object scale Server Time
24 Apr 2024 21:01:55 EDT (-0400)
  Re: Object scale  
From: Alain Martel
Date: 3 Feb 2022 10:51:04
Message: <61fbf9e8$1@news.povray.org>
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

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