Rendering Iridescent Objects in Real-time
Summary
Current thin film interference rendering methods focus either solely on accuracy, performance or render only a specific iridescent object. We propose a method for rendering iridescent objects in real-time that strives to be as physically accurate as possible while providing intuitive parameters, generality and great performance. It is implemented as a shader running on the GPU in our custom physically-based OpenGL renderer. Our method is based on a multi-layered thin film interference algorithm for specular reflection and specular transmission, though we have made algorithmic changes in order to speed up the simulation process. We have also extended the robustness of the algorithm by considering the spatially varying nature of the thin film thickness across the surface of objects. We call this spatially varying thickness or SVT for short.