Cat's Eye / Petzval bokeh effect

Hi there,

I was wondering if it was possible to create a cat’s eye bokeh like this one

But there isn’t many ways to approach it in Cycles, so I ended modeling the elements of a Petzval lens. I think I managed to get it correct (quite easily actually, just following a patent), I’m getting nice distortion looking through that lens, but I’m unfortunately not getting any cat’s eye shape (not even talking about the bokeh sharpe edge).

I know there are many scientists here, so if you have any idea how to achieve this, I am super interested! :slight_smile:


I continued my tests adding the lens casing and the lens hood, also playing with refraction indexes, but no luck so far.

To model this effect you should first try to find out, what causes it. Personally I would guess that the cookie cutter effect on bokeh rings is due to the outer edge of lens case partially obscuring light from some main lens element. The more towards the edge of image plane, the more it obscures and bokeh rings have more incut.

I agree, that’s why I’m continuing modeling the lens. The good thing with the Petzval is that it is a pretty simple lens. I’ll switch to LuxRender also to make sure that I’m getting more accurate light dispersion.
I wish I had that petzval lens to actually try to recreate a photo from it, for instance I don’t know how to approach the blender camera focal length, as it renders through another lens, except but just eye balling it.

Another thing I will try is to replicate it in compositing.

mike pan’s tut for custom bokeh

Blender Cycles custom bokeh tutorial from Mateusz Waluś (5 years ago)

with some Lens Distortion in post… could help

Thanks burnin, I know this technique already, and this is not enough to create a Cat’s Eye effect. Vray has a setting for that (optical vignetting), but I still feel like it’s not there. It distorts the bokeh but doesn’t give this sharp cat’s eye shape.
I have an idea of how to do it in post, but I’d like to avoid 2d DOF at all cost :slight_smile:

There was a patch which adds the ability to use a custom shape for bokeh:
Unfortunately it was not implemented.

That’s sad indeed. Still not enough to create a cat’s eye bokeh anyway, I want to get the real deal :smiley:

Lens distortion node under the compositor? Not sure of the exact setting, so it’ll take some playing with. If not that, changing camera to panoramic also gives some fisheye options.

By the way the ref pic looks like it’s just bokeh + a rather strong barrel distortion. I’m not sure if there’s much more to it.

hey i know its been years, if you want to know how to get this effect, check out my tweet on this take. i did it in cinema 4d but i believe you can do the same thing in any 3d software

This is how it’s done in my add-on as well :slight_smile: Photographer - Camera Exposure, White Balance, Autofocus and Physical Lights

1 Like

OMG, i didnt know about this! thank you!
i will implement this in my workflow in cinema 4d as well.

btw, do you happens to know how to achieve lens flare and bloom realistically with glass elements?
here is the link to my tweet about this method

why i want to achieve this is because when we add bloom in post, the bloom always starts whenever the bright parts of the image enter the frame, but as soon as it leaves the frame, it disappear, same thing with lens flare.

i tried it but it has lots of problem.
-could not get the bloom to look right, its always big and the fall off is odd
-quite hard to achieve natural lens flare look
-to focus an object, its tricky because the glass elements in front of it changes the distance

Probably not the answers you are after, but my humble opinion is that over-engineering these effects only brings artistic limitations.

Lens flare plugins (like Optical Lens Flares from Video Copilot) do support off-screen sources, so I just use that.

As for the bloom, I would personally render 10-20% overscan, which would honestly still be faster to render than having a glass element in front of the camera, and give you much more control in post.
EDIT: You just reminded me I should probably add overscan support to Photographer :slight_smile:

1 Like

you have a point and thank you for the answer!

good luck on the Photographer add on:)