{"id":10,"date":"2008-10-15T00:57:44","date_gmt":"2008-10-15T07:57:44","guid":{"rendered":"http:\/\/www.kevinbeason.com\/worklog\/?p=10"},"modified":"2008-10-15T00:57:44","modified_gmt":"2008-10-15T07:57:44","slug":"embargo-is-over","status":"publish","type":"post","link":"https:\/\/www.kevinbeason.com\/worklog\/2008\/10\/15\/embargo-is-over\/","title":{"rendered":"Embargo is over"},"content":{"rendered":"<p>I&#8217;ve blockaded updating my log to wait for another project to complete for too long. So here is something unrelated.<\/p>\n<div id=\"attachment_11\" style=\"width: 190px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.kevinbeason.com\/worklog\/wp-content\/uploads\/2008\/10\/image957.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-11\" class=\"size-medium wp-image-11\" src=\"http:\/\/www.kevinbeason.com\/worklog\/wp-content\/uploads\/2008\/10\/image957-300x300.png\" alt=\"Photographic DOF\" width=\"180\" height=\"180\" srcset=\"https:\/\/www.kevinbeason.com\/worklog\/wp-content\/uploads\/2008\/10\/image957-300x300.png 300w, https:\/\/www.kevinbeason.com\/worklog\/wp-content\/uploads\/2008\/10\/image957-150x150.png 150w, https:\/\/www.kevinbeason.com\/worklog\/wp-content\/uploads\/2008\/10\/image957.png 400w\" sizes=\"auto, (max-width: 180px) 100vw, 180px\" \/><\/a><p id=\"caption-attachment-11\" class=\"wp-caption-text\">Photographic DOF<\/p><\/div>\n<p>Previously I had limited support for Depth of Field (DOF) whose only input was the angle subtended by the lens relative to the center of the focal plane. In March 2008 I added a conventional photography-based &#8220;f-stop&#8221; parameter system (f\/2.8, f\/5.6, etc.). The reason for this was to more accurately simulate what a real 35mm camera would do for a real world focal distance. Now the focal length of the lens depends on the focus distance and the lens size on this f-stop parameter. As is my usual fashion I meticulously recreated someone else&#8217;s image, in this case <a href=\"http:\/\/www.cs.utah.edu\/~shirley\/classes\/cs684_98\/students\/mstark\/hw4\/hw4.html\">Figure 14.2 in Shirley&#8217;s Realistic Ray Tracing 1st Ed.<\/a><\/p>\n<p>That&#8217;s all well and fine. However, combining this <em>efficiently<\/em> with Keller&#8217;s &#8220;Strictly Deterministic Sampling&#8221; and <em>path tracing<\/em> forced me to implement deterministic ray trees with arbitrary depth. This was a bloody nightmare of brainstorming and code refactoring (which is still a mess to this day). Uhg. I think I spent like a week on that. But the pay off is huge in variance reduction when path tracing with a single explicit light sample and a large area light, thanks to maintaining sample stratification from path-to-path within a pixel.<\/p>\n<p>The basic problem I was having was how to branch the ray tree arbitrarily but be on the same branch in a completely different path. The basic solution was to increment the ray tree dimension (d=d+1) each time I might branch, even if I don&#8217;t take samples from that branch. But don&#8217;t quote me on that&#8230; it&#8217;s in the Pane source. Which I will post sometime.<\/p>\n<div id=\"attachment_12\" style=\"width: 190px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.kevinbeason.com\/worklog\/wp-content\/uploads\/2008\/10\/image1030.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-12\" class=\"size-medium wp-image-12\" src=\"http:\/\/www.kevinbeason.com\/worklog\/wp-content\/uploads\/2008\/10\/image1030-300x300.png\" alt=\"\" width=\"180\" height=\"180\" srcset=\"https:\/\/www.kevinbeason.com\/worklog\/wp-content\/uploads\/2008\/10\/image1030-300x300.png 300w, https:\/\/www.kevinbeason.com\/worklog\/wp-content\/uploads\/2008\/10\/image1030-150x150.png 150w, https:\/\/www.kevinbeason.com\/worklog\/wp-content\/uploads\/2008\/10\/image1030.png 400w\" sizes=\"auto, (max-width: 180px) 100vw, 180px\" \/><\/a><p id=\"caption-attachment-12\" class=\"wp-caption-text\">DOF w\/Bokeh effect and chromatic aperture<\/p><\/div>\n<p>Taking inspiration from <a href=\"http:\/\/sunflow.sourceforge.net\/\">SunFlow<\/a> and <a href=\"http:\/\/graphics.ucsd.edu\/courses\/rendering\/2007\/thachisuka\/\">Toshiya Hachisuka&#8217;s <em>&#8220;Kitchen with Programmer&#8217;s Art&#8221;<\/em><\/a>, I added simple n-sided-polygon Bokeh effect and hacked-up chromatic aberration to produce the above image (click for full size). You can see the lens shape and aberration clearly from the bright dot I added in the scene under &#8220;.25m&#8221;. Together these features add noise and a color shift so they are disabled (commented out).<\/p>\n<p>More to come.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve blockaded updating my log to wait for another project to complete for too long. So here is something unrelated. Previously I had limited support for Depth of Field (DOF) whose only input was the angle subtended by the lens relative to the center of the focal plane. In March 2008 I added a conventional [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-10","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/www.kevinbeason.com\/worklog\/wp-json\/wp\/v2\/posts\/10","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kevinbeason.com\/worklog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kevinbeason.com\/worklog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kevinbeason.com\/worklog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kevinbeason.com\/worklog\/wp-json\/wp\/v2\/comments?post=10"}],"version-history":[{"count":10,"href":"https:\/\/www.kevinbeason.com\/worklog\/wp-json\/wp\/v2\/posts\/10\/revisions"}],"predecessor-version":[{"id":22,"href":"https:\/\/www.kevinbeason.com\/worklog\/wp-json\/wp\/v2\/posts\/10\/revisions\/22"}],"wp:attachment":[{"href":"https:\/\/www.kevinbeason.com\/worklog\/wp-json\/wp\/v2\/media?parent=10"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kevinbeason.com\/worklog\/wp-json\/wp\/v2\/categories?post=10"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kevinbeason.com\/worklog\/wp-json\/wp\/v2\/tags?post=10"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}