Lukas Winter schrieb:
>
> The existing cache explicitely excludes shadow rays. It also does a poor
> job when there are several isosurfaces in the scene. The reason is that
> most of the time subsequent tests come in the same order, i.e. several
> _different_ kinds of tests repeat in a certain order but the cache only
> speeds up _similiar_ rays. So one cache entry overrides another and there
> are a lot of cache misses that could have been avoided if the cache kept
> older entries. On the other hand the cache should not be too big to avoid
> expensive tests against very old entries. I usually use 2 or 3 cache
> entries per isosurface.
is this cache per thread or global? The former would make more sense
since the rays are only correlated in a thread and not between several
ones. Also it would make sense to exclude radiosity rays.
> The code tries to move the point where it splits the current interval in
> two intervals to a better place under some circumstances. But a speed-up
> thanks to this is very rare.
Sounds much like the sphere tracing technique to me - i once tried this
and it did not seem to be have a significant advantage to me. Some more
on this can be found in stuff on:
http://graphics.cs.uiuc.edu/~jch/papers/?cat=implicit
If more information is known about the isosurface function things can be
different of course.
-- Christoph
Post a reply to this message
|