Optics Compensation (Fish-eye effect)

hi guys,

been searchin’ for a bit but couldn’t find much. Is there a way to apply a Fish-eye effect over a moviestrip?


Did you find the lens-distortion node?
Edit: probably better to look at Properties >> Camera >> Lens >> Panoramic >> Type

“Fish-eye” is a product of an extremely-short focal length.

Not exactly true. Fisheye projection is different from equirectangular. With equi, it is impossible to capture 180 degree fov due to simple geometrical reasons. For example, camera would need an infinitely wide sensor and infinitely small focal lenght to capture anything close to 180 degree fov. In equirectangular projection, distance of projected point from image optical center is linearly related to distance of point in world from optical axis. In fisheye projection, distance of projected point from image center is related to angle between point in world, optical center of the lens and optical axis and for this reason it can capture an arbitrary fov, at least theoretically.

Thank you for the astute clarification. As “an old(-phart?) photographer,” I do still continue to think in terms of “old-fashioned optics.” (“With the physical limitations thereunto appurtaining …”)

No worries :slight_smile: Optics still work, fisheye lenses use the same principle of mapping angular distance to linear distance on sensor. There are different constructions and equations used, but when you know the type of fisheye lens, you can convert fisheye image to equirectangular and vice versa, within its limits ofcourse.


I’m not that familiar with nodes, but i found a tutorial to help me with that. The second option sounds even nicer. I hope that function is available in 2.75. I will check it when i’m back on that project.

No problem, should be possible to apply the movie as a material to a plane and use a camera with fisheye-lens?

Then, it is high time to fix that! :yes: Nodes are “where it’s at.”

You could shoot a flat plane that is unwrapped with a fisheye distortion (fake lens or render projection) and use the UV pass as a “distortion value” for any other flat plane image using the compositor. This would save the render time determining the 3D view.

Cool, though I only get half of it