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