<meta http-equiv="content-type" content="text/html; charset=utf-8">
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-text-plain" wrap="true" style="font-family:
-moz-fixed; font-size: 12px;" lang="x-unicode">
<pre wrap="">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:
<a class="moz-txt-link-freetext" href="https://knork.org/realistic-bokeh.html">https://knork.org/realistic-bokeh.html</a>
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.
w: <a class="moz-txt-link-freetext" href="https://knork.org">https://knork.org</a>