Preset configurations:

Paste or drag an image here

A photo, screenshot, anything works —
try Ctrl+V / Cmd+V right now

source plane

lensed output

image plane

0.20
0.00
0.00
Source image
How is the lensed image computed? For each output pixel at angular position θ, this solves the lens equation β = θ − α(θ) to find the source-plane position β, then samples the source image there (inverse ray tracing). The deflection α is computed from a Navarro-Frenck-white lens mass profile.