Computer graphics is an application area that has seen dramatic performance improvement due to special-purpose hardware architectures in the form of highly successful commercial Graphics Processing Units (GPUs). In large part, this is due to the ability of traditional GPUs to stream data from memory, exploiting the predictable nature of the z-buffer raserization algorithm used for rendering images. However, realistic image synthesis and realistic lighting require a different rendering algorithm: ray tracing. Unfortunately, ray tracing has not been able to benefit fully from existing GPUs because of its fundamentally irregular memory access patterns.
Our major goals are to explore new algorithms and new hardware architectures for highly realistic computer graphic image synthesis that provides high performance and consume significantly less power than current GPU growth trends. Specifically we focus on Ray Tracing as a rendering algorithm. Ray tracing has well-understood advantages in supporting realistic rendering with high quality composite global lighting effects. It is also highly amenable to parallel processing, albeit utilizing a different type of parallelism than offered by current commercial GPUs. Ray tracing can also be naturally throttled to adjust the image quality given real-time temporal or energy constraints. This is much more difficult with the z-buffer based rendering techniques used by current commercial GPUs.