POV-Ray : Newsgroups : povray.programming : isosurface intersection code rewrite : Re: isosurface intersection code rewrite Server Time
27 Apr 2024 08:26:32 EDT (-0400)
  Re: isosurface intersection code rewrite  
From: Christoph Hormann
Date: 12 Mar 2008 07:50:03
Message: <47d7d17b@news.povray.org>
Lukas Winter schrieb:

> Hi,
> as I was very interested in the isosurface intersection code I did a 
> complete rewrite of it based on the beta source. My new code moves all 
> the global and thread global structures and variables into classes and I 
> implemented some optimisations:
> - Every isosurface now has a separate cache with multiple entries (speeds 
> up camera ray tests, shadow ray tests and reflection ray tests)

I am not sure how this is meant - the existing isosurface cache IIRC 
speeds up subsequent rays missing the surface.

> - Intersection points are interpolated, so much smaller accuracies are 
> sufficient

This is already in MegaPOV and i thought it also was in 3.7.

> - An expensive optimisation that could speed up calculations when using 
> very slow functions (and slow down when using faster functions...)

More details would be required on this.

> 
> Mostly due to the bigger cache raw isosurface performance (tested with 
> Christoph Hormann's SCC3 entry, all rays hit the isosurface, radiosity 
> off) is now about 25% bigger. The new code makes about 10% less function 
> VM calls. I did not do long tests but the new code is always faster... I 
> implemented almost (some statistics code is missing) all features of the 
> current beta. The results are not identical but the reason is 
> interpolation which leads to a higher quality!

Interpolating the intersection point should converge to the same result 
as not doing so in all well defined cases.

-- Christoph


Post a reply to this message

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