Introduction
Authors: Tzu-Chieh Chang, Ming Ouhyoung
To develop a graphics project with ease and confidence, the reliability and extensibility of the underlying framework are essential. While there are existing options, e.g., pbrt-v3 and Mitsuba, they either focus on education or not being updated for a long time. We would like to present an alternative solution named Photon. Photon is an open-source and cross-platform1 rendering system that, in its core, is designed with modularity and research in mind. The goal of our system is to provide a set of building blocks to facilitate the implementation of new rendering algorithms, as well as a unified foundation for comparing the performance of different methods. In addition, our system comes with both CLI and GUI applications, and the later is particularly useful for interactive visualization of the rendering progress. A Blender add-on is also available for content creation and can export 3-D assets to our scene description format. In this article, we first propose a tri-layer software architecture that encapsulates common graphics concepts as independent modules, while maintaining the ability to fine-tune the behavior of each submodule. Secondly, we demonstrate the flexibility of the architecture by implementing several rendering algorithms, then showcasing some useful features. Finally, we conclude with a general comparison between similar systems and planned features for future releases.
Downloads and Links
- Abstract (13.3 MB)
- Poster (828 KB)
- Link to ACM Digital Library
- This is an open-source project. Full source code available.