Description
The tracked camera EVRDistortionFunctionType
enum has two different distortion types, F-Theta and extended F-Theta. The names suggest they are focal-length independent radial distortion models, and the distortion parameter are the polynomial coefficients. The hmd_opencv_sandbox example supports this and I can undistort the Index cameras following it.
There is however no documentation the difference of the models. The Index reports Extended F-Theta with 4 distortion parameters, while the Vive Pro 2 reports an F-Theta distortion model with all parameters set to 0 (I don't have access to one, so I don't know if those parameters produce a correct output). The parameter property supports 8 values per lens, but only 4 are filled in with the Index.
How do I interpret the type and parameters programmatically for arbitrary headsets?