{"id":918,"date":"2010-02-06T09:15:07","date_gmt":"2010-02-06T15:15:07","guid":{"rendered":"http:\/\/www.realtimerendering.com\/blog\/?p=918"},"modified":"2010-02-06T14:19:31","modified_gmt":"2010-02-06T20:19:31","slug":"7-things-for-february-6","status":"publish","type":"post","link":"https:\/\/www.realtimerendering.com\/blog\/7-things-for-february-6\/","title":{"rendered":"7 Things for February 6"},"content":{"rendered":"<p>With the excitement of Ground Hog&#8217;s Day and James Joyce&#8217;s birthday over, it&#8217;s time to take off the silly paper hats and get back to writing &#8220;7 things&#8221; columns. Here goes:<\/p>\n<ul>\n<li>Jeremy Shopf gives <a href=\"http:\/\/www.jshopf.com\/blog\/?p=226\">a nice summary<\/a> of recent ambient occlusion papers. AO is becoming the new Shadows&#8212;every conference must have a paper on the topic. Honestly, it&#8217;s amazing that some of these ideas haven&#8217;t popped up earlier, like the line integral method. If you accept the basic approximation of AO from the start, then it&#8217;s a matter of how to best integrate the hemisphere around the point. I&#8217;m not downplaying the contribution of this research. Just the opposite, it&#8217;s more along the lines of &#8220;d&#8217;oh, brilliant, and why didn&#8217;t anyone think of that earlier?&#8221; The answer is both, &#8220;because those guys are smart&#8221; and, &#8220;they actually tried it out, vs. thinking of an idea and not pursuing it.&#8221;<\/li>\n<li><a href=\"http:\/\/www.realtimerendering.com\/blog\/c-baby\/\">Thinking about C++<\/a> and looking at <a href=\"http:\/\/www.realtimerendering.com\/blog\/?s=windirstat\">my old utilities post<\/a>, I realized I forgot an add-on I use just about every day: <a href=\"http:\/\/www.wholetomato.com\/\">Visual Assist X<\/a>. This product makes Visual Studio much more usable for C++. Over the years it&#8217;s become\u00a0indispensable to me, as more and more features get integrated into how I work. I started off small: there&#8217;s a great button that simply switches you between the .cpp and .h version of the file. Then I noticed that other button which takes a set of lines I&#8217;ve selected and comments them out in a single mouse press, and the other button that uncomments them back. Then I found I could add a control that lets me type in a few characters to find a code file, or find a class. On and on it goes&#8230; Anyway, there&#8217;s a free trial, and for individuals it&#8217;s an entirely reasonable (for what you get) $99 license. By the way, you really don&#8217;t need to get the maintenance renewal every year.<\/li>\n<li>As you may know, MIT has had a mandate for a number of years to put <a href=\"http:\/\/ocw.mit.edu\/OcwWeb\/web\/home\/home\/index.htm\">all of its courses online<\/a> in some form&#8212;there are now 1900 of them. The EE &amp; CS department, naturally enough, has <a href=\"http:\/\/ocw.mit.edu\/OcwWeb\/Electrical-Engineering-and-Computer-Science\/index.htm\">quite a selection<\/a>. The third <a href=\"http:\/\/ocw.mit.edu\/OcwWeb\/web\/courses\/visits\/index.htm\">most visited course<\/a> on the whole site is <a href=\"http:\/\/ocw.mit.edu\/OcwWeb\/Electrical-Engineering-and-Computer-Science\/6-00Fall-2008\/CourseHome\/index.htm\"><em>Introduction to Computer Science and Programming<\/em><\/a>, from Fall 2008 (and I approve: they use <a href=\"http:\/\/www.realtimerendering.com\/blog\/tools-for-teaching\/\">Python<\/a>!). There&#8217;s only one <a href=\"http:\/\/ocw.mit.edu\/OcwWeb\/Electrical-Engineering-and-Computer-Science\/6-837Fall2003\/CourseHome\/index.htm\">computer graphics course<\/a>, from 2003, but it covers unchanging principles and concepts so the &#8220;ancient&#8221; date is a minor problem.<\/li>\n<li>Naty pointed out <a href=\"http:\/\/directtovideo.wordpress.com\/2009\/11\/13\/deferred-rendering-in-frameranger\/\">this article about deferred rendering<\/a>. He notes, &#8220;A nice description of a deferred rendering system used in a demo&#8212;of particular interest is the use of raytraced distance fields for rendering fluids, and the integration of this into the overall deferred system.&#8221;<\/li>\n<li>A month and a half ago I <a href=\"http:\/\/www.realtimerendering.com\/blog\/7-things-for-december-22\/\">listed some articles<\/a> about reconstructing the position or linear z-depth in a shader. <a href=\"http:\/\/mynameismjp.wordpress.com\/2009\/03\/10\/reconstructing-position-from-depth\/\">Here&#8217;s another<\/a>.<\/li>\n<li>It&#8217;s the ongoing debate, back again. No, not <a href=\"http:\/\/www.nytimes.com\/2008\/02\/13\/dining\/13chocolate.html\">dark vs. milk chocolate<\/a>, nor <a href=\"http:\/\/www.ultimatecarpage.com\/forum\/car-comparison\/38662-ferrari-vs-porsche.html\">Ferrari vs. Porsche<\/a>, but <a href=\"http:\/\/www.geeks3d.com\/20100128\/opengl-vs-direct3d-the-return\/\">DirectX vs. OpenGL<\/a>. My own feeling is &#8220;whatever, we support both&#8221;. By the way, the upcoming book <a href=\"http:\/\/www.akpeters.com\/product.asp?ProdCode=4728\"><em>GPU PRO<\/em><\/a> (which also has <a href=\"http:\/\/gpupro.blogspot.com\/\">a blog<\/a>, and has just been listed on <a href=\"http:\/\/www.amazon.com\/GPU-Pro-Advanced-Rendering-Techniques\/dp\/1568814720?tag=realtimerenderin\">Amazon<\/a>) includes an in-depth article on porting from DX9 to OpenGL 2.0. <a href=\"http:\/\/www.slideshare.net\/Mark_Kilgard\/opengl-32-and-more\">Mark Kilgard&#8217;s presentation<\/a> also discusses the differences, including the coordinate space and window space conventions.<\/li>\n<li>I love human pixels. The <a href=\"http:\/\/en.wikipedia.org\/wiki\/Arirang_Festival\">Arirang Festival<\/a> in North Korea is a famous example, check out <a href=\"http:\/\/images.google.com\/images?rlz=1C1GGLS_enUS360US361&amp;sourceid=chrome&amp;q=arirang+festival&amp;um=1&amp;ie=UTF-8&amp;ei=GYRtS_SHENTg8QaD4dGVCQ&amp;sa=X&amp;oi=image_result_group&amp;ct=title&amp;resnum=4&amp;ved=0CBwQsAQwAw\">Google Images<\/a>. But that&#8217;s just a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Card_stunt\">card stunt<\/a>, impressive as it is. <a href=\"http:\/\/www.youtube.com\/watch?v=7Jgkm2pdWgY&amp;feature=player_embedde\">This video<\/a> shows a technique I hadn&#8217;t seen before (note that some of it is sped up&#8212;check the speed of the people on the field&#8212;but still fantastic). There are other videos, such as <a href=\"http:\/\/www.youtube.com\/watch?v=bdawiz6RAl4&amp;NR=1\">this<\/a> and <a href=\"http:\/\/www.youtube.com\/watch?v=tipHJlLUzNk&amp;feature=related\">this<\/a>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>With the excitement of Ground Hog&#8217;s Day and James Joyce&#8217;s birthday over, it&#8217;s time to take off the silly paper hats and get back to writing &#8220;7 things&#8221; columns. Here goes: Jeremy Shopf gives a nice summary of recent ambient occlusion papers. AO is becoming the new Shadows&#8212;every conference must have a paper on the [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[107,33,326,67,325,328,327],"class_list":["post-918","post","type-post","status-publish","format-standard","hentry","category-resources","tag-ambient-occlusion","tag-directx","tag-mit","tag-opengl","tag-pixel","tag-python","tag-visual-assist-x"],"_links":{"self":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts\/918","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/comments?post=918"}],"version-history":[{"count":6,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts\/918\/revisions"}],"predecessor-version":[{"id":920,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/posts\/918\/revisions\/920"}],"wp:attachment":[{"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/media?parent=918"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/categories?post=918"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.realtimerendering.com\/blog\/wp-json\/wp\/v2\/tags?post=918"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}