Real-time Multi-perspective Rendering on Graphics Hardware
Multi-perspective rendering has a variety of applications; examples include lens refraction, curved mirror reflection, caustics, as well depiction and visualization. However, multi-perspective rendering is not yet practical on polygonal graphics hardware, which so far has utilized mostly single-perspective (pin-hole or orthographic) projections. In this paper, we present a methodology for real-time multi-perspective rendering on polygonal graphics hardware. Our approach approximates a general multi-perspective projection surface (such as a curved mirror and lens) via a piecewise-linear triangle mesh, upon which each triangle is a simple multi-perspective camera, parameterized by three rays at triangle vertices. We derive analytic formula showing that each triangle projection can be implemented as a pair of vertex and fragment programs on programmable graphics hardware. We demonstrate real-time performance of a variety of applications enabled by our technique, including reflection, refraction, caustics, and visualization.