|
|
Hi,
Here is a quite simple code:
<<<<<
#include "colors.inc"
#include "glass.inc"
#declare un=1/446;
camera {
location <0, 0, -5*un>
look_at <0, 0, 0>
angle 30
}
light_source { < 1*un,3*un,-4*un>, color White }
light_source { < 1*un,1*un,-4*un>, color White }
blob {
threshold .5
sphere {<0,0,0>,1*un,1}
texture { pigment { color Green } }
sturm on
}
sphere {<0,0,0>,.1*un texture { pigment { color Red } } }
>>>>>
A trivial blob enclose a red sphere that shouldn't be visible.
A variable, "un" modify the scale of the whole scene, so that any
reasonable value of un should return the same output.
For value of un>1/445 that seems to be the case.
For lower values, 1/446 and lower, the blob start rendering a bit odd,
and in fact we start to see the red sphere. Before un=1/1000 the blob is
completely gone, leaving just the red sphere.
1/1000 makes floating values around 10^-3 for the different objects that
should be very reasonable for any scene computation accuracy. So why
does my blob disappear?
Thanks for any help,
Yannick
PS: I came on this while working on some spaceship rendering where large
different scales are at work. I defined:
#declare km= 1;
#declare m= km/1000;
#declare cm= m/100;
#declare mm= m/1000;
#declare um= mm/1000;
On a single scene, it may likely range from a slightly sub-millimeter
scale (details of everyday objects) to some hundreds of millions of km
(planets in solar system), that is around 10^-7 to 10^9 in povray units.
I'm afraid that it wont work for the larger scales, and so that I'll
have to cheat somehow (rescaling planets and putting them closer,
maybe). But I wasn't expecting problems around 10-3.
Post a reply to this message
|
|