等立体角射影方式
魚眼レンズにおける等立体角射影方式 (Equisolid Angle Projection) は、射影方式のひとつ 民生用の魚眼レンズのほとんどが、等立体角射影を採用しているらしい
Mapping Function
$ rを画像の中心からの距離・$ fを焦点距離・$ \thetaを光軸からの角度としたとき、 $ r = 2f \sin \left( \frac{\theta}{2} \right)
$ \theta = 2 \sin^{-1} \left( \frac{r}{2f} \right)
GLSL
code:glsl
const float f = 1.0;
float r = length(p);
float theta = 2.0 * asin(r / f / 2.0);
vec3 rd = vec3(sin(theta) * p / r, -cos(theta));