Transparent Distributed Processing for Rendering
Rendering, in particular the computation of global illumination,
uses computationally very demanding algorithms. As a consequence
many researchers have looked into speeding up the computation
by distributing it over a number of computational units.
However, in almost all cases did they completely redesign the relevant
algorithms in order to achieve high efficiency for the particular
distributed or parallel environment.
At the same time global illumination algorithms have gotten
more and more sophisticated and complex. Often several basic algorithms
are combined in multi-pass arrangements to achieve the
desired lighting effects. As a result, it is becoming increasingly
difficult to analyze and adapt the algorithms for optimal parallel
execution at the lower levels. Furthermore, these bottom-up approaches
destroy the basic design of an algorithm by polluting it
with distribution logic and thus easily make it unmaintainable.
In this paper we present a top-down approach for designing distributed
applications based on their existing object-oriented decomposition.
Distribution logic, in our case based on the CORBA middleware
standard, is introduced transparently to the existing application
logic. The design approach is demonstrated using several
examples of multi-pass global illumination computation and raytracing.
The results show that a good speedup can usually be obtained
even with minimal intervention into existing applications.