





 
 




 
 


I'm pretty new to POVRay and have gotten somewhat experienced with its
coordinate system and how it places cameras.
I'm wondering what is the limit for coordinates? Take Blender, for example  it
starts losing precision after a few thousand meters, but what about POVRay?
TL;DR: What is the max reliable coordinate number in POVRay
Post a reply to this message


 
 




 
 


"HackerDaGreat57" <Hac### [at] gmailcom> wrote:
> I'm pretty new to POVRay and have gotten somewhat experienced with its
> coordinate system and how it places cameras.
>
> I'm wondering what is the limit for coordinates? Take Blender, for example  it
> starts losing precision after a few thousand meters, but what about POVRay?
>
> TL;DR: What is the max reliable coordinate number in POVRay
Well, I've never actually pushed that envelope that far, and in that manner.
But I would imagine that if we're using a source code version based on 32bit,
then it would be inherently limited by:
The range of a 32bit integer is from 2.14 billion to +2.14 billion, which is a
range of 4.28 billion, which is 232nd.
I usually try to limit my numbers to 1 x 10 ^ (+/) 6 if at all possible.
https://news.povray.org/povray.bugreports/thread/%3Cweb.5e9b0b9165bf5d0b5e8f98ff0%40news.povray.org%3E/
I'm sure Bill Pokorny and others have delved into the gory details of this and
have a much more accurate sense of min/max. I think that usually people run
into the most problems with the small numbers, because there are several
different places in the code, which may use different cutoff values.
If your values are too large, then your objects may simply disappear.
If you're doing a static scene, you may just want to use a scaling factor that
brings everything into a nice, manageable range of values.
If you're doing an animation, you might want to think about constructing your
scene such that your camera is at or close to the origin, and everything else is
defined in relation to that. You may also want to consider implementing some
form of proximity and LevelOfDetail scheme to detrmine if things are close
enough to the camera to even bother instantiating, and how the geometry and
texturing should be implemented. There's no reason to use an imagemap on an
isosurface object that's so far away that it will only be seen as a
coloraveraged, antialiased 4 pixel blob.... render it as a simple pigmented
sphere instead.
 Bill
Post a reply to this message


 
 




 
 


Le 20220604 à 07:20, Bald Eagle a écrit :
> "HackerDaGreat57" <Hac### [at] gmailcom> wrote:
>> I'm pretty new to POVRay and have gotten somewhat experienced with its
>> coordinate system and how it places cameras.
>>
>> I'm wondering what is the limit for coordinates? Take Blender, for example  it
>> starts losing precision after a few thousand meters, but what about POVRay?
>>
>> TL;DR: What is the max reliable coordinate number in POVRay
>
> Well, I've never actually pushed that envelope that far, and in that manner.
>
> But I would imagine that if we're using a source code version based on 32bit,
> then it would be inherently limited by:
>
> The range of a 32bit integer is from 2.14 billion to +2.14 billion, which is a
> range of 4.28 billion, which is 232nd.
>
>
> I usually try to limit my numbers to 1 x 10 ^ (+/) 6 if at all possible.
>
>
https://news.povray.org/povray.bugreports/thread/%3Cweb.5e9b0b9165bf5d0b5e8f98ff0%40news.povray.org%3E/
>
> I'm sure Bill Pokorny and others have delved into the gory details of this and
> have a much more accurate sense of min/max. I think that usually people run
> into the most problems with the small numbers, because there are several
> different places in the code, which may use different cutoff values.
>
> If your values are too large, then your objects may simply disappear.
>
> If you're doing a static scene, you may just want to use a scaling factor that
> brings everything into a nice, manageable range of values.
>
> If you're doing an animation, you might want to think about constructing your
> scene such that your camera is at or close to the origin, and everything else is
> defined in relation to that. You may also want to consider implementing some
> form of proximity and LevelOfDetail scheme to detrmine if things are close
> enough to the camera to even bother instantiating, and how the geometry and
> texturing should be implemented. There's no reason to use an imagemap on an
> isosurface object that's so far away that it will only be seen as a
> coloraveraged, antialiased 4 pixel blob.... render it as a simple pigmented
> sphere instead.
>
>  Bill
>
POVRay use double precision floats, not integer.
The real issue is the range of values between the smallest object and
the longest distance in the scene.
Post a reply to this message


 
 




 
 


On 04/06/2022 14:59, Alain Martel wrote:
> POVRay use double precision floats, not integer.
> The real issue is the range of values between the smallest object and
> the longest distance in the scene.
Completely !
IEEE 64Bit Floating Point Format say that decimal range for floating
numbers is approximately from 4.9 x 10^307 to 1.8 x 10^308

Kurtz le pirate
Compagnie de la Banquise
Post a reply to this message


 
 




 
 


Le 20220606 à 10:30, kurtz le pirate a écrit :
> On 04/06/2022 14:59, Alain Martel wrote:
>
>> POVRay use double precision floats, not integer.
>> The real issue is the range of values between the smallest object and
>> the longest distance in the scene.
>
> Completely !
>
> IEEE 64Bit Floating Point Format say that decimal range for floating
> numbers is approximately from 4.9 x 10^307 to 1.8 x 10^308
>
>
>
And, near both extremes, the granularity get pretty large. Like over
1000 between two values.
Post a reply to this message


 
 




 
 


If your scale gets too large you may start getting visual effects
involving lots of black pixels and spots. The problem here is that
POVRay hardcodes a value for DEPTH_TOLERANCE which is different for
each shape varying from 1.0e2 to 1.0e8. This tolerance determines
whether an intersection point is close enough to the surface to be
considered on the surface. Without it, rayobject intersection
calculations could calculate an intersection point on the other side of
the surface and cause it to be a dark or bright spot.
As your scale increases, these numbers lose precision and eventually
become ineffective. You start getting ray trace acne or shadow acne.
I would say you're probably safe on the scale of 1000 or even 10,000,
but once you get to millions you may start seeing problems. The depth
tolerance for polygons is the smallest at 1.0e8 so if you want to
experiment, polygons would be a good candidate.
David Buck
On 20220603 11:48 p.m., HackerDaGreat57 wrote:
> I'm pretty new to POVRay and have gotten somewhat experienced with its
> coordinate system and how it places cameras.
>
> I'm wondering what is the limit for coordinates? Take Blender, for example  it
> starts losing precision after a few thousand meters, but what about POVRay?
>
> TL;DR: What is the max reliable coordinate number in POVRay
>
Post a reply to this message


 
 




 
 


Hi(gh)!
On 04.06.22 05:48, HackerDaGreat57 wrote:
> I'm pretty new to POVRay and have gotten somewhat experienced with its
> coordinate system and how it places cameras.
>
> I'm wondering what is the limit for coordinates? Take Blender, for example  it
> starts losing precision after a few thousand meters, but what about POVRay?
>
> TL;DR: What is the max reliable coordinate number in POVRay
>
According to my personal experience, when it comes to object sizes,
anything from 0.000075 to 10,000,000 is rendered correctly. Distances,
however, are a different issue  for example, if you model the Solar
System at a scale of 1 unit = 1 km, most likely the Sun would not be
visible from Earth...
See you in Khyberspace!
Yadgar
Now playing: Arcanes ac (Richard Vimal)
Post a reply to this message


 
 




 

