<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Oleg Alexander</title>
	<atom:link href="http://olegalexander.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://olegalexander.com</link>
	<description>Progress Report</description>
	<lastBuildDate>Tue, 08 May 2012 00:57:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Creativity and Puzzles</title>
		<link>http://olegalexander.com/?p=1289</link>
		<comments>http://olegalexander.com/?p=1289#comments</comments>
		<pubDate>Mon, 07 May 2012 22:06:51 +0000</pubDate>
		<dc:creator>olegalexander</dc:creator>
				<category><![CDATA[Avatar]]></category>
		<category><![CDATA[CGI]]></category>
		<category><![CDATA[Compositing]]></category>
		<category><![CDATA[Creativity]]></category>
		<category><![CDATA[Directing]]></category>
		<category><![CDATA[Ideation]]></category>
		<category><![CDATA[Inverse Lighting]]></category>
		<category><![CDATA[Pipeline]]></category>
		<category><![CDATA[Primitive]]></category>
		<category><![CDATA[Screenwriting]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[VFX]]></category>

		<guid isPermaLink="false">http://olegalexander.com/?p=1289</guid>
		<description><![CDATA[Bill Oberst commented on my previous post as follows: I am only a layman but have read this and related posts carefully several times to try and understand the difficulties of the problem and the ingenuity of the solution. I am currently reading Jonah Berg’s “Imagine: How Creativity Works” and I wonder if either Oleg [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Bill Oberst commented on my previous post as follows:</p>
<blockquote>
<p style="text-align: justify;">I am only a layman but have read this and related posts carefully several times to try and understand the difficulties of the problem and the ingenuity of the solution. I am currently reading Jonah Berg’s “Imagine: How Creativity Works” and I wonder if either Oleg Alexander or William Lambeth approached this problem by stepping away from it and daydreaming, or did a more ‘constant-focus-on-the-problem’ process lead to the solution?</p>
</blockquote>
<p style="text-align: justify;">I&#8217;ll try to answer this excellent question in this post.</p>
<p style="text-align: justify;">I devote a lot of thought to the subject of creativity. I&#8217;m constantly trying to stay conscious of and to streamline my own creative process. So far I&#8217;ve identified two kinds of creative problems: Puzzles and Wicked Problems.</p>
<h3 style="text-align: justify;">Puzzles</h3>
<p style="text-align: justify;">Think of your favorite puzzle games. Like jigsaw puzzles, tangrams, untangle puzzles, unblock puzzles, matchstick puzzles, Cut the Rope, etc. Solving puzzles is a creative process. Puzzles are &#8220;easy&#8221; problems because they are well defined. For example, in tangrams, you must match a given silhouette using all 7 tangram pieces. Puzzles usually have a structure like: do X, given the constraints Y. (In computer science, puzzles are called constraint satisfaction problems.) The constraints are the key to a well defined puzzle problem. Just think of other problems which are not usually referred to as puzzles, but which have the same structure. For example, creative writing assignments. Like, describe one of your family members, but the number of words you can use must match this family member&#8217;s age. Or Pictionary/Charades, describe a phrase by drawing it or acting it out. Improv/<em>Who&#8217;s Line Is It Anyway</em> fall into the same category.</p>
<p style="text-align: justify;">Puzzles are solved by trial and error (aka optimization in computer science). It is rare that one solves a puzzle problem through one grand &#8220;inspiration&#8221;. It&#8217;s more like hundreds of tiny inspirations, each of which moves you closer to the optimal solution.</p>
<p style="text-align: justify;">The bald cap wrinkling problem is an example of a puzzle problem. It is very well defined: Get rid of the goddamn wrinkles!</p>
<p style="text-align: justify;">Now I will describe the creative process of solving the bald cap wrinkling issue as best as I remember it.</p>
<p style="text-align: justify;">The first thing I tried was simple 2D tricks like using blur or median filters on the wrinkles. That looked like shit, so then I knew that only way to get rid of the wrinkles was to replace the bald cap completely with a CG one. This meant two things: the head would have to be matchmoved and the lighting would have to match. Luckily, the matchmoving was going to happen anyway for a different reason: to warp the head to Neanderthal proportions. So the matchmoving pipeline was already developed and work on matchmoving was already in progress.</p>
<p style="text-align: justify;">This left only the lighting issue. I made a list of possible ways to match the lighting:</p>
<ol style="text-align: justify;">
<li>Manually (Too labor intensive.)</li>
<li>Dig through old hard drives to find the chrome ball lighting reference from the shoot. (Too boring.)</li>
<li>Optimize the lighting to match a target image. (Sounds like fun!)</li>
</ol>
<p style="text-align: justify;">I didn&#8217;t know exactly how I was gonna optimize the lighting, but I knew it was <em>possible</em>. After consulting with my PhD math wiz friends and coworkers and doing a few Google searches for things like &#8220;reverse engineer lighting&#8221;, I came upon &#8220;inverse lighting&#8221;, the technical term for what I was trying to do. The papers on inverse lighting basically <em>confirmed</em> the approach I was about to take: to solve the lighting using linear least squares. This kind of thing happens to me all the time, I &#8220;invent&#8221; a solution to a problem because I know it&#8217;s <em>possible</em>, and <em>then</em> do a Google search to find out what this problem is officially called and what potential solutions there are in the literature.</p>
<p style="text-align: justify;">So I prototyped the oa Match Lighting tool and it worked! (Needless to say, the tool went through several iterations of its own, which I won&#8217;t go into here.) Now I had a viable solution for matching the lighting. All the pieces were in place. Time to do an actual test frame.</p>
<p style="text-align: justify;">Next came the familiar iterative process of &#8220;tweaking&#8221;. When you&#8217;re tweaking, you know you&#8217;re almost at the end! There are usually no new surprise variables, you&#8217;re just tweaking existing variables. But as you&#8217;ll see, tiny inspirations can come even at the tweaking stage. I&#8217;ll post images here of the different iterations.</p>
<p style="text-align: justify;">Here&#8217;s the raw problem image again, to keep the context.</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/05/Branch_200_baldcapComp_5_5_12_raw1.jpg"><img class="aligncenter size-large wp-image-1294" title="Branch_200_baldcapComp_5_5_12_raw" src="http://olegalexander.com/wp-content/uploads/2012/05/Branch_200_baldcapComp_5_5_12_raw1-950x475.jpg" alt="" width="950" height="475" /></a></p>
<p style="text-align: justify;">Here&#8217;s the first iteration of the CG bald cap.</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/05/Branch_200_baldcapComp_4_14_12.jpg"><img class="aligncenter size-large wp-image-1295" title="Branch_200_baldcapComp_4_14_12" src="http://olegalexander.com/wp-content/uploads/2012/05/Branch_200_baldcapComp_4_14_12-950x475.jpg" alt="" width="950" height="475" /></a></p>
<p style="text-align: justify;">Looking at the first shitty iteration, you might think that William Lambeth and I were worried. But we were not, because we knew that in a few more iterations we&#8217;ll get to a good place. William touched up the textures a bit more and this was the second iteration.</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/05/Branch_200_baldcapComp_4_24_12.jpg"><img class="aligncenter size-large wp-image-1296" title="Branch_200_baldcapComp_4_24_12" src="http://olegalexander.com/wp-content/uploads/2012/05/Branch_200_baldcapComp_4_24_12-950x475.jpg" alt="" width="950" height="475" /></a></p>
<p style="text-align: justify;">A bit better, but William still felt that the bald spot was not shiny enough. That it was too matte. It certainly didn&#8217;t match the greasy highlight on the nose. I explained to him that the problem was not with the shininess of the material on the CG bald cap, but a bigger problem of the lighting itself being too diffuse. The reason for this was that the material of the bald cap in the original raw image was already matte! Therefore any lighting recovered from a matte surface will also be very diffuse. &#8220;There&#8217;s nothing we can do about it&#8221;, I said. Luckily, William refused to accept my &#8220;logic&#8221; and sent me the following image in which he added a fake highlight in Photoshop.</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/05/Branch_paint.jpg"><img class="aligncenter size-large wp-image-1297" title="Branch_paint" src="http://olegalexander.com/wp-content/uploads/2012/05/Branch_paint-950x475.jpg" alt="" width="950" height="475" /></a></p>
<p style="text-align: justify;">After seeing this image, I realized that he was absolutely right: the bald spot must be made shinier. But how? It was at this moment that I had a flash of inspiration. If William can paint a fake highlight on the final image, then why can&#8217;t I paint a fake highlight on the target image for the lighting tool to match? I knew in that instance that adding a fake highlight to the target image would translate into my tool creating a bright &#8220;sun&#8221; light in the lightmap! So I tried it and of course it worked! So much for &#8220;nothing we can do about it&#8221;. Here&#8217;s the target image I used with an added fake highlight.</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/05/target2.jpg"><img class="aligncenter size-full wp-image-1300" title="target" src="http://olegalexander.com/wp-content/uploads/2012/05/target2.jpg" alt="" width="256" height="256" /></a></p>
<p style="text-align: justify;">And here&#8217;s the final iteration we ended up with!</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/05/Branch_200_baldcapComp_5_5_12_highlight041.jpg"><img class="aligncenter size-large wp-image-1301" title="Branch_200_baldcapComp_5_5_12_highlight04" src="http://olegalexander.com/wp-content/uploads/2012/05/Branch_200_baldcapComp_5_5_12_highlight041-950x475.jpg" alt="" width="950" height="475" /></a></p>
<p style="text-align: justify;">It is a fact that anything I post on this blog has gone through a similar creative process, and you only get to see the final result. But of course the fun is in the creative process itself!</p>
<h3 style="text-align: justify;">Wicked Problems</h3>
<p style="text-align: justify;">Wicked problems are creative problems that are much harder that puzzles. What makes them hard is that in addition to not knowing what the solution is, you also don&#8217;t even know what the problem is! An example would be trying to come up with an idea for a screenplay. Where do you start? Anything goes so the solution space is infinite.</p>
<p style="text-align: justify;">Well, I like to think that the best place to start is with some constraints. Like nailing down the genre or theme. Maybe trying random configurations of genre and theme. Like &#8220;hazing&#8230;in space&#8221;. In other words, before a wicked problem can be solved, it must first be converted into a puzzle, a well defined problem. And it is VERY difficult to design a good puzzle!</p>
<p style="text-align: justify;">No one has a magic formula for creativity. But currently I try to use the following formula:</p>
<p style="text-align: justify;">CREATIVITY = CONSTRAINTS + RANDOMNESS</p>
<p style="text-align: justify;">Let me end with a quote from a Cinefex article about Avatar. When designing the world of Pandora, James Cameron said:</p>
<blockquote>
<p style="text-align: justify;">When you’ve got all these possibilities, when you can do any kind of action imaginable, you have to be very disciplined. Applying rigor and discipline to the process has been the biggest challenge, in fact. Early on, we came up with the principle of denying ourselves infinite possibility–which sounds wrong. You’d think you’d want to embrace the infinite possibility; but you don’t because you’ll never get there. Ever. We stood by the principle of making a creative decision in the moment, and never second-guessing it. And just by making that decision, we had eliminated possibility. Every single day was about eliminating possibility.</p>
</blockquote>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "pub-3196409932793086";
/* leaderboard 728x90, created 10/30/10 */
google_ad_slot = "3944251428";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>]]></content:encoded>
			<wfw:commentRss>http://olegalexander.com/?feed=rss2&#038;p=1289</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PRIMITIVE Bald Cap</title>
		<link>http://olegalexander.com/?p=1275</link>
		<comments>http://olegalexander.com/?p=1275#comments</comments>
		<pubDate>Sun, 06 May 2012 01:42:21 +0000</pubDate>
		<dc:creator>olegalexander</dc:creator>
				<category><![CDATA[CGI]]></category>
		<category><![CDATA[Compositing]]></category>
		<category><![CDATA[Directing]]></category>
		<category><![CDATA[Image Based Lighting]]></category>
		<category><![CDATA[Inverse Lighting]]></category>
		<category><![CDATA[Pipeline]]></category>
		<category><![CDATA[Primitive]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[VFX]]></category>

		<guid isPermaLink="false">http://olegalexander.com/?p=1275</guid>
		<description><![CDATA[As a followup to my previous post, here&#8217;s progress on the bald cap wrinkling fix. Before: After: My inverse lighting tool (which is now called oa Match Lighting) worked like a charm! I used a blurred version of the original frame as my target image. I also added a fake highlight to make the head [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">As a followup to my previous post, here&#8217;s progress on the bald cap wrinkling fix.</p>
<p style="text-align: justify;">Before:</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/05/Branch_200_baldcapComp_5_5_12_raw.jpg"><img class="aligncenter size-large wp-image-1276" title="Branch_200_baldcapComp_5_5_12_raw" src="http://olegalexander.com/wp-content/uploads/2012/05/Branch_200_baldcapComp_5_5_12_raw-950x475.jpg" alt="" width="950" height="475" /></a></p>
<p style="text-align: justify;">After:</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/05/Branch_200_baldcapComp_5_5_12_highlight04.jpg"><img class="aligncenter size-large wp-image-1277" title="Branch_200_baldcapComp_5_5_12_highlight04" src="http://olegalexander.com/wp-content/uploads/2012/05/Branch_200_baldcapComp_5_5_12_highlight04-950x475.jpg" alt="" width="950" height="475" /></a></p>
<p style="text-align: justify;">My inverse lighting tool (which is now called oa Match Lighting) worked like a charm! I used a blurred version of the original frame as my target image. I also added a fake highlight to make the head shinier. Pretty cool that I can just &#8220;paint&#8221; the kind of lighting I want and my lighting tool will match it! Here&#8217;s the target image I used:</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/05/target.jpg"><img class="aligncenter size-full wp-image-1278" title="target" src="http://olegalexander.com/wp-content/uploads/2012/05/target.jpg" alt="" width="256" height="256" /></a></p>
<p style="text-align: justify;">Here&#8217;s the closest match preview from my tool:</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/05/closestMatch.jpg"><img class="aligncenter size-full wp-image-1279" title="closestMatch" src="http://olegalexander.com/wp-content/uploads/2012/05/closestMatch.jpg" alt="" width="256" height="256" /></a></p>
<p style="text-align: justify;">And here&#8217;s the lightmap that my tool generated. I used this lightmap to render the bald cap model at high res. Then composited the render over the original frame.</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/05/lightmap.jpg"><img class="aligncenter size-full wp-image-1280" title="lightmap" src="http://olegalexander.com/wp-content/uploads/2012/05/lightmap.jpg" alt="" width="256" height="128" /></a></p>
<p style="text-align: justify;">Special thanks to <a href="http://www.williamlambeth.com/" target="_blank">William Lambeth</a> for creating the model and textures for the bald cap. His input on this issue has been invaluable.</p>
<p style="text-align: justify;">Comments welcome!</p>
<p style="text-align: justify;">
]]></content:encoded>
			<wfw:commentRss>http://olegalexander.com/?feed=rss2&#038;p=1275</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PRIMITIVE Inverse Lighting</title>
		<link>http://olegalexander.com/?p=1239</link>
		<comments>http://olegalexander.com/?p=1239#comments</comments>
		<pubDate>Mon, 30 Jan 2012 02:50:48 +0000</pubDate>
		<dc:creator>olegalexander</dc:creator>
				<category><![CDATA[CGI]]></category>
		<category><![CDATA[Directing]]></category>
		<category><![CDATA[Image Based Lighting]]></category>
		<category><![CDATA[Inverse Lighting]]></category>
		<category><![CDATA[Pipeline]]></category>
		<category><![CDATA[Primitive]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[USC ICT]]></category>
		<category><![CDATA[VFX]]></category>

		<guid isPermaLink="false">http://olegalexander.com/?p=1239</guid>
		<description><![CDATA[Ok, this is really cool! (This post is a bit technical, but I tried my best to make it accessible to everyone. If something is not clear, please post a question in the comments.) The Problem Unfortunately, the bald cap is wrinkling in most shots and has to be completely replaced with a cleaned up [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Ok, this is <em>really</em> cool! (This post is a bit technical, but I tried my best to make it accessible to everyone. If something is not clear, please post a question in the comments.)</p>
<h3 style="text-align: justify;">The Problem</h3>
<p style="text-align: justify;">Unfortunately, the bald cap is wrinkling in most shots and has to be completely replaced with a cleaned up CG version. Here&#8217;s an example of the wrinkling:</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/01/baldCapWrinkling.jpg"><img class="aligncenter size-large wp-image-1241" title="baldCapWrinkling" src="http://olegalexander.com/wp-content/uploads/2012/01/baldCapWrinkling-950x475.jpg" alt="" width="950" height="475" /></a></p>
<p style="text-align: justify;">We are going to track the head geometry (based on a 3D scan of Bill Oberst, Jr.) per frame relative to the camera. (The actual head tracking is done by a custom geometry tracker written especially for PRIMITIVE. I will describe it in a future post.) Here&#8217;s a screenshot of what the head tracking looks like in Maya:</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/01/trackedHead.jpg"><img class="aligncenter size-large wp-image-1243" title="trackedHead" src="http://olegalexander.com/wp-content/uploads/2012/01/trackedHead-950x571.jpg" alt="" width="950" height="571" /></a></p>
<p style="text-align: justify;">So all we have do now is render out the clean CG bald cap and comp it over the original, right? Well, almost. Even though we have the camera and the head geometry, we still don&#8217;t know what the lighting is! In order to match the lighting in the original shot, I could take one of the following approaches:</p>
<ol style="text-align: justify;">
<li>Match the lighting manually by placing lights around the CG bald cap and adjusting their colors. This would be a very labor intensive process.</li>
<li>I actually took still Low Dynamic Range images of a chrome ball on the day of the shoot. Even though these are not true High Dynamic Range images, they could still be used for Image Based Lighting, especially if the clipped highlights are expanded. The only problem is that these images are now so far back in my pipeline that I would have to go digging through old hard drives to find them all. Boring.</li>
<li>Write a tool which will estimate the lighting for me.</li>
</ol>
<p style="text-align: justify;">Guess which one I did?</p>
<h3 style="text-align: justify;">Image Based Lighting</h3>
<p style="text-align: justify;">The tool I wrote is based around the idea of Image Based Lighting (IBL). For the uninitiated, here&#8217;s a very short explanation. IBL was introduced by my boss, Dr. Paul Debevec, in a Siggraph 98 paper called <em><a href="http://people.ict.usc.edu/~debevec/Research/IBL/" target="_blank">Rendering Synthetic Objects into Real Scenes</a>. </em>(I graduated high school that year!) The general idea is that if you&#8217;ve captured a High Dynamic Range panoramic environment of your scene, then you can use this environment as a spherical light source in an IBL capable renderer. Here&#8217;s an example environment (image from <a href="http://www.hdrlabs.com/sibl/archive.html" target="_blank">HDRLabs.com</a>):</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/01/Alexs_Apt_2K.jpg"><img class="aligncenter size-large wp-image-1247" title="Alexs_Apt_2K" src="http://olegalexander.com/wp-content/uploads/2012/01/Alexs_Apt_2K-950x475.jpg" alt="" width="950" height="475" /></a></p>
<p style="text-align: justify;">In IBL, we take this environment image and map it onto the inside of a giant sphere. We can then render objects placed inside this sphere using the environment map as a light source. Here&#8217;s an example of Bill&#8217;s head geometry lit by this environment:</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/01/target.jpg"><img class="aligncenter size-full wp-image-1248" title="target" src="http://olegalexander.com/wp-content/uploads/2012/01/target.jpg" alt="" width="256" height="256" /></a></p>
<p style="text-align: justify;">You can actually see the blue light on his cheek coming from the TV screen.</p>
<h3 style="text-align: justify;">Reflectance Fields</h3>
<p style="text-align: justify;">Reflectance fields were also introduced by Paul Debevec in a Siggraph 2000 paper called <em><a href="http://people.ict.usc.edu/~debevec/Research/LS/" target="_blank">Acquiring the Reflectance Field of a Human Face</a>. </em>There&#8217;s an excellent explanation of reflectance fields in this short video:</p>
<p style="text-align: justify;"><a href="http://people.ict.usc.edu/~debevec/Research/LS/debevec-imagebasedlighting-s2000.mov">http://people.ict.usc.edu/~debevec/Research/LS/debevec-imagebasedlighting-s2000.mov</a></p>
<p style="text-align: justify;">The idea is that if you&#8217;ve captured or rendered your subject from all possible lighting directions, then it is possible to arbitrarily relight the subject by adding the images together in different proportions. In my case, the reflectance field (also known as a lighting basis) is one of the inputs to my program. I used a simple grid lighting basis, 16&#215;8 pixels, for a total of 128 lighting conditions. Here&#8217;s the lighting basis I used:</p>
<p style="text-align: center;"> <iframe src='http://player.vimeo.com/video/35855534?title=1&amp;byline=1&amp;portrait=1' width='950' height='534' frameborder='0'></iframe></p>
<p style="text-align: justify;">I literally mapped this sequence of images onto a large sphere and rendered my object with IBL settings turned on in Mental Ray. Here&#8217;s the result:</p>
<p style="text-align: center;"><iframe src='http://player.vimeo.com/video/35855346?title=1&amp;byline=1&amp;portrait=1' width='950' height='534' frameborder='0'></iframe></p>
<p style="text-align: justify;">As you can see, this produces 128 images, one image for each pixel in the 16&#215;8 grid. Now let&#8217;s take our original environment of the room with the TV and scale it down to 16&#215;8 pixels. Let&#8217;s call this the <em>target lightmap</em>.</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/01/Alexs_Apt_16x8_lightmap.jpg"><img class="aligncenter size-large wp-image-1251" title="Alexs_Apt_16x8_lightmap" src="http://olegalexander.com/wp-content/uploads/2012/01/Alexs_Apt_16x8_lightmap-950x475.jpg" alt="" width="950" height="475" /></a></p>
<p style="text-align: justify;">Now let&#8217;s multiply each basis render with it&#8217;s corresponding pixel:</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/01/reflectance_field.jpg"><img class="aligncenter size-large wp-image-1252" title="reflectance_field" src="http://olegalexander.com/wp-content/uploads/2012/01/reflectance_field-950x475.jpg" alt="" width="950" height="475" /></a></p>
<p style="text-align: justify;">Now if we add up all these images together, we will get Bill&#8217;s face lit by the room&#8217;s environment. Simple, right? Let&#8217;s call this the <em>target image</em>:</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/01/target1.jpg"><img class="aligncenter size-full wp-image-1253" title="target" src="http://olegalexander.com/wp-content/uploads/2012/01/target1.jpg" alt="" width="256" height="256" /></a></p>
<h3 style="text-align: justify;">Inverse Lighting</h3>
<p style="text-align: justify;">In the above case, the lighting (the image we called target lightmap) is known. But in the case of the bald cap, the lighting is unknown. Luckily, it is possible to reverse engineer the lighting through a process known as Inverse Lighting. Here&#8217;s a good paper about Inverse Lighting:</p>
<p style="text-align: justify;"><a href="http://graphics.stanford.edu/~srm/publications/CIC97-invlig.pdf">http://graphics.stanford.edu/~srm/publications/CIC97-invlig.pdf</a></p>
<p style="text-align: justify;">My tool is simply an implementation of this paper in Python/Numpy. The tool takes as input the target image and the 128 basis renders. Assuming that the lighting in the target image can be reproduced by some combination of the basis images added together in different proportions, all we need to know is what those proportions are. The proportions (coefficients) are, in fact, the colors of the pixels in the estimated lightmap! My tool solves the coefficients (per channel) using a least squares solver and outputs an estimated lightmap, like this one:</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/01/result_lightmap.jpg"><img class="aligncenter size-large wp-image-1257" title="result_lightmap" src="http://olegalexander.com/wp-content/uploads/2012/01/result_lightmap-950x475.jpg" alt="" width="950" height="475" /></a></p>
<p style="text-align: justify;">As you can see, this lightmap is very close to our target lightmap, especially in areas where we have data, like the front of the face. Areas where we don&#8217;t have any data, like the back of the head, are not close, but that doesn&#8217;t matter because we will only be rendering from one point of view!</p>
<p style="text-align: justify;">Now let&#8217;s compare the original target image rendered by the known ground truth target lightmap:</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/01/target2.jpg"><img class="aligncenter size-full wp-image-1258" title="target" src="http://olegalexander.com/wp-content/uploads/2012/01/target2.jpg" alt="" width="256" height="256" /></a></p>
<p style="text-align: justify;">With the result image rendered by the estimated lightmap produced by my tool:</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2012/01/result_render.jpg"><img class="aligncenter size-full wp-image-1259" title="result_render" src="http://olegalexander.com/wp-content/uploads/2012/01/result_render.jpg" alt="" width="256" height="256" /></a>As you can see, they are almost identical!</p>
<p style="text-align: justify;">Now of course, this test data set is synthetic and therefore these results are ideal. In the real world case of the bald cap there will be error. For example, the target image will be a still of the bald cap (masked out of course) and the 128 basis renders will be of the CG bald cap, which may not be the exact same shape or color as Bill&#8217;s head. This will introduce some error, but we can be confident that the tool will produce the best possible lightmap approximation while trying to minimize the error.</p>
<p style="text-align: justify;">So in summary, I just saved myself countless hours of work, if I were to try matching the lighting manually. I&#8217;m considering selling this tool. If you&#8217;re interested, please contact me.</p>
<p style="text-align: justify;">I&#8217;m not sure if this will impress Paul Debevec. But considering that I failed Algebra twice, this <em>will</em> impress my mom. <img src='http://olegalexander.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://olegalexander.com/?feed=rss2&#038;p=1239</wfw:commentRss>
		<slash:comments>4</slash:comments>
<enclosure url="http://people.ict.usc.edu/~debevec/Research/LS/debevec-imagebasedlighting-s2000.mov" length="19603598" type="video/quicktime" />
		</item>
		<item>
		<title>PRIMITIVE Progress</title>
		<link>http://olegalexander.com/?p=1200</link>
		<comments>http://olegalexander.com/?p=1200#comments</comments>
		<pubDate>Tue, 06 Dec 2011 21:10:39 +0000</pubDate>
		<dc:creator>olegalexander</dc:creator>
				<category><![CDATA[3D Filmmaking]]></category>
		<category><![CDATA[3D Scanning]]></category>
		<category><![CDATA[Compositing]]></category>
		<category><![CDATA[Directing]]></category>
		<category><![CDATA[Greenscreen]]></category>
		<category><![CDATA[Pipeline]]></category>
		<category><![CDATA[Primitive]]></category>
		<category><![CDATA[Stereoscopy]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[VFX]]></category>

		<guid isPermaLink="false">http://olegalexander.com/?p=1200</guid>
		<description><![CDATA[I know it&#8217;s been ages since I&#8217;ve posted anything about PRIMITIVE. But that&#8217;s because I&#8217;ve been too busy making progress! In the past 6 months I&#8217;ve completed two critical milestones: I fixed most of the vertical parallax issues in my stereo footage. I finished the alpha cleanup on all the shots. Vertical Parallax Fix You [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">I know it&#8217;s been ages since I&#8217;ve posted anything about PRIMITIVE. But that&#8217;s because I&#8217;ve been too busy making progress! In the past 6 months I&#8217;ve completed two critical milestones:</p>
<ul style="text-align: justify;">
<li>I fixed most of the vertical parallax issues in my stereo footage.</li>
</ul>
<ul style="text-align: justify;">
<li>I finished the alpha cleanup on all the shots.</li>
</ul>
<h3 style="text-align: justify;">Vertical Parallax Fix</h3>
<p style="text-align: justify;">You may remember that PRIMITIVE was shot with the wrong beam splitter rig. This was my fault. I originally bought the cheaper version of the beam splitter rig from<a href="http://www.3dfilmfactory.com/" target="_blank"> 3dfilmfactory</a>, because I never imagined that I could later afford shooting with 2 RED cameras. The beam splitter rig that I got was never designed to hold 2 REDs, but somehow my DP managed to shove 2 REDs in there anyway. The result was a vertically misaligned 3D camera. So, I knew going in that I was gonna have vertical parallax problems. What I didn&#8217;t know was how big a deal it would be to fix this in post.</p>
<p style="text-align: justify;">Here&#8217;s an example shot with really severe vertical parallax problems. Not all shots were this bad. The red lines connect corresponding points in the left and right images. Ideally, these lines are supposed to be completely horizontal. Notice that the problem can&#8217;t be fixed with a simple 2D shift because the vertical parallax is different for points close to the camera and points far from the camera. Looking at this image in 3D would give you a major headache because in order to achieve stereopsis your eyes would have to diverge vertically!</p>
<div style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2011/12/verticalParallaxBefore.jpg"><img class="aligncenter size-large wp-image-1204" title="verticalParallaxBefore" src="http://olegalexander.com/wp-content/uploads/2011/12/verticalParallaxBefore-950x237.jpg" alt="" width="950" height="237" /></a></div>
<p style="text-align: justify;">Here is the same shot with my vertical parallax fix applied. Notice how the same lines are almost horizontal now, which means that viewing this shot in 3D will be a pleasant experience.</p>
<div style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2011/12/verticalParallaxAfter1.jpg"><img class="aligncenter size-large wp-image-1208" title="verticalParallaxAfter" src="http://olegalexander.com/wp-content/uploads/2011/12/verticalParallaxAfter1-950x237.jpg" alt="" width="950" height="237" /></a></div>
<p style="text-align: justify;">So how does it work? Well, I tried several different &#8220;obvious&#8221; approaches, all of which failed. I became discouraged by the possibility that I would have to fall back to making the film in 2D. Then I said: &#8220;Let me try one last thing. If this doesn&#8217;t work, nothing will.&#8221; The idea I came up with was to convert each frame of the film into a low res 3D scan, like an animated &#8220;rubber sheet&#8221;. Then rerender the left view from a corrected position. Here&#8217;s a screenshot revealing the magic trick.</p>
<div style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2011/12/rubberSheet.jpg"><img class="aligncenter size-large wp-image-1209" title="rubberSheet" src="http://olegalexander.com/wp-content/uploads/2011/12/rubberSheet-950x625.jpg" alt="" width="950" height="625" /></a></div>
<p style="text-align: justify;">I won&#8217;t go into the highly technical implementation details. Needless to say, it took me months to write the custom computer vision software required for this to work. Luckily, it <em>did</em> work and the film is still going forward in 3D! And by the way, lesson learned. Next time I&#8217;ll get it right in camera!</p>
<h3 style="text-align: justify;">Alpha Cleanup</h3>
<p style="text-align: justify;">Whereas fixing the vertical parallax was a creative challenge, cleaning up the alpha channels was a monotonous, never-ending hell. The task was commonplace: isolate the subject from the background using a combination of chroma key, paint, and rotoscoping. Here&#8217;s an example shot.</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2011/12/alphaCleanupExample.jpg"><img class="aligncenter size-large wp-image-1219" title="alphaCleanupExample" src="http://olegalexander.com/wp-content/uploads/2011/12/alphaCleanupExample-950x475.jpg" alt="" width="950" height="475" /></a></p>
<p style="text-align: justify;">And here is the cleaned up alpha channel. Having this alpha channel allows us to composite the kids over a new background, like a sky.</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2011/12/alphaCleanupExampleAlpha.jpg"><img class="aligncenter size-large wp-image-1220" title="alphaCleanupExampleAlpha" src="http://olegalexander.com/wp-content/uploads/2011/12/alphaCleanupExampleAlpha-950x475.jpg" alt="" width="950" height="475" /></a></p>
<p style="text-align: justify;">Most of the shots were easy because all I had to do was chroma key the blue screen. Sometimes the chroma key had a few holes in it which I filled with a paint brush. But sometimes there would be severe blue spill from the cliff onto the Neanderthal&#8217;s body. Or sometimes the Neanderthal&#8217;s fingers would go outside the blue screen. In such cases I had to resort to my new mortal enemy: rotoscoping. Here&#8217;s an example of a particularly evil roto shot. This shot alone took me weeks to complete.</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2011/12/evilroto.jpg"><img class="aligncenter size-large wp-image-1221" title="evilroto" src="http://olegalexander.com/wp-content/uploads/2011/12/evilroto-950x639.jpg" alt="" width="950" height="639" /></a></p>
<p style="text-align: justify;">The thing is, I fully anticipated having to do this kind of work even before shooting. But I highly underestimated how long roto actually takes. And I overestimated how much free help I would get from others. I ended up doing most of this work myself, with some help from two other people. So, another hard lesson learned: next time allocate money in the budget for roto! In fact, I would recommend this to any independent filmmaker: <em>Allocate money in the budget for all non-creative tasks.</em> I&#8217;m just glad it&#8217;s over.</p>
<h3 style="text-align: justify;">Next Steps</h3>
<p style="text-align: justify;">The next steps are as follows:</p>
<ul style="text-align: justify;">
<li>3D track the Neanderthal&#8217;s head geometry. This will allow us to warp Bill Oberst&#8217;s head to Neanderthal proportions. This head warping effect will be what makes or breaks this film, and it could still go either way! We&#8217;ve developed a badass custom pipeline for the head tracking and I can&#8217;t wait to use it.</li>
</ul>
<ul style="text-align: justify;">
<li>Fix the bald cap wrinkling issues. The head tracking will help with that, too.</li>
</ul>
<ul style="text-align: justify;">
<li>Model, animate, and render props, like the nest and a more menacing branch.</li>
</ul>
<ul style="text-align: justify;">
<li>Finish 3D environments. This is already progressing nicely.</li>
</ul>
<ul style="text-align: justify;">
<li>Finish sound design. Can be completed in parallel with the VFX work.</li>
</ul>
<ul style="text-align: justify;">
<li>Composite all the elements!</li>
</ul>
<div style="text-align: justify;">It&#8217;s clear that I will not finish all this work by the end of 2011, like I originally wanted to. But I can finally see the light at the end of the tunnel. It may be just a speck, but it&#8217;s there.</div>
<p style="text-align: justify;">
<p style="text-align: justify;">
]]></content:encoded>
			<wfw:commentRss>http://olegalexander.com/?feed=rss2&#038;p=1200</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Games with a Purpose</title>
		<link>http://olegalexander.com/?p=1179</link>
		<comments>http://olegalexander.com/?p=1179#comments</comments>
		<pubDate>Sun, 05 Jun 2011 02:44:45 +0000</pubDate>
		<dc:creator>olegalexander</dc:creator>
				<category><![CDATA[Game design]]></category>

		<guid isPermaLink="false">http://olegalexander.com/?p=1179</guid>
		<description><![CDATA[Don&#8217;t miss this excellent lecture about human computation by Luis Von Ahn! You can also play the games here. ESP game is my favorite &#160;]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Don&#8217;t miss this excellent lecture about <a title="human computation" href="http://en.wikipedia.org/wiki/Human-based_computation" target="_blank">human computation</a> by Luis Von Ahn! You can also play the games <a title="games with a purpose" href="http://www.gwap.com/gwap/" target="_blank">here</a>. ESP game is my favorite <img src='http://olegalexander.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><object width="960" height="745">
	<param name="movie" value="http://www.youtube.com/v/dtFroEJN1nI?fs=1&amp;hl=en_US"></param>
	<param name="allowFullScreen" value="true"></param>
	<param name="allowscriptaccess" value="always"></param>
	<embed src="http://www.youtube.com/v/dtFroEJN1nI?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="960" height="745"></embed>
</object></p>
<p>&nbsp;</p>
<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "pub-3196409932793086";
/* leaderboard 728x90, created 10/30/10 */
google_ad_slot = "3944251428";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>]]></content:encoded>
			<wfw:commentRss>http://olegalexander.com/?feed=rss2&#038;p=1179</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PRIMITIVE ADR</title>
		<link>http://olegalexander.com/?p=1167</link>
		<comments>http://olegalexander.com/?p=1167#comments</comments>
		<pubDate>Tue, 08 Mar 2011 03:59:28 +0000</pubDate>
		<dc:creator>olegalexander</dc:creator>
				<category><![CDATA[3D Filmmaking]]></category>
		<category><![CDATA[Directing]]></category>
		<category><![CDATA[Pipeline]]></category>
		<category><![CDATA[Primitive]]></category>

		<guid isPermaLink="false">http://olegalexander.com/?p=1167</guid>
		<description><![CDATA[This weekend we recorded all the ADR (automated dialog replacement) for PRIMITIVE. The recording took place in the spacious sound studio at Puget Sound, owned by supervising sound editor, Joe Milner. We recorded all 3 actors in one day: Bill Oberst Jr. in the morning and the boys, Brendon Eggertsen and Christopher Mastandrea, in the [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">This weekend we recorded all the ADR (automated dialog replacement) for PRIMITIVE. The recording took place in the spacious sound studio at <a href="http://www.facebook.com/pages/Puget-Sound-Inc/331847550428?sk=info" target="_blank">Puget Sound</a>, owned by supervising sound editor, Joe Milner. We recorded all 3 actors in one day: <a href="http://www.imdb.com/name/nm2454994/" target="_blank">Bill Oberst Jr.</a> in the morning and the boys, <a href="http://www.imdb.com/name/nm3293813/" target="_blank">Brendon Eggertsen</a> and <a href="http://www.imdb.com/name/nm2803918/" target="_blank">Christopher Mastandrea</a>, in the afternoon. The material has now been sent to my very talented sound designer, <a href="http://www.kenshowler.com/" target="_blank">Ken Showler</a>, who will edit the ADR.</p>
<p style="text-align: justify;">This was my first ADR session as a director and I learned a lot! Big thanks to everyone who made this session possible!</p>
<p style="text-align: justify;"><a href="http://olegalexander.com/wp-content/uploads/2011/03/DSCF5863.jpg"><img class="aligncenter size-large wp-image-1171" title="primitive adr 01" src="http://olegalexander.com/wp-content/uploads/2011/03/DSCF5863-950x730.jpg" alt="" width="950" height="730" /></a><a href="http://olegalexander.com/wp-content/uploads/2011/03/DSCF5874.jpg"><img class="aligncenter size-large wp-image-1172" title="primitive adr 02" src="http://olegalexander.com/wp-content/uploads/2011/03/DSCF5874-950x730.jpg" alt="" width="950" height="730" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://olegalexander.com/?feed=rss2&#038;p=1167</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PRIMITIVE Environments Progress</title>
		<link>http://olegalexander.com/?p=1156</link>
		<comments>http://olegalexander.com/?p=1156#comments</comments>
		<pubDate>Mon, 14 Feb 2011 02:15:40 +0000</pubDate>
		<dc:creator>olegalexander</dc:creator>
				<category><![CDATA[3D Filmmaking]]></category>
		<category><![CDATA[CGI]]></category>
		<category><![CDATA[Compositing]]></category>
		<category><![CDATA[Directing]]></category>
		<category><![CDATA[Pipeline]]></category>
		<category><![CDATA[Primitive]]></category>
		<category><![CDATA[VFX]]></category>

		<guid isPermaLink="false">http://olegalexander.com/?p=1156</guid>
		<description><![CDATA[Check out the latest progress from Salvador Cueto, the Environment Lead on PRIMITIVE! From what I understand, there are several 4K textures on this model of the cliff. The grass is fur, I think. Rendered in Mental Ray.]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Check out the latest progress from Salvador Cueto, the Environment Lead on PRIMITIVE! From what I understand, there are <em>several</em> 4K textures on this model of the cliff. The grass is fur, I think. Rendered in Mental Ray.</p>
<p style="text-align: center;"><a href="http://olegalexander.com/wp-content/uploads/2011/02/CLIFF_2K_GRASS2.jpg"><img class="aligncenter size-large wp-image-1157" title="primitive cliff " src="http://olegalexander.com/wp-content/uploads/2011/02/CLIFF_2K_GRASS2-950x950.jpg" alt="" width="950" height="950" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://olegalexander.com/?feed=rss2&#038;p=1156</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>HOME Documentary</title>
		<link>http://olegalexander.com/?p=1151</link>
		<comments>http://olegalexander.com/?p=1151#comments</comments>
		<pubDate>Thu, 13 Jan 2011 02:16:59 +0000</pubDate>
		<dc:creator>olegalexander</dc:creator>
				<category><![CDATA[Peak Oil]]></category>
		<category><![CDATA[Sustainability]]></category>
		<category><![CDATA[System Dynamics]]></category>
		<category><![CDATA[Systems Thinking]]></category>

		<guid isPermaLink="false">http://olegalexander.com/?p=1151</guid>
		<description><![CDATA[http://www.youtube.com/watch?v=jqxENMKaeCU Please pass it on&#8230;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.youtube.com/watch?v=jqxENMKaeCU">http://www.youtube.com/watch?v=jqxENMKaeCU</a></p>
<p>Please pass it on&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://olegalexander.com/?feed=rss2&#038;p=1151</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>History of Easter Island</title>
		<link>http://olegalexander.com/?p=1144</link>
		<comments>http://olegalexander.com/?p=1144#comments</comments>
		<pubDate>Sun, 09 Jan 2011 05:19:42 +0000</pubDate>
		<dc:creator>olegalexander</dc:creator>
				<category><![CDATA[Peak Oil]]></category>
		<category><![CDATA[System Dynamics]]></category>
		<category><![CDATA[Systems Thinking]]></category>

		<guid isPermaLink="false">http://olegalexander.com/?p=1144</guid>
		<description><![CDATA[Here&#8217;s a sobering System Dynamics lesson from history. Read it and weep. http://www.hartford-hwp.com/archives/24/042.html And here is a related TED talk on why societies collapse by Jared Diamond: Related: Earth 2100. A possible near future featuring interviews with some very credible people. This show has high production value and is not what you might expect from [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a sobering System Dynamics lesson from history. Read it and weep.</p>
<p><a href="http://www.hartford-hwp.com/archives/24/042.html" target="_blank">http://www.hartford-hwp.com/archives/24/042.html</a></p>
<p>And here is a related TED talk on why societies collapse by Jared Diamond:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="446" height="326" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="wmode" value="transparent" /><param name="bgColor" value="#ffffff" /><param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/JaredDiamond_2003-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/JaredDiamond-2003.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=365&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=jared_diamond_on_why_societies_collapse;year=2003;theme=unconventional_explanations;theme=technology_history_and_destiny;theme=bold_predictions_stern_warnings;theme=a_greener_future;event=TED2003;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /><param name="src" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" /><param name="bgcolor" value="#ffffff" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="446" height="326" src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" flashvars="vu=http://video.ted.com/talks/dynamic/JaredDiamond_2003-medium.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/JaredDiamond-2003.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=365&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=jared_diamond_on_why_societies_collapse;year=2003;theme=unconventional_explanations;theme=technology_history_and_destiny;theme=bold_predictions_stern_warnings;theme=a_greener_future;event=TED2003;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" bgcolor="#ffffff" wmode="transparent" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Related:<em> Earth 2100.</em> A possible near future featuring interviews with some very credible people. This show has high production value and is not what you might expect from a typical doomsday scenario show. It even offers a glimmer of hope at the end. Watch all 9 parts:</p>
<p><a href="http://www.youtube.com/watch?v=bISCbOUozMk">http://www.youtube.com/watch?v=bISCbOUozMk</a></p>
]]></content:encoded>
			<wfw:commentRss>http://olegalexander.com/?feed=rss2&#038;p=1144</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PRIMITIVE 3D Monitor Setup</title>
		<link>http://olegalexander.com/?p=1123</link>
		<comments>http://olegalexander.com/?p=1123#comments</comments>
		<pubDate>Mon, 03 Jan 2011 03:16:19 +0000</pubDate>
		<dc:creator>olegalexander</dc:creator>
				<category><![CDATA[3D Filmmaking]]></category>
		<category><![CDATA[3D photography]]></category>
		<category><![CDATA[Compositing]]></category>
		<category><![CDATA[Directing]]></category>
		<category><![CDATA[Pipeline]]></category>
		<category><![CDATA[Stereoscopy]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[VFX]]></category>

		<guid isPermaLink="false">http://olegalexander.com/?p=1123</guid>
		<description><![CDATA[PRIMITIVE is a stereoscopic film. But up until now I haven&#8217;t been able to view any of my work in 3D. Sure, there&#8217;s anaglyph (red/cyan), but that&#8217;s bullshit. The mirror method is much better, but a bit awkward. So, after much research, I finally invested in my 3D monitor setup. NVidia 3D Vision Kit. One [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">PRIMITIVE is a stereoscopic film. But up until now I haven&#8217;t been able to view any of my work in 3D. Sure, there&#8217;s anaglyph (red/cyan), but that&#8217;s bullshit. The mirror method is much better, but a bit awkward. So, after much research, I finally invested in my 3D monitor setup.</p>
<ol>
<li><a href="http://www.nvidia.com/object/product_geforce_3D_VisionKit_us.html" target="_blank">NVidia 3D Vision Kit</a>. One pair of active shutter glasses and infrared emitter. $200.</li>
<li><a href="http://reviews.cnet.com/lcd-monitors/samsung-syncmaster-2233rz/4505-3174_7-33499496.html" target="_blank">Samsung SyncMaster 2233RZ 120Hz LCD monitor</a>. $200 on Ebay.</li>
<li><a href="http://www.3dtv.at/Index_en.aspx" target="_blank">Stereoscopic Player</a> software. Free trial allows up to 5 minutes of playback at a time, which is long enough to check shots.</li>
</ol>
<p>To check a shot in 3D, all you have to do is render out a jpg sequence in the over/under format, with the left view on top and the right view on the bottom. (The shot has already been converged, usually on the subject&#8217;s eyes.) Like this:</p>
<p><a rel="attachment wp-att-1125" href="http://olegalexander.com/?attachment_id=1125"><img class="aligncenter size-large wp-image-1125" title="topBottom2048.0001" src="http://olegalexander.com/wp-content/uploads/2011/01/topBottom2048.0001-950x950.jpg" alt="" width="950" height="950" /></a></p>
<p>Then convert the jpg sequence into an avi using ffmpeg. Like this:</p>
<pre>
ffmpeg -i F:\SUNSET_0100_N\topBottom2048.%04d.jpg -y -qscale 1 -r 24 F:\SUNSET_0100_N\topBottom2048.avi
</pre>
<p>Finally, open the avi in the Stereoscopic Player, set the viewing method to NVIDIA 3D Vision, and go to full screen mode. Put on your 3D glasses and enjoy!</p>
<p>There are a couple of other nice things about this setup:</p>
<ul>
<li>I can play any PC game in 3D! Nothing beats climbing the rooftops of Jerusalem in Assassin&#8217;s Creed in 3D.</li>
<li>The Stereoscopic Player supports the Fujifilm FinePix W1 MPO format, which means I can view all the pictures I&#8217;ve taken with the W1 in 3D.</li>
</ul>
<p>So, after having seen my shots in 3D, do I still think it was worth the trouble to make PRIMITIVE in 3D? Fuck yeah!</p>
]]></content:encoded>
			<wfw:commentRss>http://olegalexander.com/?feed=rss2&#038;p=1123</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

