<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <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
parameters.

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


<div class="moz-txt-sig">-- 
w: <a class="moz-txt-link-freetext" href="https://knork.org">https://knork.org</a>


</div></pre>
    </div>
  </body>
</html>