POV-Ray : Newsgroups : povray.general : to litle precision ? : Re: to litle precision ? Server Time
5 Aug 2024 18:26:28 EDT (-0400)
  Re: to litle precision ?  
From: Rafal 'Raf256' Maj
Date: 8 Aug 2002 05:16:04
Message: <Xns926472032A5E1raf256com@204.213.191.226>
"Slime" <slm### [at] slimelandcom> wrote in news:3d51cdd2$1@news.povray.org

>> 2. how about generate 2 binary distributions of POV - second
>> executable file will have extra accuarity (by cost of speed) ?
> What you've described sounds to me like a floating point accuracy
> issue. This is likely not a cause of speedups, but rather the fact
> that at some point a number becomes too small to be held in whatever
> data type they're holding numbers in, so it gets rounded to zero,
> which causes problems. 

yes,

> Since it's a floating point accuracy problem,
> and there are no *approximations* occuring here, there's no way to
> sacrifice speed for accuracy. 

I was thinking abut changing float to double in sources.
In fact, this is tryvial to modify sources that way, best - change all 
"float" into "tMath" and then add some precision.h to each file :

#if version_precision=0
  typedef tMath float;
#end
#if version_precision=1
  typedef tMath double;
#end
#if version_precision=2
  typedef tMath long double;
#end

1 - standart using

2 - using with small objects (when user is to lazy to scale up scene), or 
with final render of realy complex images

3 - for very special usage, like huge scene - i.e. Earth, with model of 
human, and animation of i.e. Spaceship - it starts on earth looking at 
human 0.1 units, and ends on orbit looking on 1e6 sphere 

so... can someone just re-compile pov with this little change ?

-- 
#macro g(U,V)(.4*abs(sin(9*sqrt(pow(x-U,2)+pow(y-V,2))))*pow(1-min(1,(sqrt(
pow(x-U,2)+pow(y-V,2))*.3)),2)+.9)#end#macro p(c)#if(c>1)#local l=mod(c,100
);g(2*div(l,10)-8,2*mod(l,10)-8)*p(div(c,100))#else 1#end#end light_source{
y 2}sphere{z*20 9pigment{function{p(26252423)*p(36455644)*p(66656463)}}}//M


Post a reply to this message

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