Lenses in pathtracers are ignored.

Lentil is an advanced camera toolkit for the Arnold renderer. It is a set of shaders that extends creative control and physical correctness, while significantly reducing the time (~30x) needed to render bokeh through bidirectional sampling of camera rays.

Stockholm-icons / Weather / Wind Created with Sketch.


By decoupling camera rays from primary rays, our bidirectional adaptive sampling of bokeh makes rendering depth of field in-camera practical.

Stockholm-icons / General / Settings-1 Created with Sketch.

Physical vs. Speed

As often is the case in CG, there's a choice between speed (thin-lens) and physical correctness (polynomial optics).

Stockholm-icons / General / Thunder-move Created with Sketch.

Creative control

The thinlens model features additional creative control over the appearance of bokeh. See all features here. The polynomial optics model includes many different lenses to suit to your needs. See all lens models here.

Arnold Default Thin Lens [30s, 8AA] Lentil Thin-Lens Bidirectional [30s, 5AA] Arnold Default Thin-Lens [15m, 40AA] - Unpractical for any production scene Lentil Bidir (Cooke Speed Panchro) [10m, 5AA]

Polynomial Optics

Polynomial optics is the state-of-the-art in fast, physically plausible lens simulation. This camera model uses real lens data, but precalculates it in a way that all information about the lens is discarded. This means there is no performance difference between a lens with 5 or 25 optical elements.

Many times faster than pota due to bidirectional sampling

Takes data from lens patents (render through a 1900's Petzal, 1930's Cooke Speed Panchro or any of the available lenses)

Physically correct distortion, coma, astigmatism, field curvature, spherical aberration & optical vignetting

Prime lenses only


We extended the classical thin-lens model with additional creative control, while also significantly improving the performance.

Many times faster than default Arnold camera (~30x), achieved by decoupling camera rays from primary rays

Empirical Cateye bokeh (optical vignetting)

Anamorphic bokeh

Image-based bokeh

Add additional luminance to bokeh only

Circle to square transitions (useful for anamorphic looks)

Coma aberration

Bidirectional, you say?

Stockholm-icons / Media / Repeat Created with Sketch.

To get clean, sharp bokeh - very small bright highlights need to be sampled. Unfortunately this is a tricky scenario for a unidirectional pathtracer, resulting in an unpractical amount of required AA samples. Lentil is designed to give Arnold a (bidirectional) hand in these scenarios. AA samples can be left at a reasonable amount, and bokeh will be supersampled without having to trace each camera ray throughout the whole scene.

Adaptive bidirectional sampling

When a high-energy sample is hit, its energy gets re-integrated backwards through the lens. No need to oversample the whole scene only to clean up the out of focus highlights.

Implemented into custom camera shader, filter & imager

Cleaned up bokeh is pushed to the IPR at the end of the render, in a similar fashion as the optix denoiser. The setup is done automatically by a custom arnold operator, making the setup fail-proof. Check out the docs for your DCC-specific workflow.

Custom cryptomatte implementation

Cryptomatte is supported in the bidirectional component.



This entitles you to all upcoming releases, forever.

Buy Lentil

Boutique Studio

For studios with less than 30 employees.

This entitles you to all upcoming releases, forever.

Buy Lentil
Get in touch


For large studios with more than 30 employees.

Contact us


Which DCC's are supported?

In theory, all of them. Tailored interface files are supplied for MtoA, HtoA & C4dToA. KtoA and MaxtoA should work as well, but not enough testing has been done for these DCCs to officially "support" them.


Do I get free updates?

Yes. All future updates are included. No strings attached.


What about Arnold GPU?

Arnold does not yet support custom plugins for the GPU. If this becomes available, you can be sure we'll look into it.


Join our discord community

It's the best place to get quick help with your issues: https://discord.gg/SyKPKqtHxp


Found a bug?

That's always a fun one. Software is written by humans & mistakes are a part of life. Please let us know (email/discord) and we'll look into it. Include a repro-scene for karma points.


Minimum required Arnold version

Core: >

MtoA: > 4.1.0

C4dToA: > 3.2.0

HtoA: >

MaxToA: >