POV-Ray : Newsgroups : povray.binaries.images : Why do ISO surfaces slow down radiosity so much? - 1 attachment : Re: Why do ISO surfaces slow down radiosity so much? - 1 attachment Server Time
16 Aug 2024 06:14:46 EDT (-0400)
  Re: Why do ISO surfaces slow down radiosity so much? - 1 attachment  
From: Sir Charles W  Shults III
Date: 11 Apr 2002 11:14:48
Message: <3cb5a868$1@news.povray.org>
Having done a lot of simulation and coding with long math functions, I find
that after three or four steps, floating point roundoff creeps into a lot of
functions.  This might be one source of that "surface speckle" or rough effect
that some isosurfaces demonstrate.  That can cause a lot of trouble for ray
tracing.
    I am not in any way familiar with the deep coding in POVray, but it seems to
me that averaging a number of solutions might be one approach to getting rid of
the speckles.  If that is what is being done, then it would easily explain the
slowdown in speed.
    In particular, using complex functions such as trig or log values to create
a form can lead to an inherent "graininess" due to those functions being very
sensitive to initial input value.  They would sometimes tend to magnify the
floating point resolution of the math.  Take the log function, for example.
    If you input a value and perform a log calculation on it, the answer is
usually much smaller than the input.  In that case, a variation of an order of
magnitude leads to perhaps a single digit change in the output.  In that case,
the function is very insensitive to the floating point resolution of the system.
    On the other hand, if you are using arctangent or exponent functions, a tiny
change in input value can lead to significant changes in the output value.  A
one-bit change in the input can lead to a many-bit change in the output.  So
supplying an argument at the input that is one bit different from a previous
value can lead to a large difference in the result.  This means that "noise" can
actually swamp out the real answer or move the value around quite a bit.
    This can be very significant if that function is at the tail end of four or
twenty calculations, where the machine has reached system roundoff in a few of
those steps.  There you will find your source of random surface noise; the
inherent "quantum" graininess of any digital computing system.

Cheers!

Chip Shults
My robotics, space and CGI web page - http://home.cfl.rr.com/aichip

light_source{0#macro k(_)sphere{13*z+i*_.5pigment{agate}finish{phong.3}}#end
1}#macro _(s,i,g)#if(s)k(1)k(-1)_(s-1i+g,g)#end#end _(3x+3*y<2,-2>)_(2x,y)_(
2x-y,x)_(4x*3,-y)_(4<3,1>x)_(2x*6,-y)


Post a reply to this message

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