An implementation of General Linear Camera Using PovRay 3.6
By Liang Wei OCT,20th
General Linear Camera (GLC) is a novel camera model proposed by Jingyi Yu and Leonard McMillan.[1]. It is "General" in the sense that it can describe all perspective (pinhole), orhtographic, and many multiperspective (including pushbroom and two-slit) cameras, as well as three new and unexplored multipespective cameras. Given any vector space where rays are represented as points, GLC describes all 2D affine subspace that can be formed by alffine combination of three rays.
My implementation of GLC involves modifying a free raytracer named PovRay (you can find their website Here), and adding new grammas in its SDL (Scene Description Language), to make it support the functionality of defining a new General Linear Camera, and an arbitrary image plane and up-right unit vectors associated with this new kind of camera. At last you can see the raytraced image of pinhole, orthographic, pushbroom and two-slit cameras defined by GLC, in the following pictures:
the Kichen Scene is coded by Jaime Vives Piqueres

Kichen Scene Produced by Pinhole GLC

Kichen Scene Produced by Two-slit GLC

Kichen Scene Produced by Orthographic GLC

Kichen Scene Produced by Pushbroom GLC