POV-Ray : Newsgroups : povray.general : to litle precision ? Server Time
6 Aug 2024 02:22:00 EDT (-0400)
  to litle precision ? (Message 6 to 15 of 35)  
<<< Previous 5 Messages Goto Latest 10 Messages Next 10 Messages >>>
From: ABX
Subject: Re: to litle precision ?
Date: 8 Aug 2002 05:47:40
Message: <c0f4lugf5td0u587r8ksrfeucslu9sc4ms@4ax.com>
On Thu, 08 Aug 2002 11:33:43 +0200, Christoph Hormann <chr### [at] gmxde>
wrote:
> Very funny.  If you had a quick look into the source you would have seen
> POV-Ray uses double for all geometry data.

Anyway seems there can be some mistakes made by writers. I imagined there
should be only one instance of keyword 'double' in the whole package:
  #define DBL double
but seems authors left some 'double' in a few more places. Perhaps some of
them should be probably replaced with DBL. The same appear for float.

ABX


Post a reply to this message

From: Warp
Subject: Re: to litle precision ?
Date: 8 Aug 2002 07:39:15
Message: <3d525862@news.povray.org>
ABX <abx### [at] babilonorg> wrote:
> POV already use double for calculations.
> Float is used for color values only iirc.

  POV-Ray uses floats for meshes (which gives me cold shivers... but on the
other hand it saves a huge amount of memory). I haven't checked, but it is
very possible that it also uses floats for heightfields.

-- 
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -


Post a reply to this message

From: Warp
Subject: Re: to litle precision ?
Date: 8 Aug 2002 07:40:02
Message: <3d525891@news.povray.org>
Christoph Hormann <chr### [at] gmxde> wrote:
> Very funny.  If you had a quick look into the source you would have seen
> POV-Ray uses double for all geometry data.

  Look closer to how mesh vertices are stored...

-- 
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}//  - Warp -


Post a reply to this message

From: Rafal 'Raf256' Maj
Subject: Re: to litle precision ?
Date: 8 Aug 2002 07:47:36
Message: <Xns92648BB15FDBEraf256com@204.213.191.226>
Christoph Hormann <chr### [at] gmxde> wrote in 
news:3D523AF7.52E6D391@gmx.de

> Very funny.  If you had a quick look into the source you would have seen
> POV-Ray uses double for all geometry data.  Instead of jumping to quick
> conclusions it sometimes helps to look into the matter more deeply.

after looking deep into sources :

1. mesh use float's

2. my conclusion - low tollerance/epsilon/data precision product error was 
in fact correct - from lighting.cpp :


 * "Small_Tolerance" is just too tight for higher order polynomial 
equations.
 * this value should probably be a variable of some sort, but for now just
 * use a reasonably small value.  If people render real small objects real
 * close to each other then there may be some shading problems.  Otherwise
 * having SHADOW_TOLERANCE as large as this won't affect images.

#define SHADOW_TOLERANCE 1.0e-3

3. so I'm preparing a small unoficial version, with just litte boost-up of 
some variables (lower tolerances, higher max max_trace_levels, 
intersections, etc)



-- 
#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

From: ABX
Subject: Re: to litle precision ?
Date: 8 Aug 2002 07:56:45
Message: <7jm4lu4jg6nar7m8iud8osf1d7bgjdk9it@4ax.com>
On 8 Aug 2002 07:47:36 -0400, "Rafal 'Raf256' Maj" <raf### [at] raf256com> wrote:
> after looking deep into sources :
>
> 1. mesh use float's

I can be wrong but I think they are only stored as floats. They are used in
intersection tests as doubles probably. So it is rather that vertices are
"aligned" to grid but still should be accurate the same way.

> 3. so I'm preparing a small unoficial version, with just litte boost-up of 
> some variables (lower tolerances, higher max max_trace_levels, 
> intersections, etc)

I'm really interested in results.

ABX


Post a reply to this message

From: Rafal 'Raf256' Maj
Subject: Re: to litle precision ?
Date: 8 Aug 2002 08:02:13
Message: <Xns92648E2AFAC22raf256com@204.213.191.226>
ABX <abx### [at] babilonorg> wrote in
news:7jm4lu4jg6nar7m8iud8osf1d7bgjdk9it@4ax.com 

>> 3. so I'm preparing a small unoficial version, with just litte
>> boost-up of some variables (lower tolerances, higher max
>> max_trace_levels, intersections, etc)
> I'm really interested in results.

ok, but patch will be ready probalby not ready before next 2..4 weeks.
I'll announce in it .patches and here
wish me luck :)

and - this (not mesh as float's) is the problem - an it easy to explain.
heightfield scaled by <20,5,20> with 4096^2 bitmap has triangles as small 
as 20/4096 - with get close to shadow tollerance, especialy in this parts 
of map that has to low gradient, as on this images :

http://www.raf256.com/pov/hf_shadow_problem/ (in 30 min on server)

-- 
#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

From: ABX
Subject: Re: to litle precision ?
Date: 8 Aug 2002 08:08:20
Message: <lfn4lu85n5uq50dg3d22n4a93jn1bl9ge1@4ax.com>
On 8 Aug 2002 08:02:13 -0400, "Rafal 'Raf256' Maj" <raf### [at] raf256com> wrote:
> ok, but patch will be ready probalby not ready before next 2..4 weeks.
> I'll announce in it .patches and here
> wish me luck :)

I'm happy I forced you to code :-)

> and - this (not mesh as float's) is the problem - an it easy to explain.
> heightfield scaled by <20,5,20> with 4096^2 bitmap has triangles as small 
> as 20/4096

No! It has the triangles as small as 1/4096. Scale is stored in transformation
structure AFAIK.

ABX


Post a reply to this message

From: Rafal 'Raf256' Maj
Subject: Re: to litle precision ?
Date: 8 Aug 2002 08:26:42
Message: <Xns9264925165D92raf256com@204.213.191.226>
ABX <abx### [at] babilonorg> wrote in
news:lfn4lu85n5uq50dg3d22n4a93jn1bl9ge1@4ax.com 

>> ok, but patch will be ready probalby not ready before next 2..4
>> weeks. I'll announce in it .patches and here
>> wish me luck :)
> I'm happy I forced you to code :-)

:)

>> and - this (not mesh as float's) is the problem - an it easy to
>> explain. heightfield scaled by <20,5,20> with 4096^2 bitmap has
>> triangles as small as 20/4096
> No! It has the triangles as small as 1/4096. Scale is stored in
> transformation structure AFAIK.

any way - http://www.raf256.com/pov/hf_shadow_problem/ is prooving that 
shadow tollerance is to small, or did I do something wrong ?


-- 
#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

From: ABX
Subject: Re: to litle precision ?
Date: 8 Aug 2002 08:29:30
Message: <3uo4lusiskkth2pjukevr27kt6hd7r1bip@4ax.com>
On 8 Aug 2002 08:26:42 -0400, "Rafal 'Raf256' Maj" <raf### [at] raf256com> wrote:
> any way - http://www.raf256.com/pov/hf_shadow_problem/ is prooving that 
> shadow tollerance is to small, or did I do something wrong ?

probably, becouse there is a lot of php errors there :-(

ABX


Post a reply to this message

From: Rafal 'Raf256' Maj
Subject: Re: to litle precision ?
Date: 8 Aug 2002 08:32:02
Message: <Xns9264933971230raf256com@204.213.191.226>
ABX <abx### [at] babilonorg> wrote in
news:3uo4lusiskkth2pjukevr27kt6hd7r1bip@4ax.com 

>> any way - http://www.raf256.com/pov/hf_shadow_problem/ is prooving
>> that shadow tollerance is to small, or did I do something wrong ?
> probably, becouse there is a lot of php errors there :-(

page is being _now_ uploading - wait a second ;)

-- 
#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

<<< Previous 5 Messages Goto Latest 10 Messages Next 10 Messages >>>

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