Polynomial optics to Arnold. Camera shader with high-order aberrations
C++ C Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
extra_descriptions Adding Zeiss Biotar (1927), SMC Takumar (1969) Feb 20, 2018
include moving include files to src Jan 15, 2018
maya/ae Adding unit fix Apr 8, 2018
releases Adding 1.4 osx release Apr 8, 2018
src Adding 1.4 windows release Apr 8, 2018
tests adding primoplan_1936_58mm, zeiss_flektagon_1954_35mm Mar 6, 2018
.gitignore removing test dir Mar 4, 2018
LICENSE create license (MIT) Apr 3, 2018
Makefile updating readme and makefile Feb 28, 2018
README.md Adding 1.1 fix Mar 4, 2018
compile.txt Aperture blades = 2 produced no DOF Mar 13, 2018
todo.txt normalizing direction vector, fixing loads of bugs! Mar 28, 2018


POTA is an implementation of Sparse high-degree polynomials for wide-angle lenses [2016] for the Arnold renderer. 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.

Read the full documentation here.


Compile instructions:

Base requirement: Arnold >


open makefile     ### change arnold sdk path
mkdir bin


###   using the "x64 native tools command prompt for VS 2017"

cl /LD /I ...\Arnold-\include /EHsc /O2 pota.cpp /link /LIBPATH:...\Arnold-\lib ai.lib