|
![](/i/fill.gif) |
Alain wrote:
> Problems with floating point rounding errors.
> An easy solution:
> Scale your scene by 100 and divide the density by 100 and the cross is
> almost gone. Increase that to 1000 and you no longer see the artefacts.
Strange, but it works. But how can it? Floating point numbers are
represented by radix and exponent. Usually errors are introduced when
e.g. subtracting two similar numbers, thus challenging the radix'
accuracy. Those cannot be solved by such scaling, suggesting the
exponent in the floating point does not suffice to represent
intermediate results. Supposing double precision floats, this would
mean some significant intermediate results are between 2^(-1024) and
2^(-1024)/1000?
In any case I'm happy to have a workaround, but I'm still trying to
understand the source of the problems.
>
> A question: Why use a lathe when you have the cone primitive?
>
Because I lack adequate knowledge on the primitives :)
Thanks!
Post a reply to this message
|
![](/i/fill.gif) |