SafeGI: Type Checking to Improve Correctness in Rendering System Implementation

dc.contributor.authorOu, Jiaweien_US
dc.contributor.authorPellacini, Fabioen_US
dc.date.accessioned2015-02-23T16:57:34Z
dc.date.available2015-02-23T16:57:34Z
dc.date.issued2010en_US
dc.description.abstractHistorically, rendering system development has been mainly focused on improving the numerical accuracy of the rendering algorithms and their runtime efficiency. In this paper, we propose a method to improve the correctness not of the algorithms themselves, but of their implementation. Specifically, we show that by combining static type checking and generic programming, rendering system and shader development can take advantage of compile-time checking to perform dimensional analysis, i.e. to enforce the correctness of physical dimensions and units in light transport, and geometric space analysis, i.e. to ensure that geometric computations respect the spaces in which points, vectors and normals were defined. We demonstrate our methods by implementing a CPU path tracer and a GPU renderer which previews direct illumination. While we build on prior work to develop our implementations, the main contribution of our work is to show that dimensional analysis and geometric space checking can be successfully integrated into the development of rendering systems and shaders.en_US
dc.description.number4en_US
dc.description.seriesinformationComputer Graphics Forumen_US
dc.description.volume29en_US
dc.identifier.doi10.1111/j.1467-8659.2010.01722.xen_US
dc.identifier.issn1467-8659en_US
dc.identifier.pages1269-1277en_US
dc.identifier.urihttps://doi.org/10.1111/j.1467-8659.2010.01722.xen_US
dc.publisherThe Eurographics Association and Blackwell Publishing Ltden_US
dc.titleSafeGI: Type Checking to Improve Correctness in Rendering System Implementationen_US
Files