POTA – New Camera Shader for Arnold
Subscribe:  iCal  |  Google Calendar
Kyiv UA   22, Sep — 23, Sep
Valletta MT   23, Sep — 29, Sep
24, Sep — 27, Sep
Tokyo JP   25, Sep — 27, Sep
San Diego US   27, Sep — 30, Sep
Latest comments

Bought it!

Thanks for the post. I am very glad after ready and sex viet get useful information about the philosophy.jack

This results to a toxic friendship; where your friend feeds you all the negative juice and you drink it up. As a result, you become emotionally bruised and drained.gfre

POTA - New Camera Shader for Arnold
8 July, 2018

POTA is an implementation of Sparse high-degree polynomials for wide-angle lenses [2016]. It renders images with high-order aberrations, at a fraction of the cost of tracing rays through lens elements. It is done by pre-calculating fitted polynomials, which serve as a black-box to transform the rays on the sensor to rays on the outer pupil. All credit goes out to the authors of the paper, I only wrote the implementation for Arnold. 

This shader represents 20 years of research efforts in camera shaders compared to ZOIC, where every single camera ray was physically traced through every lens element [based on a paper by Kolb et al from 1995]. The visual quality is comparable, but the polynomial optics technique is many times faster and can be compared to the cost of thin-lens calculations. Especially in complex scenes, the cost of using polynomial optics over the thin lens approximation is neglegible.

Note that because the lens descriptions have a fitted approximation, it is not possible to change the focal length like we are used to with the thin-lens approximation. Think of POTA as a library of prime lenses instead. Some focal length adjustments can be made by changing the sensor size [just like with real camera’s – note the differences in focal length of a lens on a aps-c sensor vs full frame].

POTA is wavelength-dependent, which means that optically correct chromatic aberrations (ignoring lens coatings as there almost never is accurate data for that) are possible by rendering 3 images with corresponding CIE RGB wavelengths, one for each respective colour channel. It’s expensive to render 3 images – but the option is there. For example, 700nm for the red channel, 546.1 nm for the green channel and 435.8 nm for the blue channel.

Zeno Pelgrims

Plugins for Maya and Houdini are available, POTA is open source and free, so other implementations are also possible. Learn more and get the shader here. 

Leave a Reply

Related articles