<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3109489567717785438</id><updated>2011-11-27T16:25:49.937-08:00</updated><category term='rendering'/><category term='Metropolis Light Transport'/><category term='unbiased'/><category term='caustics'/><category term='ray tracing'/><category term='MLT'/><category term='gi'/><category term='Stochastic Progressive Photon Mapping'/><category term='raytracing'/><category term='kelemen'/><category term='stratification'/><category term='algorithm'/><category term='sppm'/><category term='ppm'/><category term='global illumination'/><title type='text'>Thin Lense Reflex - Rendering</title><subtitle type='html'>Metropolis Light Transport, stratification, ray tracing, rendering, caustics, global illumination, Photon Mapping, Progressive Photon Mapping, Importance Sampling, Unbiased raytracing.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tlrcam.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tlrcam.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Matt Mirman</name><uri>http://www.blogger.com/profile/05284383073231319422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3109489567717785438.post-8879624849745316025</id><published>2011-03-04T21:43:00.000-08:00</published><updated>2011-03-04T21:45:38.681-08:00</updated><title type='text'>TLRcam goes haskell</title><content type='html'>I'd like to rewrite the ray-tracer using Haskell.  I'm currently taking a graphics course where I'll have to write a ray-tracer in c++, but thats not different enough.  Due to the fact that a Haskell raytracer will be useless, this will be most definitely open source.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3109489567717785438-8879624849745316025?l=tlrcam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tlrcam.blogspot.com/feeds/8879624849745316025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tlrcam.blogspot.com/2011/03/tlrcam-goes-haskell.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/8879624849745316025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/8879624849745316025'/><link rel='alternate' type='text/html' href='http://tlrcam.blogspot.com/2011/03/tlrcam-goes-haskell.html' title='TLRcam goes haskell'/><author><name>Matt Mirman</name><uri>http://www.blogger.com/profile/05284383073231319422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3109489567717785438.post-1616768237662456599</id><published>2009-11-18T20:41:00.000-08:00</published><updated>2009-11-18T21:34:29.691-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Stochastic Progressive Photon Mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='ppm'/><category scheme='http://www.blogger.com/atom/ns#' term='gi'/><category scheme='http://www.blogger.com/atom/ns#' term='raytracing'/><category scheme='http://www.blogger.com/atom/ns#' term='unbiased'/><category scheme='http://www.blogger.com/atom/ns#' term='sppm'/><category scheme='http://www.blogger.com/atom/ns#' term='global illumination'/><title type='text'>Fixes and a new direction</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;There apparently was a bug that was preventing the images from converging.  It is now gone. &lt;div&gt;I also implemented a new algorithm which doesn't seem to improve the quality of the image that much, but makes the speed/space more controllable, and  makes it save much more space anyway.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;New algorithm:&lt;/div&gt;&lt;img src="http://3.bp.blogspot.com/_FYCVG7NTOnc/SwTY1fA_KXI/AAAAAAAAAFQ/5L3IiF7qrHM/s400/bliptest2.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 380px; height: 380px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5405683866121742706" /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Old algorithm:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://3.bp.blogspot.com/_FYCVG7NTOnc/SwTWCrbKwMI/AAAAAAAAAFI/8_m0uCNC7N4/s400/bliptestSPPMold_20min.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 380px; height: 380px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5405680794256195778" /&gt;&lt;div style="text-align: left;"&gt;Both were rendered in approximately 20 minutes.  The glossy reflections on the old algorithm are that much better because they have been oversampled by spawning 8 rays.  This has not been done in the newer algorithm yet for simplicity's sake.  Note how the diffuse darker areas on the new picture are much cleaner than they are on the old picture.  &lt;/div&gt;&lt;div style="text-align: left;"&gt;There is also a boolean object sphere in the water.  I wanted to test if my implementation of boolean objects still worked, since they are the main reason the renderer is so slow, and also took me like a month to get working correctly.  You can see it better in the old image, where the outline of the sphere is visible as darker than the rest of the white background.  It is on the right side.  &lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Next, I plan on adding a sort of importance sampling to the new one (where all its power really lies).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3109489567717785438-1616768237662456599?l=tlrcam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tlrcam.blogspot.com/feeds/1616768237662456599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tlrcam.blogspot.com/2009/11/fixes-and-new-direction.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/1616768237662456599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/1616768237662456599'/><link rel='alternate' type='text/html' href='http://tlrcam.blogspot.com/2009/11/fixes-and-new-direction.html' title='Fixes and a new direction'/><author><name>Matt Mirman</name><uri>http://www.blogger.com/profile/05284383073231319422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_FYCVG7NTOnc/SwTY1fA_KXI/AAAAAAAAAFQ/5L3IiF7qrHM/s72-c/bliptest2.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3109489567717785438.post-3585484586832837356</id><published>2009-10-31T10:09:00.000-07:00</published><updated>2009-10-31T10:17:19.362-07:00</updated><title type='text'>Stochastic Progressive Photon Mapping</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_FYCVG7NTOnc/SuxwfxDsicI/AAAAAAAAAE4/1TfbdJT63_4/s1600-h/milk4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 400px;" src="http://2.bp.blogspot.com/_FYCVG7NTOnc/SuxwfxDsicI/AAAAAAAAAE4/1TfbdJT63_4/s400/milk4.png" alt="" id="BLOGGER_PHOTO_ID_5398813744357476802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It has been implemented.  Also, the hashmap, which got me twice as many samples per second.  The multithreading is broken with a race condition.&lt;br /&gt;&lt;br /&gt;Unfortunitely, I can't seem to get the same results as the paper, with the glossy reflections converging even quicker than the diffuse surfaces.  It seems as though my glossy reflections are converging really slow (but actually converging)&lt;br /&gt;&lt;br /&gt;I do have a few new ideas which seem much simpler to implement than my previous voronoi cell based method (which was too complicated for me to bother spending the time not studying for school implementing) and thus fairly publishable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3109489567717785438-3585484586832837356?l=tlrcam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tlrcam.blogspot.com/feeds/3585484586832837356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tlrcam.blogspot.com/2009/10/stochastic-progressive-photon-mapping.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/3585484586832837356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/3585484586832837356'/><link rel='alternate' type='text/html' href='http://tlrcam.blogspot.com/2009/10/stochastic-progressive-photon-mapping.html' title='Stochastic Progressive Photon Mapping'/><author><name>Matt Mirman</name><uri>http://www.blogger.com/profile/05284383073231319422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_FYCVG7NTOnc/SuxwfxDsicI/AAAAAAAAAE4/1TfbdJT63_4/s72-c/milk4.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3109489567717785438.post-3002589970426913880</id><published>2009-07-03T12:19:00.000-07:00</published><updated>2009-07-03T12:21:56.796-07:00</updated><title type='text'></title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://2.bp.blogspot.com/_FYCVG7NTOnc/Sk5Z7hr72PI/AAAAAAAAAEo/oSZEgfV6aN8/s400/liquidtest.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 400px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5354315886179899634" /&gt;I multiplied the speed by 10.  now I get 15mill samples within half an hour.&lt;div&gt;Also some bugfixes&lt;/div&gt;&lt;div&gt;7 hours, 150mill samples:&lt;/div&gt;&lt;img src="http://1.bp.blogspot.com/_FYCVG7NTOnc/Sk5aKWzXuSI/AAAAAAAAAEw/awtUXJMlixo/s400/cornel+box+150+million+7+hours+ppm.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 400px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5354316140956334370" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3109489567717785438-3002589970426913880?l=tlrcam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tlrcam.blogspot.com/feeds/3002589970426913880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tlrcam.blogspot.com/2009/07/i-multiplied-speed-by-10.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/3002589970426913880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/3002589970426913880'/><link rel='alternate' type='text/html' href='http://tlrcam.blogspot.com/2009/07/i-multiplied-speed-by-10.html' title=''/><author><name>Matt Mirman</name><uri>http://www.blogger.com/profile/05284383073231319422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_FYCVG7NTOnc/Sk5Z7hr72PI/AAAAAAAAAEo/oSZEgfV6aN8/s72-c/liquidtest.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3109489567717785438.post-5234932463483814611</id><published>2009-06-04T10:55:00.000-07:00</published><updated>2009-06-04T23:10:28.936-07:00</updated><title type='text'>Progressive Photon Mapping 2.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_FYCVG7NTOnc/SigO1LTL4tI/AAAAAAAAAEg/doZMIkXdlW8/s1600-h/ppm3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 400px;" src="http://2.bp.blogspot.com/_FYCVG7NTOnc/SigO1LTL4tI/AAAAAAAAAEg/doZMIkXdlW8/s400/ppm3.png" alt="" id="BLOGGER_PHOTO_ID_5343537264604209874" border="0" /&gt;&lt;/a&gt;(After about 15 million samples and 7 hours)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The code for the progressive photon mapping is finally written.  For the same number of samples, the algorithm does look better than path tracing, but the sample speed is far worse.  While I am not quite doing it in the same way as the paper describes, my method has the same, if not better big-O time per sample.  A proof has yet to be done for that.  Right off the bat I can think of a couple of optimizations:  the first two nodes on the photon can be ignored and not added to the map, and the direct lighting can be computed explicitly.  I say this because it seems as though this algorithm is much slower for direct lighting, where graininess and complex lighting is not a problem, and fails completely for antialiasing, which is only really important under direct lighting.&lt;br /&gt;&lt;br /&gt;4000 samples:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_FYCVG7NTOnc/SigL3VqyzjI/AAAAAAAAAEA/LBSAcHX6CO4/s1600-h/ppm4000.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 400px;" src="http://2.bp.blogspot.com/_FYCVG7NTOnc/SigL3VqyzjI/AAAAAAAAAEA/LBSAcHX6CO4/s400/ppm4000.png" alt="" id="BLOGGER_PHOTO_ID_5343534003212439090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;17000 samples:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_FYCVG7NTOnc/SigMBAOs6yI/AAAAAAAAAEI/ht-9LuDoMDA/s1600-h/ppm17000.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 400px;" src="http://3.bp.blogspot.com/_FYCVG7NTOnc/SigMBAOs6yI/AAAAAAAAAEI/ht-9LuDoMDA/s400/ppm17000.png" alt="" id="BLOGGER_PHOTO_ID_5343534169256160034" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;1million samples:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_FYCVG7NTOnc/SigMQ-Mx6gI/AAAAAAAAAEQ/tJiQbIjpuAg/s1600-h/ppm108868.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 400px;" src="http://3.bp.blogspot.com/_FYCVG7NTOnc/SigMQ-Mx6gI/AAAAAAAAAEQ/tJiQbIjpuAg/s400/ppm108868.png" alt="" id="BLOGGER_PHOTO_ID_5343534443589134850" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3109489567717785438-5234932463483814611?l=tlrcam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tlrcam.blogspot.com/feeds/5234932463483814611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tlrcam.blogspot.com/2009/06/progressive-photon-mapping-2.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/5234932463483814611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/5234932463483814611'/><link rel='alternate' type='text/html' href='http://tlrcam.blogspot.com/2009/06/progressive-photon-mapping-2.html' title='Progressive Photon Mapping 2.'/><author><name>Matt Mirman</name><uri>http://www.blogger.com/profile/05284383073231319422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_FYCVG7NTOnc/SigO1LTL4tI/AAAAAAAAAEg/doZMIkXdlW8/s72-c/ppm3.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3109489567717785438.post-4931104509692438177</id><published>2009-04-01T14:44:00.000-07:00</published><updated>2009-04-01T14:55:05.611-07:00</updated><title type='text'>DOF!!! (and new matts)</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_FYCVG7NTOnc/SdPiThFUfyI/AAAAAAAAAC0/35VurHeGQIw/s1600-h/dof_test.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 125px;" src="http://4.bp.blogspot.com/_FYCVG7NTOnc/SdPiThFUfyI/AAAAAAAAAC0/35VurHeGQIw/s400/dof_test.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5319844409780764450" /&gt;&lt;/a&gt;path traced&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;note: checker pattern+ improved glossy+glossy refraction&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3109489567717785438-4931104509692438177?l=tlrcam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tlrcam.blogspot.com/feeds/4931104509692438177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tlrcam.blogspot.com/2009/04/dof-and-new-matts.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/4931104509692438177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/4931104509692438177'/><link rel='alternate' type='text/html' href='http://tlrcam.blogspot.com/2009/04/dof-and-new-matts.html' title='DOF!!! (and new matts)'/><author><name>Matt Mirman</name><uri>http://www.blogger.com/profile/05284383073231319422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_FYCVG7NTOnc/SdPiThFUfyI/AAAAAAAAAC0/35VurHeGQIw/s72-c/dof_test.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3109489567717785438.post-4458324647042081475</id><published>2009-03-10T17:43:00.000-07:00</published><updated>2009-03-10T17:45:31.169-07:00</updated><title type='text'>The dragon</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://people.brandeis.edu/%7Emirman/dragon"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 500px; height: 400px;" src="http://people.brandeis.edu/%7Emirman/dragon" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3109489567717785438-4458324647042081475?l=tlrcam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tlrcam.blogspot.com/feeds/4458324647042081475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tlrcam.blogspot.com/2009/03/dragon.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/4458324647042081475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/4458324647042081475'/><link rel='alternate' type='text/html' href='http://tlrcam.blogspot.com/2009/03/dragon.html' title='The dragon'/><author><name>Matt Mirman</name><uri>http://www.blogger.com/profile/05284383073231319422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3109489567717785438.post-6294740618699359006</id><published>2009-02-25T18:42:00.000-08:00</published><updated>2009-02-25T18:43:13.257-08:00</updated><title type='text'>FINALY AVAILABLE!</title><content type='html'>&lt;a href="http://people.brandeis.edu/%7Emirman/"&gt;http://people.brandeis.edu/~mirman/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3109489567717785438-6294740618699359006?l=tlrcam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tlrcam.blogspot.com/feeds/6294740618699359006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tlrcam.blogspot.com/2009/02/finaly-available.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/6294740618699359006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/6294740618699359006'/><link rel='alternate' type='text/html' href='http://tlrcam.blogspot.com/2009/02/finaly-available.html' title='FINALY AVAILABLE!'/><author><name>Matt Mirman</name><uri>http://www.blogger.com/profile/05284383073231319422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3109489567717785438.post-5826117400348116999</id><published>2009-02-22T22:40:00.000-08:00</published><updated>2009-02-22T22:46:13.309-08:00</updated><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_FYCVG7NTOnc/SaJFaHU4xTI/AAAAAAAAACs/L-cvwY99F8Q/s1600-h/hdritesty.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://1.bp.blogspot.com/_FYCVG7NTOnc/SaJFaHU4xTI/AAAAAAAAACs/L-cvwY99F8Q/s400/hdritesty.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5305879625941435698" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;yay- 4000 spp&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I fixed boolean opperations, and I have a webpage.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://people.brandeis.edu/~mirman/"&gt;http://people.brandeis.edu/~mirman/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;anybody who can, can yall try to open tlrcam's jar and see if you can read the source?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3109489567717785438-5826117400348116999?l=tlrcam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tlrcam.blogspot.com/feeds/5826117400348116999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tlrcam.blogspot.com/2009/02/yay-4000-spp-i-fixed-boolean.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/5826117400348116999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/5826117400348116999'/><link rel='alternate' type='text/html' href='http://tlrcam.blogspot.com/2009/02/yay-4000-spp-i-fixed-boolean.html' title=''/><author><name>Matt Mirman</name><uri>http://www.blogger.com/profile/05284383073231319422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_FYCVG7NTOnc/SaJFaHU4xTI/AAAAAAAAACs/L-cvwY99F8Q/s72-c/hdritesty.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3109489567717785438.post-5409859012207552095</id><published>2009-02-10T09:08:00.000-08:00</published><updated>2009-02-11T22:34:17.834-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rendering'/><category scheme='http://www.blogger.com/atom/ns#' term='MLT'/><category scheme='http://www.blogger.com/atom/ns#' term='gi'/><category scheme='http://www.blogger.com/atom/ns#' term='stratification'/><category scheme='http://www.blogger.com/atom/ns#' term='ray tracing'/><category scheme='http://www.blogger.com/atom/ns#' term='caustics'/><category scheme='http://www.blogger.com/atom/ns#' term='algorithm'/><category scheme='http://www.blogger.com/atom/ns#' term='Metropolis Light Transport'/><category scheme='http://www.blogger.com/atom/ns#' term='kelemen'/><category scheme='http://www.blogger.com/atom/ns#' term='global illumination'/><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_FYCVG7NTOnc/SZG0v41hf2I/AAAAAAAAACc/_PG2Lu2-Puw/s1600-h/HDRI_longrun.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://4.bp.blogspot.com/_FYCVG7NTOnc/SZG0v41hf2I/AAAAAAAAACc/_PG2Lu2-Puw/s400/HDRI_longrun.png" alt="" id="BLOGGER_PHOTO_ID_5301216971195514722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;at 900 spp.&lt;br /&gt;&lt;br /&gt;i ran some tests and found that path tracing runs at about 8000 mps on this image, and mlt/this runs at 7000 mps.  not as big a difference over the long run as i though.  it means i can stop trying to optimize it as much.&lt;br /&gt;&lt;br /&gt;Problem:  both mlt, this, and path tracing start out rendering at about 30000 mps, then go on to an average of 20000 mps for about 5 miniutes, (the warm up ends after about 1 miniute), and then finally jumps down to below 10000 mps.  I have no idea why it is doing this.&lt;br /&gt;ideas:   Java's garbage collector not acting up...&lt;br /&gt;            mt random number generator something&lt;br /&gt;           memory leak.&lt;br /&gt;          no clue.&lt;br /&gt;&lt;br /&gt;Any ideas?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3109489567717785438-5409859012207552095?l=tlrcam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tlrcam.blogspot.com/feeds/5409859012207552095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tlrcam.blogspot.com/2009/02/blog-post.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/5409859012207552095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/5409859012207552095'/><link rel='alternate' type='text/html' href='http://tlrcam.blogspot.com/2009/02/blog-post.html' title=''/><author><name>Matt Mirman</name><uri>http://www.blogger.com/profile/05284383073231319422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_FYCVG7NTOnc/SZG0v41hf2I/AAAAAAAAACc/_PG2Lu2-Puw/s72-c/HDRI_longrun.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3109489567717785438.post-1812110439962121161</id><published>2009-02-09T23:23:00.000-08:00</published><updated>2009-02-10T12:25:33.726-08:00</updated><title type='text'>More from the new MLT algorithm</title><content type='html'>I improved it a little, and it seems to work fairly well. Now all I need is an importer, to blender or some other program, and I will open source it- well, possibly with a copyright so I can prove that I wrote it, something like PBRT has.- all except for the new MLT code, which I'd prefer to keep a secret a bit longer.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now tell me, is this an improvment worth pursuing? Or should I go ahead and implement the paper on adaptive multi-dimensional sampling that seems to show such great improvements (does anybody know of any renderers that use this?)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_FYCVG7NTOnc/SZHiPEilfTI/AAAAAAAAACk/J7y3qNOXTyo/s1600-h/pathtracing300spp.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://1.bp.blogspot.com/_FYCVG7NTOnc/SZHiPEilfTI/AAAAAAAAACk/J7y3qNOXTyo/s400/pathtracing300spp.png" alt="" id="BLOGGER_PHOTO_ID_5301266984936504626" border="0" /&gt;&lt;/a&gt;Regular path tracing- 300 spp- this was the first time i tried to benchmark it without eclipse being open and me doing stuff.  on my 1.9ghz core 2 duo, with 2 threads, on vista 64, i was getting an average of 10000 mps&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_FYCVG7NTOnc/SZEtYMXKPeI/AAAAAAAAACU/ZeQZqPQPsq8/s1600-h/HDRI_longrun.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://2.bp.blogspot.com/_FYCVG7NTOnc/SZEtYMXKPeI/AAAAAAAAACU/ZeQZqPQPsq8/s400/HDRI_longrun.png" alt="" id="BLOGGER_PHOTO_ID_5301068130050260450" border="0" /&gt;&lt;/a&gt;The image after 315 spp, I'm not going to say how long this took because it was only on one core and was rendered while I was using my computer intensively.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_FYCVG7NTOnc/SZEtPIKKwGI/AAAAAAAAACM/fT44azltmL8/s1600-h/HDRI_testing_speed.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://2.bp.blogspot.com/_FYCVG7NTOnc/SZEtPIKKwGI/AAAAAAAAACM/fT44azltmL8/s400/HDRI_testing_speed.png" alt="" id="BLOGGER_PHOTO_ID_5301067974303203426" border="0" /&gt;&lt;/a&gt;The new algorithm after 20spp, at about 10 minutes on a dual core. -Lprob .01-.99   -maxRej 10-1000&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_FYCVG7NTOnc/SZEtHgNUseI/AAAAAAAAACE/dWT-0XW-M_U/s1600-h/HDRI_testing_regular_7.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://2.bp.blogspot.com/_FYCVG7NTOnc/SZEtHgNUseI/AAAAAAAAACE/dWT-0XW-M_U/s400/HDRI_testing_regular_7.png" alt="" id="BLOGGER_PHOTO_ID_5301067843319935458" border="0" /&gt;&lt;/a&gt;the regular MLT algorithm with 20spp at about 10 miniutes, with an -Lprob .4 and maxrej of 500&lt;br /&gt;&lt;br /&gt;the regular image's lprob and maxrej was set to be what the new algorithm's lprob and maxrej would average out to given thoes paremeters and scene.  All MLT is based off of Keleman et al.'s robust mutation strategy paper, and paper on hybrid MLT.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3109489567717785438-1812110439962121161?l=tlrcam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tlrcam.blogspot.com/feeds/1812110439962121161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tlrcam.blogspot.com/2009/02/more-from-new-mlt-algorithm.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/1812110439962121161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/1812110439962121161'/><link rel='alternate' type='text/html' href='http://tlrcam.blogspot.com/2009/02/more-from-new-mlt-algorithm.html' title='More from the new MLT algorithm'/><author><name>Matt Mirman</name><uri>http://www.blogger.com/profile/05284383073231319422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_FYCVG7NTOnc/SZHiPEilfTI/AAAAAAAAACk/J7y3qNOXTyo/s72-c/pathtracing300spp.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3109489567717785438.post-2615972404642476524</id><published>2009-02-08T11:20:00.000-08:00</published><updated>2009-02-08T11:36:03.689-08:00</updated><title type='text'>stratisfied sampling+MLT</title><content type='html'>I haven't found any papers on this subject exactly, but I had an idea (and hopefully if there is nothing out there, I can write my own paper). What I seem to have had the most trouble with in MLT was to sample uniformly(as uniformly as possible) every direction at a bounce, where applicable.  The trouble is, it is very hard to keep track of where MLT has sampled previously, and what it should do next/how it should do it next.  What I have done is essentially modified the balance heuristic in order to sample every pixel as evenly as possible&lt;div&gt;, and sample every direction as evenly as possible.  This only required slight modification to my path tracer, and does not introduce any bias.  There are numerous other subtleties, but I'd rather not go over all of them, because if It is a unique idea/implementation, I could write a paper on it, which would be nice.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With the modified balance heuristic at 51 spp at about 20 miniutes:&lt;/div&gt;&lt;img src="http://2.bp.blogspot.com/_FYCVG7NTOnc/SY8yIFpkacI/AAAAAAAAABs/tClt9RHQFPk/s320/HDRI_fourth.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5300510400975235522" /&gt;&lt;div&gt;        &lt;/div&gt;&lt;div&gt;without the modification at 81 spp at about 30 miniutes:&lt;/div&gt;&lt;img src="http://2.bp.blogspot.com/_FYCVG7NTOnc/SY8yn8mpA5I/AAAAAAAAAB0/SgWVwN5zjIc/s320/HDRI_third.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5300510948302848914" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3109489567717785438-2615972404642476524?l=tlrcam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tlrcam.blogspot.com/feeds/2615972404642476524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tlrcam.blogspot.com/2009/02/stratisfied-samplingmlt.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/2615972404642476524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/2615972404642476524'/><link rel='alternate' type='text/html' href='http://tlrcam.blogspot.com/2009/02/stratisfied-samplingmlt.html' title='stratisfied sampling+MLT'/><author><name>Matt Mirman</name><uri>http://www.blogger.com/profile/05284383073231319422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_FYCVG7NTOnc/SY8yIFpkacI/AAAAAAAAABs/tClt9RHQFPk/s72-c/HDRI_fourth.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3109489567717785438.post-4834251108911239340</id><published>2009-02-07T21:34:00.000-08:00</published><updated>2009-02-08T02:11:29.056-08:00</updated><title type='text'>High Dynamic Range lighting</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_FYCVG7NTOnc/SY6vfiHR68I/AAAAAAAAABk/EKFDhj7cz7c/s1600-h/HDRI_second.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_FYCVG7NTOnc/SY6vfiHR68I/AAAAAAAAABk/EKFDhj7cz7c/s320/HDRI_second.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5300366767729798082" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I have the preliminary HDRI implemented, i just want to do it now with more than one sort of map (lat/long)&lt;div&gt;Now I have insane amounts of work to do, so I will not be able to post anything else for a while.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3109489567717785438-4834251108911239340?l=tlrcam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tlrcam.blogspot.com/feeds/4834251108911239340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tlrcam.blogspot.com/2009/02/high-dynamic-range-lighting.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/4834251108911239340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/4834251108911239340'/><link rel='alternate' type='text/html' href='http://tlrcam.blogspot.com/2009/02/high-dynamic-range-lighting.html' title='High Dynamic Range lighting'/><author><name>Matt Mirman</name><uri>http://www.blogger.com/profile/05284383073231319422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_FYCVG7NTOnc/SY6vfiHR68I/AAAAAAAAABk/EKFDhj7cz7c/s72-c/HDRI_second.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3109489567717785438.post-1856154446703502484</id><published>2009-02-03T18:22:00.000-08:00</published><updated>2009-02-03T18:33:14.680-08:00</updated><title type='text'>Updates</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_FYCVG7NTOnc/SYj8Lffo0lI/AAAAAAAAABM/1UDcI-7niNc/s1600-h/caustic_ring.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 300px; height: 200px;" src="http://4.bp.blogspot.com/_FYCVG7NTOnc/SYj8Lffo0lI/AAAAAAAAABM/1UDcI-7niNc/s320/caustic_ring.png" alt="" id="BLOGGER_PHOTO_ID_5298762235964346962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;that previous pic had a bug in it, a bug that happened to make it look way cooler than it should have (and take longer to render)&lt;br /&gt;&lt;br /&gt;here is the less cool but bug less image.&lt;br /&gt;&lt;br /&gt;I still have to reimplemented virtually all my materials and SSS, but I've decided, after noticing that with some fixes it runs about 1/4 to 1/2 the speed of indigo that my renderer is not completely horrible.  when i had the bug that made the image look cool, I realized that all I needed was to spend some time making making cooler scenes for it to render.  Well, i'm not going to do that. I currently have no time to do it, and a kinda lame importer, not to mention like no materials as of now.  Instead, what i'm going to do is to fix my thin lense camera to work with bidi, add hdri and add bloom.  probably on the way, add a shader or two, because i've finally decided upon a material system and it should be easy to do now. &lt;br /&gt;&lt;br /&gt;Another idea I've been contemplating is writing a shader that should be able to read user defined shaders and produce corrosponding sampling sets.  I'm sure this has been done before, I even remember reading parts of the paper.  But I don't have the paper, so I'll just figure it out when I want to.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3109489567717785438-1856154446703502484?l=tlrcam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tlrcam.blogspot.com/feeds/1856154446703502484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tlrcam.blogspot.com/2009/02/updates.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/1856154446703502484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/1856154446703502484'/><link rel='alternate' type='text/html' href='http://tlrcam.blogspot.com/2009/02/updates.html' title='Updates'/><author><name>Matt Mirman</name><uri>http://www.blogger.com/profile/05284383073231319422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_FYCVG7NTOnc/SYj8Lffo0lI/AAAAAAAAABM/1UDcI-7niNc/s72-c/caustic_ring.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3109489567717785438.post-943077797464609424</id><published>2009-02-03T08:48:00.000-08:00</published><updated>2009-02-03T08:51:42.259-08:00</updated><title type='text'>speed and rings</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_FYCVG7NTOnc/SYh1u7LuvLI/AAAAAAAAABE/kqlxZAyC8Uw/s1600-h/your_real_mom_6.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 432px; height: 353px;" src="http://4.bp.blogspot.com/_FYCVG7NTOnc/SYh1u7LuvLI/AAAAAAAAABE/kqlxZAyC8Uw/s320/your_real_mom_6.png" alt="" id="BLOGGER_PHOTO_ID_5298614410622713010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;well, i did some behind the scene stuff with the tracing code, and took away a linked list that i was using (the algorithm was easier to implement that way in the beginning), and now its about 3-10 times as quick.  Its now running at 30000 samps/s&lt;br /&gt;&lt;br /&gt;this image was taken after about 6 hours and 2000 muts/pixel.  I feel as though I've made so much progress in the past 2 weeks)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3109489567717785438-943077797464609424?l=tlrcam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tlrcam.blogspot.com/feeds/943077797464609424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tlrcam.blogspot.com/2009/02/speed-and-rings.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/943077797464609424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/943077797464609424'/><link rel='alternate' type='text/html' href='http://tlrcam.blogspot.com/2009/02/speed-and-rings.html' title='speed and rings'/><author><name>Matt Mirman</name><uri>http://www.blogger.com/profile/05284383073231319422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_FYCVG7NTOnc/SYh1u7LuvLI/AAAAAAAAABE/kqlxZAyC8Uw/s72-c/your_real_mom_6.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3109489567717785438.post-4215877565800817348</id><published>2009-02-02T05:42:00.000-08:00</published><updated>2009-02-02T09:39:53.967-08:00</updated><title type='text'>All Better</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_FYCVG7NTOnc/SYcvk4y4CxI/AAAAAAAAAA0/1ChIxiiXnJo/s1600-h/your_real_mom_2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 320px;" src="http://1.bp.blogspot.com/_FYCVG7NTOnc/SYcvk4y4CxI/AAAAAAAAAA0/1ChIxiiXnJo/s320/your_real_mom_2.png" alt="" id="BLOGGER_PHOTO_ID_5298255797392247570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Fixed a bug in the MLT code, now there are no magic squares on the walls.  &lt;div&gt;I still want to learn to implement latin hypercube stratified sampling with the MLT, and Haltron and the likes.  I'm thinking about giving up all hopes of simple pathtracing and making this a pure MLT+-bidirectional renderer.  i figure i can use the same geometry, scene, and visual core in order to add regular path tracing capiabilities one day.  the added simplicity would make it much easier to implement lots of MLT specific optimizations.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There is also the possibility that i might abandon all hopes of this being a usefull renderer, and make it super unbiased (polarization, spectra, quantum properties of light... double slit...)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In other news, I've been reqruited to make my renderer suitable for animations.  there are many reasons other than speed that I'm ignoring that would make my renderer useless for animations.  The reason I agreed was because i had an idea that if i applied MLT directly to the animation sequence, the most relevant parts of the sequence would render first, and each image would be equaly rendered.  My delta sampling could also be applied with respect to time so that that artifacts cause the animation to be less fuzzy.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have way too many ideas and way too little time to try them all.  Its sad.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3109489567717785438-4215877565800817348?l=tlrcam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tlrcam.blogspot.com/feeds/4215877565800817348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tlrcam.blogspot.com/2009/02/all-better.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/4215877565800817348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/4215877565800817348'/><link rel='alternate' type='text/html' href='http://tlrcam.blogspot.com/2009/02/all-better.html' title='All Better'/><author><name>Matt Mirman</name><uri>http://www.blogger.com/profile/05284383073231319422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_FYCVG7NTOnc/SYcvk4y4CxI/AAAAAAAAAA0/1ChIxiiXnJo/s72-c/your_real_mom_2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3109489567717785438.post-595487888814733620</id><published>2009-01-31T23:27:00.000-08:00</published><updated>2009-01-31T23:28:03.059-08:00</updated><title type='text'>Best CG paper ever</title><content type='html'>&lt;a href="http://graphics.cs.cmu.edu/projects/imageshaving/nguyen_eurographics_08.pdf"&gt;Beard removal techniques:&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3109489567717785438-595487888814733620?l=tlrcam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tlrcam.blogspot.com/feeds/595487888814733620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tlrcam.blogspot.com/2009/01/best-cg-paper-ever.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/595487888814733620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/595487888814733620'/><link rel='alternate' type='text/html' href='http://tlrcam.blogspot.com/2009/01/best-cg-paper-ever.html' title='Best CG paper ever'/><author><name>Matt Mirman</name><uri>http://www.blogger.com/profile/05284383073231319422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3109489567717785438.post-1048549081713556409</id><published>2009-01-31T16:46:00.001-08:00</published><updated>2009-01-31T16:54:37.396-08:00</updated><title type='text'>I begin at the end</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_FYCVG7NTOnc/SYTyn8XC4aI/AAAAAAAAAAk/i-l2Qbxqzgg/s1600-h/cornell_working_test_deltas.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 414px; height: 414px;" src="http://4.bp.blogspot.com/_FYCVG7NTOnc/SYTyn8XC4aI/AAAAAAAAAAk/i-l2Qbxqzgg/s320/cornell_working_test_deltas.png" alt="" id="BLOGGER_PHOTO_ID_5297625829726151074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_FYCVG7NTOnc/SYTyCsS7YSI/AAAAAAAAAAM/4gs6bSEdJEY/s1600-h/your_mom.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 429px; height: 286px;" src="http://4.bp.blogspot.com/_FYCVG7NTOnc/SYTyCsS7YSI/AAAAAAAAAAM/4gs6bSEdJEY/s320/your_mom.png" alt="" id="BLOGGER_PHOTO_ID_5297625189758755106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So I definitely might exist, and I definitely might have finally completely figured out how to implement metropolis light transport along with my crazy extension.&lt;br /&gt;&lt;br /&gt;I still need bidirectional path tracing, textures (even though i am against them), a better scene format, more brdfs, and an sss shader to take advantage of my scattering capabilities. (that was the whole point of refactoring the project like a couple months back)&lt;br /&gt;&lt;br /&gt;Only problem is, now I have lots of work to do.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_FYCVG7NTOnc/SYTyYeoBs2I/AAAAAAAAAAc/f5rD5QZG1Uk/s1600-h/blurredsss.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 320px;" src="http://1.bp.blogspot.com/_FYCVG7NTOnc/SYTyYeoBs2I/AAAAAAAAAAc/f5rD5QZG1Uk/s320/blurredsss.png" alt="" id="BLOGGER_PHOTO_ID_5297625564046275426" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3109489567717785438-1048549081713556409?l=tlrcam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tlrcam.blogspot.com/feeds/1048549081713556409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tlrcam.blogspot.com/2009/01/i-begin-at-end.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/1048549081713556409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3109489567717785438/posts/default/1048549081713556409'/><link rel='alternate' type='text/html' href='http://tlrcam.blogspot.com/2009/01/i-begin-at-end.html' title='I begin at the end'/><author><name>Matt Mirman</name><uri>http://www.blogger.com/profile/05284383073231319422</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_FYCVG7NTOnc/SYTyn8XC4aI/AAAAAAAAAAk/i-l2Qbxqzgg/s72-c/cornell_working_test_deltas.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
