Accelerating the irradiance cache through parallel component-based rendering

The irradiance cache is an acceleration data structure which caches indirect diffuse samples within the framework of a distributed ray-tracing algorithm. Previously calculated values can be stored and reused in future calculations, resulting in an order of magnitude improvement in computational perf...

ver descrição completa

Detalhes bibliográficos
Autor principal: Debattista, Kurt (author)
Outros Autores: Santos, Luís Paulo (author), Chalmers, Alan (author)
Formato: conferencePaper
Idioma:eng
Publicado em: 2006
Assuntos:
Texto completo:http://hdl.handle.net/1822/5447
País:Portugal
Oai:oai:repositorium.sdum.uminho.pt:1822/5447
Descrição
Resumo:The irradiance cache is an acceleration data structure which caches indirect diffuse samples within the framework of a distributed ray-tracing algorithm. Previously calculated values can be stored and reused in future calculations, resulting in an order of magnitude improvement in computational performance. However, the irradiance cache is a shared data structure and so it is notoriously difficult to parallelise over a distributed parallel system. The hurdle to overcome is when and how to share cached samples. This sharing incurs communication overheads and yet must happen frequently to minimise cache misses and thus maximise the performance of the cache. We present a novel component-based parallel algorithm implemented on a cluster of computers, whereby the indirect diffuse calculations are calculated on a subset of nodes in the cluster. This method exploits the inherent spatial coherent nature of the irradiance cache; by reducing the set of nodes amongst which cached values must be shared, the sharing frequency can be kept high, thus decreasing both communication overheads and cache misses. We demonstrate how our new parallel rendering algorithm significantly outperforms traditional methods of distributing the irradiance cache.