[Bf-cycles] Optical vignetting by biasing lens sample position and contribution

Jan Scheffczyk knork at m1234.de
Tue Oct 31 14:41:07 CET 2017

Dear Cylces-gurus,

i have recently looked into DOF/Bokeh shape and distribution and how to
approximate them by altering the lens sampling. For this i used the
pbrt-v3 ray-tracer which is probably familiar to most of you. You can
find a article on what exactly i implemented here:


As my modification to the lens-sampling requires very little interaction
with the rest of the ray-tracing system i figured it would be a great
project to get started with in cycles. I just quickly skimmed through
the cycles code and it would probably alter/replace the
/inter/cycles/kernel/kernel_camera.h::camera_sample_aperture(...) and of
course add some parameters to the kernel_data as well as some function

I see two possible pitfalls so far:
1. I use rejection sampling for the optical vignetting thus it needs to
be ensured that they not integrated.
2. I am guessing that throughput is something like the weight which i
could simple create before lens sampling and use to store the weight.

Anyways my question if i where to implement this in cylces what are the
odds of it actually making it into the master branch? How should i go
about developing? Creating a new branch and after a merge request? I've
also read that you add small changes through patch files.

Also is there a document that describes the design of the cycles code?

Thanks for your time.

Greeting Knork

-- w: https://knork.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.blender.org/pipermail/bf-cycles/attachments/20171031/f6a72849/attachment.html>

More information about the Bf-cycles mailing list