POV-Ray : Newsgroups : povray.beta-test : blob problem : blob problem Server Time
24 Apr 2024 22:10:34 EDT (-0400)
  blob problem  
From: Micha Riser
Date: 7 Sep 2001 13:34:36
Message: <3b99052c@news.povray.org>
Actually this is something I have already noticed in POV 3.1 and once 
reported to p.g but it did not get much attention. Try the following:

#include "colors.inc"
background{White}
camera{
  angle 15
  location <0,.2,-1.0>
  look_at <0,0,0>                           
  }

light_source{ <10,20,-10> color White}
blob {
  threshold .65
  sphere{ <.05,0,0>,.08,1 pigment{Blue}}
  sphere{ <-.05,0,0>,.08,1 pigment{Pink}}
  finish{phong 1}
  }
                            
sphere{<.05,0,0>,.08 
  pigment{Yellow transmit .95}
  }

sphere{<-.05,0,0>,.08
  pigment{Green transmit 1}
  }

This is basically the example from section 3.4.2. just scaled by a factor 
.1 and the spheres made more transparent. When you render it you see that 
there is a part from the blob missing where the sphere intersects it!

This effect gets worse when you scale the scene down more. I know that 
POV-Ray is known to behave strange when you use extremely small values  but 
I think .08 isn't that small (the effect is even noticeable with the 
original sample scene if you render it at high resolution).

Actually I have found some kind of fix to the problem. As there was no 
response to the problem when I reported it I had a look at 'blob.c' from 
the source and found the magic constant 'DEPTH_TOLERANCE' which is by 
default set at 1.0e-2. I decreased the value to 1.0e-5 and the effect 
became barley visible any more. I must admit that I have no idea what this 
constant actually is good for... but I think somebody who knows about it 
should rethink the value (as it seems still be the same in pov 3.5).

One could even decrease this value more... but I though doing it just a 
little would saver. I have used a version with this correction for quite 
some time now and I have not recognised any problems or an increase in 
render time.

Blobs generally seem to have problem with very small radii, try e.g.

#include "colors.inc"
background{White}
camera{
  angle 15
  location <0,.2,-1.0>
  look_at <0,0,0>                           
  }

light_source{ <10,20,-10> color White}
blob {
  threshold .65
  sphere{ <.0005*4,0,0>,.0008*4,1 pigment{Blue}}
  sphere{ <-.0005*4,0,0>,.0008*4,1 pigment{Pink}}
  finish{phong 1}
  scale 100/4
  }
       
Not much of the original blob left :( Changing the constant mentioned above 
does not help. I can life with that as this is only the case if radii get 
really small. Maybe a note in the docs?

Well, as I checked the docs again for blobs I found something strange:
In section 3.4.2 there are references to scene files named 'blobdemoX.pov' 
(X=1..4). Hmm.. fine I thought and wanted to load them - but I nowhere 
found them in the scenes directory. I thought one was probablly to create 
these files oneself as said sometimes. While sometimes it is clearly 'Now 
we create a scene file named ...', sometimes the docs say 'see xxx.pov' 
which means for me that this file comes together with the distribution. 
Then I had a look at other sections in 3.x and found even more references, 
e.g. to 'lathdem1.pov', and most clearly at the end of 3.4.6: 
'More complex examples,'...'can be found under the scene directory as 
chesmsh.pov and robotmsh.pov.'
I can find chesmsh.pov but nowhere robotmsh.pov. Wondering about all that I 
thought the files were just missing in the beta 3.5... and I had a look at 
the pov 3.1 files. But it is missing there as well! Is this known or 
intentionally or ...??

My system:
Intel PIII800Mhz, vmware for linux emulating win95, 512MB RAM.

- Micha


Post a reply to this message

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