<?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/"
		xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>BleepCast / Phil´s Blog &#187; shading</title>
	<atom:link href="http://blog.philstrahl.com/tag/shading/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.philstrahl.com</link>
	<description></description>
	<lastBuildDate>Thu, 19 Jan 2012 00:59:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<copyright>Phil Strahl © 2010; CC by-nc-sa 3.0 http://creativecommons.org/licenses/by-nc-sa/3.0/</copyright>
	<managingEditor>philstrahl@gmail.com (Phil Strahl)</managingEditor>
	<webMaster>philstrahl@gmail.com (Phil Strahl)</webMaster>
	<ttl>1440</ttl>
	<image>
		<url>http://philstrahl.com/blog/wp-content/uploads/blog-feed-image.jpg</url>
		<title>BleepCast / Phil´s Blog</title>
		<link>http://blog.philstrahl.com</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle>BleepCast - Level</itunes:subtitle>
	<itunes:summary>The BleepCast is all about chip-music, retro gaming and memories from the good old times when we all were young and begun having no life, instead indulging in shitty games with shitty music, or as we call it: Classics with epic soundtracks. So if you want me to take you back to the past, then you just discovered your favorite podcast!</itunes:summary>
	<itunes:keywords>chiptunes, 8-bit, retro, nintendo, games, c64, fun</itunes:keywords>
	<itunes:category text="Games &#38; Hobbies">
		<itunes:category text="Video Games" />
	</itunes:category>
	<itunes:category text="Music" />
	<itunes:category text="Technology">
		<itunes:category text="Podcasting" />
	</itunes:category>
	<itunes:author>Phil Strahl</itunes:author>
	<itunes:owner>
		<itunes:name>Phil Strahl</itunes:name>
		<itunes:email>philstrahl@gmail.com</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>yes</itunes:explicit>
	<itunes:image href="http://philstrahl.com/imgs/bleepcast.jpg" />
		<item>
		<title>FMX &#8217;11, Day One</title>
		<link>http://blog.philstrahl.com/2011/05/04/fmx-11-day-one/</link>
		<comments>http://blog.philstrahl.com/2011/05/04/fmx-11-day-one/#comments</comments>
		<pubDate>Tue, 03 May 2011 23:53:47 +0000</pubDate>
		<dc:creator>Phil Strahl</dc:creator>
				<category><![CDATA[CGI & Rendering]]></category>
		<category><![CDATA[Compositing]]></category>
		<category><![CDATA[Films]]></category>
		<category><![CDATA[Lectures]]></category>
		<category><![CDATA[Quotes]]></category>
		<category><![CDATA[Reports]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[3dsmax]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Andrew Beddini]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[Arnold (renderer)]]></category>
		<category><![CDATA[ASUS]]></category>
		<category><![CDATA[Beckmann distribution]]></category>
		<category><![CDATA[Ben Snow]]></category>
		<category><![CDATA[Blue Sky Studios]]></category>
		<category><![CDATA[BRDF]]></category>
		<category><![CDATA[Bunny]]></category>
		<category><![CDATA[CGI Studio (renderer)]]></category>
		<category><![CDATA[Christophe Héry]]></category>
		<category><![CDATA[Cindarella]]></category>
		<category><![CDATA[CUDA]]></category>
		<category><![CDATA[D-BRDF]]></category>
		<category><![CDATA[Disney]]></category>
		<category><![CDATA[Emmanuel Turquin]]></category>
		<category><![CDATA[Eric Veach]]></category>
		<category><![CDATA[Filmakademie Badem-Württemberg]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[fmx]]></category>
		<category><![CDATA[François Belot]]></category>
		<category><![CDATA[Green Lantern]]></category>
		<category><![CDATA[ILM]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Iron Man]]></category>
		<category><![CDATA[John Lasseter]]></category>
		<category><![CDATA[Joseph Olin]]></category>
		<category><![CDATA[lighting]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[Maya]]></category>
		<category><![CDATA[Michael Ashikhmin]]></category>
		<category><![CDATA[Michael Bay]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Mohit Kallianpur]]></category>
		<category><![CDATA[Motorola]]></category>
		<category><![CDATA[Neil Trevett]]></category>
		<category><![CDATA[Nuke]]></category>
		<category><![CDATA[nVidia]]></category>
		<category><![CDATA[Perl Harbor]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[Pinocchio]]></category>
		<category><![CDATA[Pixar]]></category>
		<category><![CDATA[Project Denver]]></category>
		<category><![CDATA[Quadro]]></category>
		<category><![CDATA[Relight]]></category>
		<category><![CDATA[rendering]]></category>
		<category><![CDATA[RenderMan]]></category>
		<category><![CDATA[Reyes]]></category>
		<category><![CDATA[Rio]]></category>
		<category><![CDATA[shading]]></category>
		<category><![CDATA[Simon Premoze]]></category>
		<category><![CDATA[smartphone]]></category>
		<category><![CDATA[Snowwhite]]></category>
		<category><![CDATA[Sony Pictures Imageworks]]></category>
		<category><![CDATA[Studiopass]]></category>
		<category><![CDATA[Stuttgart]]></category>
		<category><![CDATA[tablet]]></category>
		<category><![CDATA[Tangled]]></category>
		<category><![CDATA[Tegra]]></category>
		<category><![CDATA[Terminator: Salvation]]></category>
		<category><![CDATA[The Bakery]]></category>
		<category><![CDATA[Thomas Driemeyer]]></category>
		<category><![CDATA[Torrance-Sparrow]]></category>
		<category><![CDATA[trees]]></category>
		<category><![CDATA[TRON]]></category>
		<category><![CDATA[VFX]]></category>
		<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[x86]]></category>
		<category><![CDATA[XSI]]></category>

		<guid isPermaLink="false">http://blog.philstrahl.com/?p=2092</guid>
		<description><![CDATA[Today was more or less routine. In total I did not spend more than about fifteen days in my whole life in Stuttgart and many things feel so boringly familiar to me already: Breakfast in the common room of the hotel, packing my bag for the conference, parking in the Most Expensive Parking Garage, ...]]></description>
			<content:encoded><![CDATA[<p><img src='http://blog.philstrahl.com/wp-content/uploads/2011/05/2011-05-fmx11-thumb.png' alt='FMX 2011 Report' class="alignleft"/>Today was more or less routine. In total I did not spend more than about fifteen days in my whole life in Stuttgart and many things feel so boringly familiar to me already: Breakfast in the common room of the hotel, packing my bag for the conference, parking in the Most Expensive Parking Garage, obtaining my ticket from the front desk. Still, there are a few things that have changed over the years&#8230;</p>
<p><span id="more-2092"></span></p>
<p>The first row in many rooms is now reserved for lecturers so I had to abandon one of my favorite seating places of past years. Further the exit of the main auditorium has been moved to its side, probably because people pushing their way out and people pushing their way in made the access to popular lectures a pain &#8212; literally. Further, the FMX had matured and grown and hence offered even more parallel lectures in the opposing building.</p>
<p>Shortly before ten I had my ticket, had set off my first tweet, got my welcome bag, had my ballpen at hand and took a seat in the second row: I was ready for this year&#8217;s conference! Since I was a bit early I came to see the last of the screened animations of the Filmakademie Baden-Württemberg, a satirical take on the juicy topic of Austrofashism in the 1930&#8242;s.</p>
<h3>Going Mobile</h3>
<div class="flickr-box"><a href="http://www.flickr.com/photos/strahl/5724398912/lightbox"                            title="see it at flickr" target="_new"><br />
<img src="http://farm6.static.flickr.com/5296/5724398912_658d9f85e4_m.jpg" class="flickr-photo" alt="see it at flickr" /></a><br /><span class="flickr-caption"><br />
<a href="http://www.flickr.com/photos/strahl/5724398912/lightbox" target="_new"">Neil Trevett</a>, <br />originally uploaded by <a href="http://www.flickr.com/people/strahl/">Phil Strahl</a>.</span></div>
<p>Then they rolled this year&#8217;s <a href="http://www.fmx.de/media/trailer.html" target="_new">FMX trailer</a>, in my opinion a fresh idea after last year&#8217;s rather featureless animation. Then the first speaker of the event got introduced, Neil Trevett from nVidia, incidentally nVidia being the event&#8217;s main sponsor. I was preparing myself for having some marketing mumbo-jumbo dropped onto me but it wasn&#8217;t that bad after all in his lecture <i>Movie Making and More, All in the Palm of Your Hand</i>.</p>
<p>First he lined out how proud nVidia is of their Quadro series, CUDA and that all of this year&#8217;s Oscar nominated VFX films used nVidia technology somewhere in the course of the production. Big whoop &#8212; Adobe can claim the same thing probably.</p>
<div class="boxright"><b>CUDA</b> is the computing engine in nVidia graphics processing units (GPUs) that is accessible to software developers through variants of industry standard programming languages<br /> &#8212; <a href="http://en.wikipedia.org/wiki/CUDA" target="_new">Wikipedia</a>.</div>
<p>Then followed some more nVidia-green Power Point slides depicting how the market of the &#8220;classic&#8221;, stationary desktop computer was more or less saturated today, even the growth for notebooks and netbooks started to level out, yet the market for mobile devices such as smartphones and tablet-computers exploded exponentially, with the Android operating system already ahead of Apple&#8217;s iOS. And since nVidia wants to get a big slice of that cake as well they started development of the <a href="http://www.nvidia.com/object/tegra.html" target="_new">Tegra series</a>, high-performance graphics processors with as little power consumption as possible.</p>
<div class="boxright">The <b>ARM</b> is a 32-bit reduced instruction set computer (RISC) instruction set architecture (ISA) developed by ARM Holdings. [...] They were originally conceived as a processor for desktop personal computers by Acorn Computers. [...] The relative simplicity of ARM processors made them suitable for low power applications.<br /> &#8212; <a href="http://en.wikipedia.org/wiki/ARM_architecture" target="_new">Wikipedia</a></div>
<p>But that&#8217;s not enough: The old x86 chip architecture is also in decline since tablets and smartphones don&#8217;t come with a constant connection to a power grid, so the old ARM architecture will become a big thing of the near future. For nVidia this is <a href="http://www.engadget.com/2011/01/05/nvidia-announces-project-denver-arm-cpu-for-the-desktop/" target="_new">Project Denver</a>, ARM with integrated GPUs, while Microsoft&#8217;s Windows 8 will also support this kind of hardware. nVidia also works together with Adobe to make the execution of Flash and AIR applications more economic on mobile devices. &#8220;Apart from playing back video, the main task of Flash seems to be blending and filtering. And we let the GPU do this.&#8221;</p>
<p>nVidia seems to be pretty tight with Motorola as well, because their cutting-edge processors chips are and will be inside cutting-edge Motorola hardware as a chart showed. And I realized that I will carry a laptop with me for a couple of years longer, because what I want and need to do on the go can&#8217;t be feasibly done on a tablet anytime soon. But for the average person who wants to listen to music, surf the web, read eBooks and write emails a tablet with a full-sized keyboard/dockingstation/battery-combo (like the <a href="http://www.asus.com/Eee/Eee_Pad/Eee_Pad_Transformer_TF101/" target="_new">ASUS Transformer</a>) might be just what they need. USB-input-device support anyone? Ice Cream Sandwich?</p>
<div class="boxright"><b>Autostereoscopy</b> is any method of displaying stereoscopic images [...] without the use of special headgear or glasses on the part of the viewer.<br /> &#8212; <a href="http://en.wikipedia.org/wiki/Autostereoscopy" target="_new">Wikipedia</a></div>
<p>In the very near future mobile devices will have quad-core processors hence multitasking should become as common as necessary, further the portable devices will provide autostereoscopic displays, such as the Nintendo 3DS. Last but not least the resolution with increase drastically to an estimated 2560 by 1600 pixels (nVidia boasts it &#8220;Extreme HD&#8221;) which effectively results in a resolution of 300 dpi on a 10-inch tablet &#8212; print quality.</p>
<p>But what about power consumption? &#8220;As paradox as it may sound but more cores save you more power: The excessive cores only turn on when an application needs them&#8221; Neil explained.</p>
<p>Gee thanks, Neil, that&#8217;s pretty interesting, consumer-wise, but what about <i>our</i> industry? &#8220;Tablets in the movie industry can be and currently are used in three different ways,&#8221; he continued. One possibility is to port software to mobile devices. I snorted mentally: Anybody who tried the incredibly limited version of Photoshop for Android knows that a smartphone is still way too underpowered to get real work done. &#8220;By 2014 mobile devices will have 100 times the performance of today.&#8221; So will CUDA also work on phones? &#8220;No, CUDA&#8217;s power consumption is one of the biggest stepping stones in that respect&#8221; Neil shrugged. But that didn&#8217;t matter to me, because &#8220;the next generation of tablets and smartphones will be aimed at the demands of artists and the creative, like by additionally offering stylus operability and pressure sensitivity. The first devices will probably be released this year.&#8221; I dumbly smiled at the poor person sitting to my right. I am <i>so</i> buying into this!</p>
<p>The next useful integration of tablets was wireless tethering with desktop applications, because &#8220;this &#8216;new&#8217; way of interaction with a user interface that is so much more intuitive than having to nudge a mouse pointer across the screen.&#8221; Adobe released for developers the <i><a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/201104/041111AdobeCS5.5PhotoshopTouchSDK.html" target="_new">Adobe Photoshop Touch SKD</a></i> which opens developers the door to think of clever ways to integrate a tethered device. For example, it could serve as a color palette where swiping blends colors together. The resulting colors then can be returned to the host application. EDIT: Adobe recently me an announcement via eMail to update Photoshop and get complement software from the AppStore. Pity I roll with Android.</p>
<p>The third possibility is using tablets as cloud-clients. nVidia has already a Flash-based technology for combining collaboration with Tegra-powered tablets called &#8220;Studiopass&#8221;: It lets you upload, stream, annotate and comment in real time on video files with others. It is also possible to use the tablet as intuitive virtual viewfinder that&#8217;s connected to a render farm that returns within a few seconds the rendered image to the device. And, surprise, <i>Studiopass</i> is built on Flash.</p>
<p>Just when Neil got glowing eyes and popped up a slide in purest nVidia&#8217;s corporat0- design reading <i>&#8220;Super&#8221; Computing</i>, the time was up. Close call!</p>
<h3>Baking Light</h3>
<div class="flickr-box"><a href="http://www.flickr.com/photos/strahl/5724408104/lightbox"                            title="see it at flickr" target="_new"><br />
<img src="http://farm6.static.flickr.com/5051/5724408104_f359183d3c_m.jpg" class="flickr-photo" alt="see it at flickr" /></a><br /><span class="flickr-caption"><br />
<a href="http://www.flickr.com/photos/strahl/5724408104/lightbox" target="_new"">François takes a pic</a>, <br />originally uploaded by <a href="http://www.flickr.com/people/strahl/">Phil Strahl</a>.</span></div>
<p>I was too lazy to cross the street for <i>Approaching a CG Production</i> so I stayed in the König-Karl-Halle for <i>Bakery Relight</i> by Thomas Driemeyer, Emmanuel Turquin and François Belot from <i>The Bakery</i> who talked about their company and their software, <i>Relight</i>. I was a bit distracted by the amount of people swiping away on their iPhones, Joseph Olin among them, while François outlined the history of the company in southern France. I only got to hear the last few words, &#8220;Sand, Beaches and Girls!&#8221;, although what I understood as &#8220;Beaches&#8221; could have been some other word. Or maybe it just was the thick French accent and the tendency to pronounce some words French, or switch to French vocabularies entirely.</p>
<p><object width="520" height="320"><param name="movie" value="http://www.youtube.com/v/FOjZdNMj54I?hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/FOjZdNMj54I?hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="520" height="320"></embed></object></p>
<p><i>Relight</i> is essentially a tool for lighting and shading shots and to develop looks, realistic as well as artistic. &#8220;This tool was designed by artists and not by engineers&#8221; they noted and indeed: As Emmanuel showed a quick overview of the interface it seemed quite straightforward, a bit like <i>Katana</i>. &#8220;You don&#8217;t need to make a break every time you want to render a change on your way to the final shot, you always <emph>work</emph> with the final and that really fast.&#8221; Even little comfort features are implemented, like solo-ing certain light sources.</p>
<div class="boxright"><b>Reyes</b> is an acronym for <i>Renders Everything You Ever Saw</i> [and is] a computer software architecture used in 3D computer graphics to render photo-realistic images* yet does not employ raytracing algorithms.<br /> &#8212; <a href="http://en.wikipedia.org/wiki/Reyes_rendering" target="_new">Wikipedia</a></div>
<p> It plugs directly into Maya, 3dsmax and XSI, it comes with its own hair and fur system that is created at render-time by its production renderer that produces really good and clean images. The renderer itself is a Reyes-like rendering algorithm, iterative and optimized for fast feedback in production quality. But this need for heavy-duty-caching takes its toll on memory consumption I guess.</p>
<p>Once the scene&#8217;s visible geometry is cached by renderer (many millions of polygons take a couple of minutes) <i>Relight</i> unfolds its performance. Lighting and rendering a forest-scene with hundreds of trees and atmospherics only took a minute on an average notebook computer &#8212; impressive. And once the geometry and the first lighting pass is cached, the renderer gets even faster with every change. It keeps track of what has been touched or adjusted and only updates the dependencies, what had been affected by the change; and nothing more. &#8220;Depending on how many processors you use, the suite scales pretty well accordingly.&#8221; Even motion-blur and DOF (depth of field) are fast.</p>
<p><object width="520" height="320"><param name="movie" value="http://www.youtube.com/v/7XYeXRjnfPU?hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/7XYeXRjnfPU?hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="520" height="320"></embed></object></p>
<p>Another big thing of <i>Relight</i> are point clouds for quickly carrying out calculations that would bring a raytracer too its knees, memory wise. Point clouds (or disk-clouds to be more precise) are independent from the underlying geometry and make it possible, for example, to render ambient occlusion in fur stunningly fast. But ambient occlusion is only one application. Point clouds can be used for glossy reflections, environment light (from HDRIs, for example), area-lights or sub-surface-scattering.</p>
<p>Towards the end, François added that since <i>Relight</i> provides feedback so fast, it is a great tool for budding lighting artists and there are many collaborations with schools. Then he closed with a sentence in thick French accent that sounded to me like &#8220;Thank you very much for your invention!&#8221;. You&#8217;re welcome!</p>
<h3>Arnold, the Tracer</h3>
<p>Whereas <i>The Bakery</i>&#8216;s <i>Relight</i> tries as much as Pixar&#8217;s RenderMan to cheat around raytracing, Sony Pictures Imageworks has a completely opposite approach with their proprietary renderer <i>Arnold</i>. The lecture by Marcos Fajandro and Larry Gritz <i>Path Tracing and Unbiased Rendering</i> started off by comparing rasterizer/Reyes renderers and ray-tracing.</p>
<p>Of course, Reyes depends on shadow maps and offers no ray-tracing but can be insanely fast, whereas a pure ray-tracer craps out completely with too complex geometry (see <a href="Marcos Fajandro and Larry Gritz#pirates" target="_new">the issues with Davy Jones</a> as discussed on the FMX/08) and/or/like hair.</p>
<p>So what do you do? Integrate some limited raytracing into a Reyes renderer or hack rasterizing &#038; (deep)shadow functionality into a raytracer? Both options aren&#8217;t exactly irresistible. So the folks at the Spanish company <i><a href="http://www.solidangle.com/coming_soon.html" target="_new">Solid Angle</a></i>, I haven&#8217;t heard of ever before, developed <i>Arnold</i>.</p>
<p>The first feature film rendered with <i>Arnold</i> was the, in my opinion terrible, <i>Monster House</i> and now since a couple of years it has become Sony Pictures Imagework&#8217;s only renderer.</p>
<div class="boxright" target="_new"><b>Monte Carlo methods</b> [...] are a class of computational algorithms that rely on repeated random sampling to compute their results [and] are especially useful for simulating systems with many coupled degrees of freedom, such as fluids.<br /> &#8212; <a href="http://en.wikipedia.org/wiki/Monte_Carlo_method" target="_new">Wikipedia</a></div>
<p><i>Arnold</i> is based physically on the Monte-Carlo methods, it uses no storage for lighting and global illumination information, has only one quality knob to tweak on (namely the sampling) and outputs the final in a single pass. Yes, <i>Arnold</i> is a ray-tracer par excellence and traces millions of rays. &#8220;And when you trace so many rays you need to make the rays really fast&#8221;. Further, <i>Arnold</i> sports networked, programmable shaders, subdivision surfaces and yet can handle &#8220;hundreds of millions of triangles and hair splines&#8221; and virtually &#8220;hundreds of gigabytes of texture-maps&#8221;. Impressive!</p>
<p>Since everything (<i>everything!</i>) is ray-traced, the final image is optically seamless. There&#8217;s no need for say, a shadow pass or motion vectors. My worst fear of such a renderer is that it probably takes ages just to get a feedback of lighting changes, but that is not the case: An example video showed a car in Maya in the viewport whose camera was turned around it. As soon as the operator let it go, <i>Arnold</i> kicked it and its interactive mode rendered the selected region in big blocks, then smaller blocks and even smaller blocks until you could make out the raytraced details of car paint and reflections. This refinement process took not more that two seconds.</p>
<p>&#8220;In the end what matters is not how long you wait for your beauty-rendering but how long you wait for feedback of each iteration in the (re-)lighting of a shot. Since an artists costs you approximately $ 40 an hour, this way of saving time saves you a big amount of money and the artist downtime between iterations&#8221; Marcos explained. I heard several mental kaching-sounds in the audience.</p>
<p>Making raytraced motion-blur efficient is also important for the final rendering. A fully lit and shaded scene with production-quality deformation motion-blur rendered only 15% longer than without. <i>Arnold</i> even is proficient when it comes to volume renderings.</p>
<p>&#8220;The joy of <i>Arnold</i> is, that everything just clicks together seamlessly when you raytrace everything in your image. If you use different renderes for different tasks, even simple things like shadows can be a problem, like shadows in volumes. With <i>Arnold</i> there&#8217;s no catch &#8212; you get the whole package in one go with ambient occlusion, motion blur, soft shadows on motion blur, caustics, etc. &#8221; Marcos summed up.</p>
<p>And just as joyful is instancing of geometry that gets loaded into the memory once for whatever number of instances. One shot of <i>Alice in Wonderland</i> had 61 million triangles and could be rendered in a single thread&#8217;s 15 hrs which boils down to an hour or less in a farm.</p>
<p>&#8220;Still there is lots of room for future improvements&#8221; Marcos concluded before Larry took over. Larry talked in more detail about Sony&#8217;s way of VFX and relighting using the upcoming <i>Smurfs</i> movie as an example.</p>
<p>For every shot with CG-integration, they shot a HDRI of the set with an incredibly expensive <a href="http://www.spheron.com/en/intruvision/solutions/spherocam-hdr.html" target="_new">Spheron</a> camera. In fact, not just one panorama, but two in different heights so with the set survey data it is possible to calculate and to recreate the scene geometry via triangulation roughly in CG. Then, for quality reasons, the light sources and instruments in the panorama get replaced by <i>Arnold</i> lights and erased from the HDRI panorama via Katana. The actual plate from the camera is projected onto the low-poly scene geometry, then the HDRI panoramas get also projected into the scene. &#8220;It&#8217;s kinda the same what was done for <i>Benjamin Button</i>&#8221; Larry added. Now the CG-characters are imported into the scene and get their lighting and bounces from the surfaces that the plate and panorama was projected onto.</p>
<p>As mentioned above, <i>Arnold</i> has an open shading language. &#8220;Traditionally,  shaders are black boxes to the renderer that just return some values to it; their units are sloppy oftentimes and their underlying C/C++ code can also crash the renderer altogether. With an open shading language, we don&#8217;t have these issues.&#8221; Instead of returning color values to the renderer, the Arnold shaders compute so called &#8220;closures&#8221;, descriptions of how the surface will react to light, and pass these numbers on to the renderer, which can decide what to do with them. &#8220;This is also 20% faster!&#8221; Larry added happily.</p>
<p>What working with these &#8220;closures&#8221; exactly meant and what it had to do with ray-budgeting and Multi-Importance-Sampling (MIS) for the Monte-Carlo raytracing I did not fully grasp but Larry had some links (and his email address) on the subject, in case anyone was interested. I reproduce them here for the same purpose:</p>
<ul>
<li><a href="http://bit.ly/s10shaders" target="_new">http://bit.ly/s10shaders</a></li>
<li><a href="http://opensource.imageworks.com" target="_new">http://opensource.imageworks.com</a></li>
<li>lg AT imageworks.com</li>
</ul>
<p>Some features of <i>Arnold</i> like sub-surface-scattering are performed with point clouds on-the-fly, although the renderer still employs Monte-Carlo methods when point clouds won&#8217;t suffice. Since <i>Arnold</i> is proprietary, Imageworks developed a plug-in for XSI themselves and a very basic one for Maya.</p>
<p>But why did Sony Pictures Imageworks settle for just <i>Arnold</i> a few years back? &#8220;The pass management grew so complex and bloated, it was hacks upon hacks, that overwhelmed the mental capacity of the TDs. Now it&#8217;s back to just having a single pass. Lighting got so much faster and in the end. Lighting and rendering a single pass still is faster than rendering lots of different passes and trying to get them working together.&#8221; Larry explained, and Marcos added: &#8220;When you reduce time somewhere in the process, however, somewhere somebody uses the new freedom to add more complexity.&#8221;</p>
<p>Currently <i>Arnold</i> uses only the CPU despite the trend of making everything CUDA- and hence GPU-compatible. &#8220;Porting would be complex and time consuming and in the end wouldn&#8217;t speed up things significantly, so we spend the efforts to optimize the CPU code instead. Further, the terabytes of textures would need to be streamed to the GPUs as well&#8230;&#8221; Larry summed up the bottleneck situation.</p>
<p>&#8220;We still have a couple of minutes left so I&#8217;m gonna show you the <i>Green Lantern</i> trailer. Everything was rendered with <i>Arnold</i>.&#8221;</p>
<p>Fun fact: The plate at the end of the trailer with the title and release date also had a rather small line reading &#8220;Also playing in 2D theaters.&#8221; Like it or not: Stereo has finally arrived and it is here to stay. Deal with it!</p>
<p>And <a href="http://www.cs.caltech.edu/~keenan/mc419.pdf" target="_new">here&#8217;s</a> a LaTeX-set presentation on Importance Sampling for Monte Carlo Ray Tracing from 2006 with lots of pretty pictures (and some equations).</p>
<h3>Coffee!</h3>
<div class="flickr-box"><a href="http://www.flickr.com/photos/strahl/5723858419/lightbox"                            title="see it at flickr" target="_new"><br />
<img src="http://farm3.static.flickr.com/2650/5723858419_2b63bef0cc_m.jpg" class="flickr-photo" alt="see it at flickr" /></a><br /><span class="flickr-caption"><br />
<a href="http://www.flickr.com/photos/strahl/5723858419/lightbox" target="_new"">Haus der Wirtschaft</a>, <br />originally uploaded by <a href="http://www.flickr.com/people/strahl/">Phil Strahl</a>.</span></div>
<p>The few hours I was asleep took their toll and I was wasted for the break. I schlepped my bag and camera to a long queue in front of Starbucks where I got me a motivational Caramel Macchiato so I had the energy to look for food. I found an Asian noodles stand in a subway station and made my way back to the Haus der Wirtschaft, munching on fresh cooked vegetables. The remaining ten minutes I had an espresso in the showroom of the FMX. When I felt ready for some more lectures and headed into the König-Karl-Halle and was surprised to see all the good seats taken. So I settled for a suboptimal seat next to a German student who was constantly eating or drinking something and merrily ignoring the ban on recording devices. Funny thing though was that he thought I didn&#8217;t speak German and I was in no mood to shatter his belief. So I sat there with Ophelia, my notebook, in her bag on my lap and waited eagerly for the next lecture to take place.</p>
<h3>Render de Janeiro</h3>
<p><i>Building, Lighting &#038; Rendering &#8220;Rio&#8221;</i> by Blue Sky&#8217;s Andrew Beddini was up next. Andrew somehow reminded me of a friendly Ben Stiller character and his engaging lecture was a pleasure to listen to without once the need to close my eyes for just a couple of hours. Or maybe it was because I was so close sitting to the pumped-up loudspeakers that I feared my ears would pop as they rolled the FMX-trailer.</p>
<p>Blue Sky, founded in 1987, is a veteran of the industry, they even took part in creating CG sequences in Disney&#8217;s original <i>TRON</i>. The next milestone was the animated short <i>Bunny</i> in 1998 I remember seeing at the Ars Electronica that time. I even remember that it was the first animation to employ the nowadays obscurely named <a href="http://en.wikipedia.org/wiki/Radiosity_%283D_computer_graphics%29" target="_new">Radiosity</a>.</p>
<p>People really like to talk about their renderers I realized, as Andrew started summarizing the features of their proprietary renderer with the featureless name <i>CGI Studio</i>, or just <i>Studio</i>. On a rendering from 1993 Andy demonstrated the features their raytracer could produce back then which they still use today. Some of its features used for <i>Rio</i> were secondary rays, true radiosity, raytraced soft shadows, tesselation of beziér patches, a procedural shading pipeline and the possibility to use procedures for much more than just shaders. <i>Rio</i> is a feature of 1800 shots, and 80% of it had to be done in just 5 months so the focus was on creating a pipeline that was fast and efficient.</p>
<p>Character lighting was one of the main and foremost concerns of the production. And &#8220;good lighting needs good development.&#8221; The character of Susan with fair skin, glasses and big eyes was the first testing ground for plausible shading and lighting. First they applied the sub-surface-scattering-shader to her skin and realized, oh boy, that it looked not really convincing. So the first thing was to implement a density adjustment into it, then light transmittance through the skin, radiosity and a subtle but necessary secondary transmittance model that made the skin softer still.</p>
<p>Eyes behind glasses were another challenge because &#8220;eyes are critical for emotion. You really want to get the eyes right first. If they are off, if the audience doesn&#8217;t buy it, then all the other efforts are in vain, so get the eyes right!&#8221;. First they raytraced the eyes and the glasses but the physically realistic look did not work with the stylized character design. For example, the shadowing of the glasses under the rim was just too dark with the realistic refractive index of 1.5, only 1.1 was just about right. Can you do this? Should you do this? Andrew made it heard: &#8220;Break reality to make it work for you!&#8221; What was behind the glasses was rendered separately with a plate of the background to yield realistic refractions of it, as for the reflections, the reverse angle shot was used ever so subtly. But still the eyes didn&#8217;t look alive, so Blue Sky went the whole nine yards and rendered for the eyes a UV pass, a reflection pass, an object pass so the highlight could be adjusted in Nuke accordingly. This finally gave the eyes that certain something that was missing and was tweakable in every shot.</p>
<p>The set creation of the favelas was a difficult task as well. After the first color studies the assets were created with low complexity in a modular fashion and could be combined to a very organic whole according to a plan of the set&#8217;s final layout. &#8220;If you want to sell a set to your director render it in gray with just the ambient occlusion and he&#8217;ll love it!&#8221; Andrew joked. &#8220;There were absolutely no texture maps involved, everything was done procedurally with using the world space coordinates. Also we don&#8217;t need a level-of-detail (LOD) system.&#8221;</p>
<p>With just one building block, the lighting department instanced the geometry for lighting and mood tests of what the location might look in broad daylight, in the afternoon, at night and with atmospheric effects.</p>
<p>Raytracing and motion-blur &#8212; another dreaded combination of mine. But to tackle that problem Blue Sky employed a lot of tricks that made their lives easier. One of those was modulating the render-resolution accordingly via script: &#8220;At some point you can&#8217;t tell whether a 2k image was blurred or a 1k image was blurred, so if the renderer dials down the resolution you effectively are four times faster.&#8221; Another trick was using Nuke&#8217;s excellent vector blur: The camera and a Z-Depth channel from Maya got imported into Nuke and was blurred there in post.</p>
<p>A slide depicting the favela at night appeard on the screen. &#8220;In this particular scene we had about ten thousand light sources&#8221; Andy spoke and paused for emphasis. Ten thousand light sources with raytraced shadows?! &#8220;The thing is,&#8221; he continued &#8220;we use the same pool for all shadows, they get calculated at the same time. So if we&#8217;re having one light source or ten thousand only adds 10 to 15 % to the overall render time.&#8221;</p>
<p>Since the protagonists in <i>Rio</i> are birds, the sky is an important part of the film as well. &#8220;About 30% of the picture is sky!&#8221;. So how do you get a beautiful art-directed sky? The traditional answer is to have talented matte-painters. &#8220;The problem is, that we had four to five matte painters but hundreds of skies to paint. So this wasn&#8217;t feasible. Further the feature is in stereo, so&#8230;&#8221; he switched to the next slide depicting various clouds on a black background &#8220;&#8230;we had our art director paint a style guide for clouds we then built in 3D with volumes. We rendered each cloud with surface normals from 38 different camera tilts so you had almost any angle. Then we imported those onto planes in Nuke and populated the sky in the 3d-space there with the clouds.&#8221; The normals made it possible to vertex-light the cloud planes in Nuke. &#8220;This is really fast and you can churn out skies quickly. We did this for an entire sequence at once, not only for a single shot.&#8221;<br />
But sometimes you need hero clouds, especially when they needed to have a volume and depth or some advanced lighting effects, like transmission on the edges of a key light. These clouds got individually modeled and rendered. The atmosphere-gradient with the sun was also done as a dome in Nuke and when you throw everything together &#8212; voilá &#8212; there&#8217;s your final sky! This sky then got rendered in Nuke and was used on a plane in Maya for the reflections on the water.</p>
<p>Generating a vista of Rio de Janeiro, especially a stylized version that still looks as photoreal as possible was the next challenge on <i>Rio</i>. The foundation for the environment was survey data of the topography that got artistically adjusted with some liberties. Still, it was built to scale so the renderer would deliver correct results of atmospheric effects, for example.</p>
<p>The vegetation was, like almost everything in <i>Rio</i>, procedural with implicit surfaces. But here the procedural approach posed some difficulties: it is hard getting a procedure to a single point. As for the shading, two world space procedural textures were created, one for the granite and one for the plants. A simple rule that depends on the steepness of the topology then blended between the two, so vertical walls would have no vegetation and soft slopes would be fully covered in trees. Finally, the city&#8217;s buildings were roughly modeled, but also were designed for procedurally driven variety: They could have differently spaced windows, doors, floor-segmentation, surfaces and rooftop structures.</p>
<p>What surprised me the most was the way the lighting was defined and carried out: It was script-driven and those scripts were simple text-files the production edited with <a href="http://www.nedit.org" target="_new">NEdit</a> in Perl and Python. &#8220;This is great because the files are small and portable, you can send them securely via email, and you don&#8217;t need to open Maya just to twist a light a bit to one side.&#8221; Blue Sky even has an interactive front-end called &#8220;Quick Render&#8221; to render models and light situations without waiting for Maya to finally launch. And there was more: &#8220;Light sources are not defined in the world-space but in camera-space,&#8221; instead of XYZ they are described by values for rotation, elevation and distance from the camera. Again, you don&#8217;t need Maya to adjust a light; creating a consistent rim-light can be done with a few lines in a text-editor easily.</p>
<p>Finally, even the atmospherics were rendered in favor of a Z-pass. &#8220;A Z-pass always has artifacts along the edges so you need to render it really big.&#8221; And once you have time for that and to add fog &#038; haze in post, you can render physically much more plausible (and within the scene reflected) atmospherics.</p>
<h3>A Hairy Subject</h3>
<p>We only had a few minutes to let sink in what was heard before Mohit Kallianpur from Disney Animation Studios continued with his lecture of <i>Untangling &#8220;Tangled&#8221;</i> where he was the Look &#038; Lighting supervisor and described the history of the look of the movie.</p>
<p>In 2007 the movie had a much darker, browner tone to its concept art until John Lasseter intervened and pointed the production in a more colorful and saturated direction. Still, that was relatively late in the pre-production stage and there was not that much time left to get the movie done. So Mohit got down to the root of art direction and formulated three principles: Stylized shapes, illustrative colors and believable textures.</p>
<h4>Shapes</h4>
<p>Then the research begun by watching and analyzing the shapes, colors and appeal of the old Disney classics <i>Snowhite</i>, <i>Pinocchio</i> and <i>Cinderella</i>. Especially the latter had a certain shape language of flowing curves visible in almost every shot, a graceful harmony. Moreover, a set of signature shapes of that movie was collected consisting of various  bell-shapes, s-curves and leafs. Everything in the film would follow these shapes, even the canopy of the trees.</p>
<p>Based on a very impressionist and rough mood-painting that followed the shape-guide, the team produced a full CG version of it as reference. This made it obvious that the language of shapes worked well, but the painterly appeal of the surfaces was too stylized. So the world needed to have believable textures, not rely on impressionist suggestions of detail.</p>
<h4>Architecture</h4>
<p>The architecture of <i>Tangled</i> was influenced by European cities, Disneyland (!) and <i>Pinocchio</i>: Everything should be small, friendly and approachable. The buildings are not tall and they flare out in a curve, they appear even chunky and beefy with no sharp corners and a very organic and hand-built feel. And like this Mohit wanted the architecture on <i>Tangled</i> to look: old and used but not decrepit or dirty.</p>
<h4>Color</h4>
<p>But what does &#8220;illustrative color&#8221; now mean exactly? The production settled for a lush saturated palette and always a play of warm against cool: If the light is cool, then the shadows should be warm and vice versa.</p>
<h4>Legally Blonde</h4>
<p>Yet the most intricate and most critical task was to get the look of Rapunzel&#8217;s hair perfect. Much like the sky in <i>Rio</i>, the hair in <i>Tangled</i> was a character by itself. The first tests showed that the hair shaders the studio had developed so far didn&#8217;t do justice to blonde hair. At all. So research needed to be done and a hair model was found and her hair photographed in probably any appearance (even wet) and every possible lighting situation. Also commercials of hair care products served as a valuable reference &#8220;since they propagate the ideal on their packaging we wanted to recreate in the film.&#8221; Even a PhD student did extensive research on the subject and in the end a feasible shader was programmed:</p>
<p>First of all, hair comes in individual strands and strands that make up a volume of hair. Moreover, these strands have a top, a bottom and a body with an uneven surface, none of which is like the cylinder-representation of hair we all used to work with. So hair has a specular reflection, so far so good. And for black hair that&#8217;s usually all you see. Light hair also has a sub-specular portion that is a broader highlight in the color of the hair, whereas the specular highlight has the color of the light source. Then hair has a transmission value when lit from behind, and multiple scattering is important for light colored hair. Still that&#8217;s not enough because a hair rarely comes singly: There&#8217;s also a volume diffuse portion, that is backward scattering of the light and volume transmission, which scatters away from the light source through the volume.</p>
<p>Now if you add up those five components it looks good but not perfect, a certain richness is missing. This &#8220;richness&#8221; comes from the light bounced back onto the hair and ambient occlusion. Then, and only then, you are rewarded with beautiful blonde hair. But for eyebrows, fur and eyelashes you still need a different shader because the blonde shader needs a volume to work with after all.</p>
<h4>Appeal</h4>
<p>And another question: What constitutes appeal? What makes a person look appealing in a movie? How to light a character to look appealing? Mohit dug deep once again and looked through lots and lots of glamor-shots of actresses and actors of Hollywood&#8217;s golden age in search for unifying principles. And his answer is simple: &#8220;Cheat!&#8221;</p>
<p>The starlets on photos (and in movies) were always lit by a soft light, no matter what the rest of their environment looked like. Then there needed to be hue in the shadows, the dreaded &#8220;graying&#8221; of multiplying occlusion with diffuse passes makes characters look sickly. Since the eyes are the window to the soul, they needed special attention and always a specular reflection, no matter what. And as painters suggested, the cavities of mouth and nostrils should not go completely black but into a warm darkness. And unappealing colors (usually green bounces of leaves and grass) also make a character look weak and sick, so they had to cheat there as well. Finally a subtle bloom on the highlights never hurt anyone.</p>
<h4>Look</h4>
<p>On <i>Tangled</i> there were 19 look development artists that in the end produced over a thousand paintings of looks. And lighting was important to elevate the mood that was already there by narration, staging and framing. As Mohit showed some examples of lighting I could not help but remember the words of my mentor, <a href="http://www.imdb.com/name/nm0533770/bio" target="_new">Fraser Maclean</a> as Mohit uttered them as well: &#8220;Put light where you need it, not where it realistically would be.&#8221; Indeed, the progression of shots he showed were lacking any continuity of the origin of the lights. &#8220;And here&#8230; well I don&#8217;t know where the light is supposed to be coming from, there is no window there&#8221; &#8230;but still it works perfectly in each shot. It went so far, that even the murals in the tower could be toned down or changed in opacity on a shot-by-shot basis. &#8220;Light shapes add to the drama.&#8221;</p>
<p>And so does saturation. In dramatic sequences the saturation got sucked out of the pictures, only to return almost fully later on.</p>
<h4>Art-Directed Trees</h4>
<p>Once you <i>can</i> art-direct everything, you <i>have to</i> art-direct everything. The R&#038;D department provided a simple tool for Maya that allowed the modeling artist to draw a couple of curves and the plug-in would make a tree with branches out of it. Moreover, they also had a tool that would grow leaves into a pre-defined canopy-shape which was really fun to watch.<br />
And since there are so many trees in a forest, the models were also switched to &#8220;brickmaps&#8221;, a RenderMan-term for low-res voxel-representations of a model, if far enough away and automated &#8220;stochastic pruning&#8221;, which meant that depending on the distance to the camera, not visible leaves would be automatically switched with low-poly models or removed entirely.</p>
<p>&#8220;In the end we generated too many trees and had to hide them in haze or atmosphere in post&#8221; Mohit admitted. That really was new to me, having accidentally too many in the final picture of something so complex such as trees!</p>
<p><i>Tangled</i> was rendered with RenderMan (finally another Reyes renderer today, I was almost worried!), had 1380 shots and 55 lighting artists which, in sum, resulted in 9.01 million hours of a single lighting thread. &#8220;That&#8217;s more than 1028 years&#8221;. Ah, statistics. It&#8217;s like I tell you now that this blog post is already some 6000-odd words long.</p>
<h3>Physically Based Shading</h3>
<div class="flickr-box"><a href="http://www.flickr.com/photos/strahl/5723878003/lightbox" title="see it at flickr" target="_new"><img src="http://farm4.static.flickr.com/3146/5723878003_e428c544a2_m.jpg" class="flickr-photo" alt="see it at flickr" /></a><br /><span class="flickr-caption"><a href="http://www.flickr.com/photos/strahl/5723878003/lightbox" target="_new">Ben Snow</a>, <br />originally uploaded by <a href="http://www.flickr.com/people/strahl/">Phil Strahl</a>.</span></div>
<p>I used the short break to get back close to the front in row 2 and to empty my can of Starbucks &#8220;Doubleshot Espresso&#8221; to be all up an ready for Ben Snow&#8217;s and Christophe Héry&#8217;s <i>Physically Based Shading at ILM</i><sup class='footnote'><a href='#fn-2092-1' id='fnref-2092-1'>1</a></sup>.</p>
<p>Ben showed some definitions at first outlining <acronym title="Global Illumination">GI</acronym>, <acronym title="Image-Based Lighting">IBL</acronym> and <acronym title="High-Dynamic Range Imagery">HDRI</acronym>. &#8220;We&#8217;re not trying to reproduce reality,&#8221; Ben made clear, &#8220;but <emph>filmed</emph> reality&#8221; and described a little ILM&#8217;s history in their attempts to achieve this goal over the years.</p>
<div class="boxright">The <b>Cook-Torrance</b> or Torrance-Sparrow model is a general model from 1976 representing surfaces as distributions of perfectly specular microfacets.<br /> &#8212; <a href="http://en.wikipedia.org/wiki/Bidirectional_reflectance_distribution_function" target="_new">Wikipedia</a></div>
<p> The practice of trying to capture as much information from the set grew over the years in scope and professionalism as well. In the 1990&#8242;s they started filming and photographing light probes on set, 18% gray balls, to recreate the light later in the computer. But soon they realized that was not enough. Along came six photos in each direction for cube-maps and then the familiar chrome ball, a technique I never quite got to work for my own projects. Indeed, the chrome sphere&#8217;s reflections were rather low-res and you needed to paint out the photographer every time as well.<br />
So in the &#8220;early days&#8221; ILM made heavy use of texture maps with painted in highlights and shadows, for shading they employed the Cook-Torrance specular model. Their light rigs were also pretty basic but could handle real world situations already rather well. Occasionally shadows grew really dark and some ways to cheat were e.g. spot lights or churning down the overall shadow opacity<sup class='footnote'><a href='#fn-2092-2' id='fnref-2092-2'>2</a></sup>.</p>
<p>Then came <i>Perl Harbor</i> when they really needed to crank their depicted reality up a notch since ambient occlusion wasn&#8217;t enough. So they developed what they called Ambient Environment Lighting, which essentially is creating a pass for the ambient lighting via ambient occlusion: Rays are cast in a hemisphere around the surface normals, then a number of rays hitting other surfaces dictates the occlusion; and a pre-pass is done to calculate the average direction of the light. At least that&#8217;s what I copied from Ben&#8217;s slides. The film was a milestone nevertheless because Michael Bay, the director, was not able to tell the difference between CG and live-action-footage anymore.</p>
<p>What happened after <i>Perl Harbor</i> was boosting the quality consistently further. 8-bit images had served their purpose well (including in <i>Perl Harbor</i>!), but the need and time asked for floating point precision. Also, no mirrored balls would be photographed anymore in favor of photographed panoramas.</p>
<p>So a couple of years afterward came <i>Iron Man</i> and asked for the realistic depiction of, well, iron and metal that needed to match the practical suits on set. And a thing that had been troubling the folks at ILM was <a href="http://www.3drender.com/glossary/anisotropic.htm" target="_new">anisotropic highlights</a> that appear on brushed metal.</p>
<p><object width="520" height="320"><param name="movie" value="http://www.youtube.com/v/DwCvd73HCBI?hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/DwCvd73HCBI?hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="520" height="320"></embed></object></p>
<p>Further, a new approach for taking HDRI panoramas was employed and meant taking a series of photographs from a tripod in all directions, although (as it appeared to me) not in a truly high dynamic range but only covering two two <a href="http://en.wikipedia.org/wiki/Bracketing" target="_new">exposure brackets</a> &#8212; too little from my experience but still it worked for them.</p>
<h4>New Frontiers</h4>
<p>And just as they thought they had mastered metal, along came <i>Terminator: Salvation</i> where it was impossible to cheat any longer and they had to move to a new paradigm for lighting and shading in RenderMan. ILM&#8217;s goal was to get a simpler, more intuitive and physically based system of lighting and rendering:</p>
<div class="boxright"><b>BRDF</b>, the bidirectional reflectance distribution function is a four-dimensional function that defines how light is reflected at an opaque surface (<a href="http://en.wikipedia.org/wiki/Bidirectional_reflectance_distribution_function" target="_new">Wikipedia</a>). In principle it&#8217;s any shader.
</div>
<p> The quality of shading and lighting requred a BRDF-model that not only looked right but also acted physically correct in terms of energy conservation. In short this means, that the rougher a material is, the weaker is highlight gets, otherwise the energy (= light) reflected would be bigger than the light received &#8212; impossible<sup class='footnote'><a href='#fn-2092-3' id='fnref-2092-3'>3</a></sup>.</p>
<p>That also meant a normalized specular highlights with a more physically plausible specular falloff, so the further away a light source is, the weaker the specular highlight gets, depending on the roughness or the &#8220;Normalized Importance Falloff&#8221;: The intensity of the highlight falls off on rougher surfaces. For tight specular highlights like chrome or mirrors the light source has to get a long way away before dimming. The broader the speculars are, the more quickly they will dim. For this to work the light needs to have a physical size in the system, so no more point-lights or directional lights at ILM</p>
<p>&#8220;This was hard for everyone to adjust to and Christophe and I remember some very passionately fought holy wars&#8221; Ben remembered.</p>
<p>On the set of <i>Terminator: Salvation</i> the chrome spheres were back, but differently. Now they were moved and shot in motion so their reflection could be used on moving models. &#8220;We still don&#8217;t have a great way of capturing HDR moving images,&#8221; Ben continued in front of a turntable of a T-800 in front of a steelworks plate, &#8220;instead we shoot HDRIs with stable lighting and we also shoot our chrome spheres so we still get our FX, strobes, sparks, etc. And on top of that we applied some pyro elements shot on film and used them as reflections or area-lights in the scene.&#8221;</p>
<p><object width="520" height="320"><param name="movie" value="http://www.youtube.com/v/w9VM_n6eOsk?hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/w9VM_n6eOsk?hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="520" height="320"></embed></object></p>
<h4>Iron Man 2</h4>
<p>&#8220;We now had our tools that worked, they weren&#8217;t really mature but technically they were robust&#8221; Ben noted. For image based lighting ILM then used a graphical tool, the Environments Browser, to quickly define light sources within the image so they could be recreated with area lights. The match-move of a shot creates the environment and the HDRI panoramas get projected onto the geometry and you basically end up with a HDRI-mapped recreation of the set environment in 3d. That enabled the artists to render dynamic HDRIs from any position in the set to be used in image based lighting of the digital characters.</p>
<p><object width="520" height="320"><param name="movie" value="http://www.youtube.com/v/S-U3jWptK4A?hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/S-U3jWptK4A?hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="520" height="320"></embed></object></p>
<h4>IBL via HDRI</h4>
<p>But Image Based Lighting also poses some risks or at least things to watch out for. An important thing to be aware of is that IBL-lights are treated as infinitely away point-lights from the scene. A fact, that comes distractingly into play when CG-lights with a discrete position within the scene are meant to work alongside an IBL dome. Then it really takes an experienced photographer and visual effects team to produce good and usable HDRIs from the set which is essential for this approach. Last but not least the pipeline should support the the floating-point nature of HDRIs or else one might run the risk of losing dynamic range along the process when editing HDRIs.</p>
<p>On set ILM still photographs chrome and grey spheres but only as references. This only works properly if the film crew is in the habit as well and does not treat those shots lightly or worse, forgets about them. Since the VFX team later needs to match the lighting of the shot everybody liked on set, those references should be shot immediately after the director yelled &#8220;cut!&#8221;. &#8220;You wanna make sure that your spheres are as big as possible in the frame and you wanna make sure they are in the right spot. And you don&#8217;t wanna shadow or be reflected in the sphere&#8221; Ben reminded. Sometimes when the spheres are moved like an object though the scene, it is advisable to take some static sphere footage as well.</p>
<p>&#8220;On the set as soon as they say We&#8217;ve got it! then off you go and get the references.&#8221; These references, of course, should only be shot for shots that will have CG portions but if there is ever any doubt that a certain shot definitely will not require CG, one should still capture the references to be on the safe side.</p>
<p>&#8220;And be serious about it. If you don&#8217;t take this seriously nobody else on the crew will&#8221; Ben shared his experience with the audience and switched to his last presentation slide, titled &#8220;How we capture HDRIs&#8221; which I shall reproduce here:</p>
<ul>
<li>Canon 1Ds Mk3 with Sigma 8mm fisheye lens</li>
<li><a href="http://www.nodalninja.com/" target="_new">Nodal Ninja</a> &#038; Tripod</li>
<li>Remote shutter trigger</li>
<li>0.6 ND (2-stop) filter (depending on how bright it is)</li>
<li>7 exposures, 3 stops apart</li>
<li>Direct sun f/16, ISO 100, center exposure 1/32 sec</li>
</ul>
<p>After a quick slide of acknowledgements Ben handed over to Christophe who would once again talk in a little more detail about the math-laden background behind the presented concepts.</p>
<p>Since my senior-high maths-teacher sucked out all the fun I ever had with mathematics, I wasn&#8217;t in the mood of trying to follow Christophe&#8217;s every word but I got the general idea:</p>
<p>Calculating reflections and IBL with the Monte Carlo approach requires a high amount of samples for a clean picture. Since the distribution of the rays is random, you end up calculating a lot of stuff you will not really see in your final rendering. So he came up with MIS, Multi Importance Sampling, that takes into account what the camera sees, that the light illuminates and identifies an area in the lighting-dome where rays have a probability to affect the final rendering, such bright portions in the HDRI used for IBL. With the same number of samples used for rendering, which are only weighted differently, in the end compose a much more pleasing result because you only calculate what you need.</p>
<p><object width="520" height="320"><param name="movie" value="http://www.youtube.com/v/L25Du6C_0Io?hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/L25Du6C_0Io?hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="520" height="320"></embed></object></p>
<p>To implement this into the renderer, the BRDFs and lights need to provide <span class="spancode">eval()</span> and <span class="spancode">sample()</span> methods, where <span class="spancode">eval()</span> returns a color and a pdf for a given input direction and <span class="spancode">sample()</span> that returns an array of directions and pdfs: For instance, in a dome IBL situation, these will be the vectors to the bright spots in the image.<br />
I just copied this from a slide of Christophe&#8217;s presentation, so don&#8217;t ask me what it all means. The only thing I am pretty sure is that <i>pdf</i> in this context stands for <i>probability distribution function</i> and not for Adobe&#8217;s favorite way of storing their user guides.</p>
<p>ILM&#8217;s BRDF specification has to follow a number of principles too: The shaders now must be normalized e.g. energy conserving, they must &#8220;substitute&#8221; to ILM&#8217;s trusted but old Cook-Torrance model, they should be anisotropy aware and, as always, efficiently computed.</p>
<p>Their solution now is D-BRDF based on an yet unpublished paper by Michael Ashikhmin and Simon Premoze; the Beckmann distribution<sup class='footnote'><a href='#fn-2092-4' id='fnref-2092-4'>4</a></sup> and no masking: the reciprocity term is simply 4.0 * V.H * max(L.N, V.N).</p>
<p>For the nerds among you I even noted the links Christophe&#8217;s presentation closed with:</p>
<ul>
<li><a href="http://webcache.googleusercontent.com/search?q=cache:CTBrMaCLM9wJ:citeseerx.ist.psu.edu/viewdoc/download%3Fdoi%3D10.1.1.141.6555%26rep%3Drep1%26type" target="_new">Eric Veach&#8217;s paper</a><sup class='footnote'><a href='#fn-2092-5' id='fnref-2092-5'>5</a></sup></li>
<li><a href="http://sites.google.com/site/isrendering" target="_new">Last year&#8217;s SIGGRAPH course</a></li>
<li><a href="http://www.cs.utah.edu/~premoze/dbrdf/dBRDF.pdf">D-BRDF</a></li>
</ul>
<p>You&#8217;re welcome. Now where is my mind?</p>
<p>After this heavy information laden day I skipped nVidia&#8217;s panel discussion and went straight home to type up this blog post. who would have thought that it would take me effectively over two weeks to finish it?</p>
<div class='footnotes'>
<div class='footnotedivider'></div>
<ol>
<li id='fn-2092-1'>Christophe is actually employed by Pixar, whereas Ben works for Industrial Light &#038; Magic, but since they render with Pixar&#8217;s RenderMan the collaboration is fruitful to both parties. <span class='footnotereverse'><a href='#fnref-2092-1'>&#8617;</a></span></li>
<li id='fn-2092-2'>Ben&#8217;s slide also read &#8220;eek!&#8221; at this bullet. <span class='footnotereverse'><a href='#fnref-2092-2'>&#8617;</a></span></li>
<li id='fn-2092-3'>Boy, I used that &#8220;trick&#8221; so many times as well. Paradoxically it looked so often &#8220;righter&#8221; than one of the physically realistic Mental Ray shaders. At least after comp. Why am I telling this anyway?! <span class='footnotereverse'><a href='#fnref-2092-3'>&#8617;</a></span></li>
<li id='fn-2092-4'>D = exp(- (tan(H,N) / roughness)^2) / ( cos(H,N)^4 * roughness^2 * pi ) <span class='footnotereverse'><a href='#fnref-2092-4'>&#8617;</a></span></li>
<li id='fn-2092-5'>Christophe&#8217;s link didn&#8217;t work, so I assume he wanted to this one instead. <span class='footnotereverse'><a href='#fnref-2092-5'>&#8617;</a></span></li>
</ol>
</div>
<div class="plus-one-wrap"><g:plusone size="medium" href="http://blog.philstrahl.com/2011/05/04/fmx-11-day-one/"></g:plusone></div><p class="wp-flattr-button"></p> <p><a href="http://blog.philstrahl.com/?flattrss_redirect&amp;id=2092&amp;md5=4698db8d61b9e9b08d38a4fd107d416c" title="Flattr" target="_blank"><img src="http://blog.philstrahl.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.philstrahl.com/2011/05/04/fmx-11-day-one/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Shading in progress&#8230;</title>
		<link>http://blog.philstrahl.com/2009/11/03/shading-in-progress/</link>
		<comments>http://blog.philstrahl.com/2009/11/03/shading-in-progress/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 17:13:40 +0000</pubDate>
		<dc:creator>Phil Strahl</dc:creator>
				<category><![CDATA[CGI & Rendering]]></category>
		<category><![CDATA[Maya]]></category>
		<category><![CDATA[Mental Ray]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[rendering]]></category>
		<category><![CDATA[shading]]></category>
		<category><![CDATA[truck]]></category>

		<guid isPermaLink="false">http://blog.philstrahl.com/?p=1140</guid>
		<description><![CDATA[

Hey everybody! Sorry for not updating in quite a while yet again, but as you already know: When there's not much on the blog going on, then there's much work I've been doing. Amidst all the NDAs and top-secret stuff there's something now from a current project I can show you. Read on if ...]]></description>
			<content:encoded><![CDATA[<p><img class='alignleft'  src='http://blog.philstrahl.com/wp-content/uploads/2009/11/2009-11-03-truck-thumb.png' alt='Truck Shading Thumb' /></p>
<p>Hey everybody! Sorry for not updating in quite a while yet again, but as you already know: When there&#8217;s not much on the blog going on, then there&#8217;s much work I&#8217;ve been doing. Amidst all the <acronym title="Non-Disclosure Agreement">NDA</acronym>s and top-secret stuff there&#8217;s something now from a current project I can show you. Read on if you&#8217;re interested in the current progress of the awesome project I am currently involved in and wanna see some eye-candy.</p>
<p><span id="more-1140"></span></p>
<p><object width="500" height="281"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7416286&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=c4fff0&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7416286&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=c4fff0&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="281"></embed></object>
<p><a href="http://vimeo.com/7416286">Freightliner Truck Spin</a> from <a href="http://vimeo.com/user2225390">Phil Strahl</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>Be sure to watch it in HD!</p>
<p>I&#8217;m not going to tell what movie this truck is from, but some of you might already know. I am rather proud of the shading and texturing which was done with simple Blinn-shaders in Maya (apart from the windows, which are a mia-Material). All modeling was done by Jonny Hennebichler by the way, who will be also responsible for the animation to come. And, boy, that&#8217;s gonna be awesome!</p>
<p>For the dirt specs and scratches I have three custom Photoshop brushes and I used mostly photos just as references instead of textures, so the only photographs that ended up in maps are on the axes (you can&#8217;t see them there though) and the tire rubber.</p>
<p>Since the truck is intended to be rather prominently featured in a 720p production it is rather heavy on details and map-resolution, in total there are 50 maps, mostly for color and specularity, some of them are in 4k resolution.</p>
<p>One frame of this turntable rendered in about 4 minutes on my quadcore, with medium quality Final Gathering enabled.</p>
<p>Since the lighting was done with Physical Sun And Sky I had to do a quick color grading in Nuke where I also added some grain so it&#8217;ll give you an impression of the look I want to achieve. It is not perfect, e.g. I chickened out with the reflections, they are too subtle, but in sum I am rather happy with it &#8212; I hope you like it was well.</p>
<p>Work in progress.</p>
<div class="plus-one-wrap"><g:plusone size="medium" href="http://blog.philstrahl.com/2009/11/03/shading-in-progress/"></g:plusone></div><p class="wp-flattr-button"></p> <p><a href="http://blog.philstrahl.com/?flattrss_redirect&amp;id=1140&amp;md5=96a23ecd449a89480c17322ef80a72d2" title="Flattr" target="_blank"><img src="http://blog.philstrahl.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.philstrahl.com/2009/11/03/shading-in-progress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Back in Business</title>
		<link>http://blog.philstrahl.com/2009/10/15/back-in-business/</link>
		<comments>http://blog.philstrahl.com/2009/10/15/back-in-business/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 00:58:46 +0000</pubDate>
		<dc:creator>Phil Strahl</dc:creator>
				<category><![CDATA[CGI & Rendering]]></category>
		<category><![CDATA[Dear Diary]]></category>
		<category><![CDATA[license plate]]></category>
		<category><![CDATA[Maya]]></category>
		<category><![CDATA[Mental Ray]]></category>
		<category><![CDATA[rendering]]></category>
		<category><![CDATA[shading]]></category>
		<category><![CDATA[texturing]]></category>
		<category><![CDATA[Trailblazer]]></category>

		<guid isPermaLink="false">http://blog.philstrahl.com/?p=1117</guid>
		<description><![CDATA[

Another time it's been way too long between updates. Again much has happened, I was too busy to author a thorough blog post of general interest. And honestly, I still am. So I will give you a short run down on what I did recently. And if you want to see some shading/texturing going ...]]></description>
			<content:encoded><![CDATA[<p><img class='alignleft'  src='http://blog.philstrahl.com/wp-content/uploads/2009/10/2009-10-15-plate-thumb.png' alt='License Plate icon' /></p>
<p>Another time it&#8217;s been way too long between updates. Again much has happened, I was too busy to author a thorough blog post of general interest. And honestly, I still am. So I will give you a short run down on what I did recently. And if you want to see some shading/texturing going on, to witness the power of the almighty bump-map that still does its job well and without the annoying purple eye-cancer-causing colors of a normal map, read the rest&#8230;</p>
<p><span id="more-1117"></span></p>
<p>After posting the last blog post I&#8230;</p>
<ul>
<li>&#8230;worked on some station ID motion graphics as a compositor at <a href="http://www.freshfx.at/" target="_new">Fresh FX</a>. Lovely place!</li>
<li>&#8230;took a week off, hoping to get anything done with my diploma thesis.</li>
<li>Instead I am working on a rather secret project on lighting, shading, rendering and compositing. Oh and I got me a <a href="http://www.dpreview.com/news/0809/08091705canon_5dmarkII.asp" target="_new">Canon EOS 5D Mark II</a>. As soon as I produce something worthy I&#8217;ll let you know. But I already know how much I love that black brick already.</li>
<li>&#8230;did an elaborate video tutorial for <a href="http://www.aetuts.com">AEtuts+</a>, that&#8217;ll go live this week or so.</li>
<li>..enjoyed two weeks of heavy duty Nuke compositing for Fresh again, complete with long hours and weekend shift.</li>
</ul>
<p>Now I&#8217;m back to not writing on my thesis and continuing on the secret project, codename <i>Trailblazer</i>.</p>
<p>Some of my colleagues already know about Trailblazer but for those of you who don&#8217;t I&#8217;ll have a little riddle. Look below, this is a small part of the project I shaded today &#8212; w00ts for Photoshop! All I can tell you it&#8217;s from a movie that was released nearly 20 years ago. If you can guess it from the detail: Damnit, you&#8217;re better than good, you&#8217;re all knowing! So you&#8217;re either god, the anti-christ over the über-nerd. Either way I am happy that you spend your precious time reading this little blog entry!</p>
<p><object width="533" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7074578&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7074578&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="533" height="300"></embed></object>
<p><a href="http://vimeo.com/7074578">License Plate Shading</a> from <a href="http://vimeo.com/user2225390">Phil Strahl</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>And don&#8217;t bother googling, it won&#8217;t help you here &#8212; hehe!</p>
<div class="plus-one-wrap"><g:plusone size="medium" href="http://blog.philstrahl.com/2009/10/15/back-in-business/"></g:plusone></div><p class="wp-flattr-button"></p> <p><a href="http://blog.philstrahl.com/?flattrss_redirect&amp;id=1117&amp;md5=8912dad6ba7c1234b823bfce57b85f60" title="Flattr" target="_blank"><img src="http://blog.philstrahl.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.philstrahl.com/2009/10/15/back-in-business/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FMX 08, Day Three</title>
		<link>http://blog.philstrahl.com/2008/05/09/fmx08-day-three/</link>
		<comments>http://blog.philstrahl.com/2008/05/09/fmx08-day-three/#comments</comments>
		<pubDate>Fri, 09 May 2008 18:16:49 +0000</pubDate>
		<dc:creator>Phil Strahl</dc:creator>
				<category><![CDATA[CGI & Rendering]]></category>
		<category><![CDATA[Compositing]]></category>
		<category><![CDATA[Films]]></category>
		<category><![CDATA[Lectures]]></category>
		<category><![CDATA[People]]></category>
		<category><![CDATA[Reports]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[Afonso Salcedo]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[Bret St. Clair]]></category>
		<category><![CDATA[BUF Compagnie]]></category>
		<category><![CDATA[Carlos Baena]]></category>
		<category><![CDATA[CGI]]></category>
		<category><![CDATA[Chris Harvey]]></category>
		<category><![CDATA[David Munier]]></category>
		<category><![CDATA[Dennis Muren]]></category>
		<category><![CDATA[Disney]]></category>
		<category><![CDATA[Dylan Sisson]]></category>
		<category><![CDATA[fmx]]></category>
		<category><![CDATA[Francois Aubaque]]></category>
		<category><![CDATA[Gelato]]></category>
		<category><![CDATA[lighting]]></category>
		<category><![CDATA[Mark Empey]]></category>
		<category><![CDATA[Maya]]></category>
		<category><![CDATA[nVidia]]></category>
		<category><![CDATA[Pierre Buffin]]></category>
		<category><![CDATA[Pixar]]></category>
		<category><![CDATA[rendering]]></category>
		<category><![CDATA[RenderMan]]></category>
		<category><![CDATA[Robert Nauman]]></category>
		<category><![CDATA[shading]]></category>
		<category><![CDATA[Sharon Calahan]]></category>
		<category><![CDATA[stereo]]></category>
		<category><![CDATA[stereoscopy]]></category>
		<category><![CDATA[Stuttgart]]></category>
		<category><![CDATA[VFX]]></category>
		<category><![CDATA[Wall-E]]></category>
		<category><![CDATA[window violation]]></category>
		<category><![CDATA[Ziah Fogel]]></category>

		<guid isPermaLink="false">http://promenadeblog.com/?p=240</guid>
		<description><![CDATA[Today I was eager for a new Pixar poster. Who would've thought that I spent nearly one and half hour talking with the guys and gals from Pixar?



Because I had lost my Ratatouille poster last night I decided that the best thing to do was to attend another RenderMan presentation, get another walking teapot, ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" src="http://blog.philstrahl.com/wp-content/uploads/2008/05/20080526_fmx08-pin.png">Today I was eager for a new Pixar poster. Who would&#8217;ve thought that I spent nearly one and half hour talking with the guys and gals from Pixar?</p>
<p><span id="more-240"></span></p>
<p>Because I had lost my <i>Ratatouille</i> poster last night I decided that the best thing to do was to attend another <i>RenderMan</i> presentation, get another walking teapot, get another RenderMan sample DVD and to fill out another survey sheet. In the comments section I apologized for showing up again only for a new poster. Sometimes you just got to be honest.</p>
<h3>The Plan</h3>
<p><a href='http://blog.philstrahl.com/wp-content/uploads/2008/05/20080527_day3.png' class='lightview' title='fmx/08: Wednesday - Diagonal Day'><img src="http://blog.philstrahl.com/wp-content/uploads/2008/05/20080527_day3_thumb.jpg" class="alignleft" style="margin-bottom:16pt;"/></a></p>
<h3>The people from the jumping lamp studio</h3>
<div class="flickr-box">
  <a href="http://www.flickr.com/photos/strahl/2488166260/"                                             title="see it at flickr" /><img src="http://farm3.static.flickr.com/3235/2488166260_50acb93b78_m.jpg"                                                                              class="flickr-photo"                                                                                                       alt="see it at flickr" /><br />
          </a><br />
	<span class="flickr-caption"><br />
 <a href="http://www.flickr.com/photos/strahl/2488166260/">                                                        Morning in Stuttgart</a>, <br /> originally uploaded by <a href="http://www.flickr.com/people/strahl/">Phil Strahl</a>.<br />
 </span>
</div>
<p>But instead of hearing the same stuff again about the integration of Massive into the Pixar pipeline by Ziah Fogel there was Afonso Salcedo, one of the lighters at <i>WALL&middot;E</i> who did about 3 or 4 percent of the shots in the whole movie, &#8220;a good average&#8221;. I learned much about the way of lighting at Pixar, and how they dodge using ray tracing, the Achilles heel of RenderMan. For <i>WALL&middot;E</i> the director wanted a 70s sci-fi movie look so Pixar got <a href="http://www.imdb.com/name/nm0613830/" target="_new">Dennis Muren</a> over to set up some of the basic lighting for <i>WALL&middot;E</i> in the atrium with a 70mm-film camera with anamorphic lenses and some WALL&middot;E and Eve mockups in real size. They did tests on the DOF, the cushioning and the way lens flares and iris circles look. That&#8217;s what I love about Pixar: Total involvement and research for every project.</p>
<div class="linequote">&#8220;So do you guys even use Global Illumination or Final Gathering?&#8221;</div>
<p>I asked Dylan Sisson (?) afterwards and he answered me quite sharp that they don&#8217;t because they want to keep the full artistic control over the light <sup class='footnote'><a href='#fn-240-1' id='fnref-240-1'>1</a></sup>. They even light characters and background separately. So they set everything by hand, about two hundred lights each shot. No wonder it takes them so long!</p>
<p>When the presentation was over I got myself a nice espresso at the lounge and returned half an hour later to the recruiting presentation which was in fact a Q&#038;A session with all the folks from Pixar that were present in Stuttgart: <a href="http://193.196.129.35/fmxphp08/gallery/Day%203%20Wed/slides/Carlos_Baena_02.html" target="_new">Carlos Baena</a>, Sharon Calahan, Dylan Sisson, Afonso Salcedo, David Munier, and Ziah Fogel. I seized the day and asked them a lot about anything that came to my mind, most importantly how they do their compositings and what software they use and whether they are looking for a compositor.</p>
<div class="linequote">&#8220;A little shake, but mainly we do the composits &#8220;in camera&#8221;. So basically everything that comes out of of the ribs <sup class='footnote'><a href='#fn-240-2' id='fnref-240-2'>2</a></sup> is final.&#8221;</div>
<p>That hit me deeply. They don&#8217;t even have the job I was hoping to apply for. </p>
<div class="linequote">&#8220;Alright&#8230; well&#8230; erm&#8230; how about shading <acronym title="technical director">TD</acronym>s?&#8221;</div>
<div class="linequote">&#8220;You got to be quite fluent in <acronym title="RenderMan Shading Language">rsl</acronym>&#8230; but we use a node based system too!&#8221;</div>
<p>After the session there was a buffet in the little room outside the seminar room and the audience mingled with the Pixarians. Paul from the 4th semester was interested to learn from Carlos how the animation of WALL&middot;E&#8217;s crawlers played a role in conveying his character. I was still eager to get some of my questions answered by Sharon Calhan, Carlos Baena and Afonso Salcedo at one table &#8211; unbelievable. And silly me forgot to take a picture before I left for some presentations with &#8220;educational&#8221; value for me.</p>
<h3>3D and Live Action in 3D. In stereo</h3>
<div class="flickr-box">
  <a href="http://www.flickr.com/photos/strahl/2487303083/"                                             title="see it at flickr" /><img src="http://farm3.static.flickr.com/3053/2487303083_1e2d50f200_m.jpg"                                                                              class="flickr-photo"                                                                                                       alt="see it at flickr" /><br />
          </a><br />
	<span class="flickr-caption"><br />
 <a href="http://www.flickr.com/photos/strahl/2487303083/">                                                        Meeting Colleagues</a>, <br /> originally uploaded by <a href="http://www.flickr.com/people/strahl/">Phil Strahl</a>.<br />
 </span>
</div>
<p>Stereoscopy is the buzz of the year, as I mentioned earlier. Disney, Pixar (yes, there&#8217;s a difference!), DreamWorks, ILM and Sony ImageWorks are working on features in stereoscopic 3D now and all of us artists in the industry either adapt or become extinct. I chose to adapt but was very skeptical about it.</p>
<p><i>Journey 3D</i> by Bret St. Clair (from Meteor Studios) and Chris Harvey (from Frantic Films) was the first presentation in stereo <sup class='footnote'><a href='#fn-240-3' id='fnref-240-3'>3</a></sup>. The two studios in Canada have been working on <i><a href="http://www.imdb.com/title/tt0373051/" target="_new">The Journey to the Center of the Earth 3D</a></i> starring Brendan Fraser and had to handle a live action/CGI feature to seamlessly blend together &#8211; all in stereo.</p>
<p>The two of them talked about their struggles and problems and seemed as if they were telling a terrible tale of how they had survived 9/11 and Katrina. They had to tell so much in such a short time that I noted down like crazy what I felt was important. And there was a lot, starting from the camera rig on set. They were using two different rigs, one that allowed to adjust the interocular separation <sup class='footnote'><a href='#fn-240-4' id='fnref-240-4'>4</a></sup> even to zero if they had wanted it to thanks to a 45° semitransparent mirror (which produced differences in distortion and lights), the other rig had an interocular separation of 2.7&Prime; as opposed to the 2.5&Prime; space between the average viewers&#8217; eyes.</p>
<p>Zooming, for example, was nearly not possible because the two cameras had to be in totally in sync which was not possible in live action shooting because even an offset of the tenth of a pixel makes a difference to the perceived depth.</p>
<p>Matte paintings should be executed at least in 2.5D, but it is much better to project them onto geometry which shouldn&#8217;t be too low-poly because you just can&#8217;t fake it in stereo. And don&#8217;t paint haze, fog or atmosphere in your matte paintings because that all needs to be done in 3D.</p>
<p>You can&#8217;t make a 3D film into a stereo 3D film at one point, you have to be certain about the presentation when you&#8217;re working on the concept because from that point on, nearly everything should be executed in stereo, especially the layouting and animatic. Artists that have only worked on non-stereo pictures before (which is the majority of us at the time) tend to cheat to get the image an aesthetic quality instead of being 100% correct in a three dimensional space.</p>
<p>Create optimal viewing conditions. From the emphasis put onto that statement it is the most important one. You have the same projectors on set and in your studio as you will have in the theater, you have to have at least a 20 ft screen for the projection and there should be one 2k stereo-projector instead of having two separate projectors because you will have to stop the footage, scrub through it, etc. to review your work.</p>
<p>Stereo means to double everything: Storage space, amount of footage, time for trouble shooting, compositions and rendering time, when you&#8217;re not working with some tricks: In the case of <i>Journey</i> they were able to have the second image rendered in only 20% of the time of the first one by caching a lot of render-data so only the occluded geometry had to be re-rendered. Pretty clever and it saved them a lot of precious rendering time. They used <i>Gelato</i> by nVidia for that, but I have no idea what it exactly does.</p>
<p>And now for the dreaded, feared and gruesome focus on matchmoving in stereo *insert 50&#8242;s horror film music here*. Even for ground planes it had to be done absolutely correct to every 0.1 pixel otherwise something would&#8217;ve been off in the final depth perception. A tracking cube helps you much in those cases because the perspective its clearly visible at all times. After tracking you should test it in the theater-situation before continuing because it has to be absolutely correct. The guys developed a way of tracking only one view of the stereo and then calculating the correct track for the other &#8220;eye&#8221; because tracking them separately didn&#8217;t result in absolutely the same movement for each eye. </p>
<p>Keeping as much meta data from the camera as possible in each shot. You might not use it at all times but sometimes it really saves your shot.</p>
<p>Another thing to know is that distortions work differently. Instead of having a centered distortion for every eye, the distortion should be in the middle between the eyes, making them off center for the individual camera footage. Lens artifacts should be matching in too: It is distracting, if you have a lens flare in only one of the views or that highlights don&#8217;t match and hence &#8220;flicker&#8221; when looked at. If you can&#8217;t avoid this on set you have to either remove the highlight in question or digitally double it for the other eye.</p>
<p>When it comes to compositing you want to have both eyes&#8217; footage in a single composition, although it doubles the complexity. But you can make corrections to one eye where needed and have them share nodes and effects at the same time. Ideally the compositor should be sitting in front of the 20 ft so s/he can always check what it&#8217;ll look like in the theater. &#8220;Awake&#8221; for Fusion does the job ob having both eyes in one composition, by the way. </p>
<p>When evaluating stereo depth you should always revise shots in sequence so you can avoid too harsh differences in depth that the audience&#8217;s eyes don&#8217;t need too long to adapt each shot and might miss the important action. </p>
<p>Oh, and bump maps should be traded in for displacement-maps!</p>
<h3>3D in 3D</h3>
<p><i>Stereoscopic Depth as a Storytelling Tool</i> by Mark Empey and Robert Neuman from Disney Animation was a very insightful presentation because there literally were worlds between their stereo-footage and the previous presentation. Disney showed off a five minute long montage of the stereo version of <a href="http://www.imdb.com/title/tt0396555/" target="_new">Meet the Robinsons</a> and the depth perception worked just fabulous, seemed harmonic and believable. The first seconds were terrible, the following 20 seconds were okay and after the first minute I never wanted to watch plain mono footage ever again. <i>Journey</i> looked 3D-ish but not quite that pleasing. Even I could tell, that Disney had mastered 3D as they had mastered 2D. And they gave an insight about their way:</p>
<p>First of all you should avoid using stereo like it was used in the fifties and eighties:</p>
<div class="linequote">&#8220;Don&#8217;t use stereo only for gimmicks: Don&#8217;t throwing everything that&#8217;s not bolted to the ground at the audience!&#8221;</div>
<p>Making it comfortable for the audience is the most important thing. If they get headache, hurting eyes and nausea from watching your stereo movie they will never want to watch one again. So you should keep the interocular distance of 2.5&Prime; in mind. That&#8217;s not so much important for near objects that are &#8220;floating above&#8221; the screen, but for those who are beyond infinity: When looking at objects that are on the horizon both eyes are exactly parallel. But with the use of floating windows (more about them below) it might happens to have the audience look beyond that point where the eyes aren&#8217;t looking just parallel, they&#8217;re looking outwards which is painful because mother nature never wanted us to look that way. So avoid having offsets bigger than 15 pixels towards infinity.</p>
<p>Just like using a color script it helps much using a depth script where a value from one to ten (sometimes eleven) tells the stereoscopic supervisors how deep a sequence, scene, shot has to be. Neuman (or was it Empey?) said that for him stereoscopic depth equals with emotional attachment to the character. So a depth script is essentially a script where the arch of emotional depth is traced. The closer you want your character to connect with the audience, the more you push her/him out of the screen (not out of the floating window, to be described soon!). For emotional distance keep your character &#8220;behind&#8221; the screen.</p>
<p>Sometimes you want to have objects come out of the screen very close. It&#8217;s okay if you do it in the middle of the screen but when one of the stereo images is being clipped by the screen frame, then a &#8220;window violation&#8221; occurs. When this happens a viewer perceives the presented images much flatter because her/his brain needs to constantly decide between two conflicting different depth-cues.  So what do you do? You produce a &#8220;floating window&#8221;.</p>
<p>The floating window is created by unequal masking of the different stereo-images, e.g. you give the left image a thick black border on the left and the right image a thick black border on the right. This little trick lets the screen in the theater appear as if it was floating in front of the action, depending on the thickness of the black border because the viewer always associates the floating screen with the physical one.<br />
You can even have the floating window rotate and tilt, all with diagonal masking. Disney uses a Maya plug-in that displays for the stereo camera rig in the viewport the near plane (where nothing can be any closer without risking eye strain), the floating window transformations, the screen plane (where the physical screen in the theater is located) and the far plane (which defines infinity) and can be controlled by eight values.</p>
<p>DOF should be limited and only applied to objects in the background (&#8220;behind&#8221; the screen). For objects in the foreground you should deemphasize their importance with lighting.</p>
<p>Don&#8217;t toe in the two cameras in your rig, because this results in vertical mismatching and is uncomfortable to view. Instead keep the cameras parallel at all times and use only a different portion of their <a href="http://photonotes.org/cgi-bin/entry.pl?id=Imagecircle" target="_new>image circle</a>, just like a <a href="http://en.wikipedia.org/wiki/Perspective_correction_lens" target="_new">perspective correction lens</a> works.</p>
<p>At last it is important to have your characters round enough to avoid that your characters look like cardboards which occurs when the roundness of a character drops below 20%. This occurs when using telephoto-lenses where a lot of depth-information is eaten up by blank space. One way would be using a wide angle, but a better way it using multiple camera rigs, one for the foreground with all the necessary depth information and one for the background. So you can skip the blank space between character and background and use this range to enhance the roundness instead.</p>
<p>Disney used all these techniques for their upcoming feature <a href="http://www.firstshowing.net/2007/12/27/first-look-disneys-bolt/" target="_new">BOLT</a> and from the very raw work-in-progress material that was screened I can say that it works marvelous.</p>
<h3>French Stench</h3>
<p>Sorry about that headline, I just like cheap rhymes (but no hip-hop!). The presentation titled <i>Effects Tailored to a Director&#8217;s Vision</i> by Pierre Buffin and Francois Aubaque from BUF Compagnie sounded rather interesting, because BUF use only proprietary software since they started in the eighties and have grown in technology as well as in style and expertise. They did the effects on <i>Fight Club</i>, <i>Panic Room</i>, <i>Silent Hill</i>, <i>The Prestige</i> and any <i>Astérix</i> and a heap of others. So I was quite thrilled to learn about their work with the directors such as David Fincher.</p>
<p>As it turned out they were talking English with such a terrible French accent that it was hard to make out what they were talking about. But instead of telling much they just rolled making-of after making-of the different productions and just said a few words between them. I was quite disappointed because I can watch all that making-of-stuff alone on any special-edition DVD of the given movie (even without the accompanying French songs). So I left after twenty minutes for another caffeine flash to get ready for <a href="http://www.carlosbaena.com/" target="_new">Carlos Baena</a>&#8216;s much anticipated <i>Realistic vs. Stylized Human Animation</i> presentation.</p>
<p>He showed his work on <i>Star Wars Episode II</i> as example for realistic animation and some shots of Skinner in <i>Ratatouille</i>. The shots he worked on are also on his <a href="http://www.carlosbaena.com/animation/animation_feature.html" target="_new">website</a>. He also showed a short animated clip from the <a href="http://www.apple.com/trailers/paramount/ironman/" target="_new">Iron Man Trailer</a>, the shot with the iron man&#8217;s reaction as the tank misses him: He dodges, leans back more than he had anticipated so he has to take a step back to keep the balance. He lifts his arms, looks back where the shot came from and shoots back from the gun on his arm. The rebound travels up his arm and reaches his head an chest after a couple of frames, so he shakes a bit, the left arm extended into the other direction to keep balance. Now was that a thorough description of a little animation or what?</p>
<p>Then he showed some reference footage he uses as an animator, a DVD with slowmotion footage from the Olympics in Japan some time ago where you can see most of the actions from the side or the top. Some other references are x-ray films, e.g. of a man raising his arm.</p>
<div class="linequote">&#8220;You see that? When the arm is 90 degrees up the shoulder doesn&#8217;t move anymore. The motion is continued by the clavicle bone.&#8221;</div>
<p>He looks into the audience and continues honestly.</p>
<div class="linequote">&#8220;I didn&#8217;t know that!&#8221;</div>
<p>He showed some more footage in slow-mo, of a fist hitting on a table, where you could see the muscles and the skin ripple on the impact. That&#8217;s the stuff you should be watching all the time when becoming a character animator!</p>
<p>In terms of stylized character animation Carlos dug up some early tests he did on Skinner, the cook from <i>Ratatouille</i> who was based largely on <a href="http://www.youtube.com/watch?v=dcVSa72_mHg" target="_new">Louis de Funés</a>, my favorite French comedian. Just watch his performance in <i>Jo</i> and you&#8217;ll see why the folks at Pixar decided that Skinner became too French.</p>
<p>Unfortunately the amount of coffee I had pumped into my veins that day made me rather immune to any more caffeine so I had troubles staying awake during the whole presentation. When Carlos was talking something about Woody&#8217;s Arms in <i>Toy Story</i> I drifted away for a couple of seconds, or a couple of minutes &#8212; I don&#8217;t know.</p>
<p>The presentation titled <i>Bringing Nuke and Maya Together</i> by Andreas Frickinger and Daniel Hasenbring from Miromar was held in a way too small room for way too many interested people so I was among those who sat on the floor, when the two Germans showed their tricks of rendering a Mental Ray mia_matrial in a crapload of passes and having a script rebuild the shader in <i>Nuke</i> again, where you can tweak on every nut if you ever wanted to.</p>
<p>The most stunning part, however, was the possibility to re-light your rendered scene within Nuke because their pipeline also exports UV and World coordinates. The only drawback is that your Nuke-lights will not cast any shadows but for subtle re-lighting it&#8217;s perfect.</p>
<p>Even some of the scene geometry can be viewed in Nuke&#8217;s 3D view &#8212; it&#8217;s crazy how such an amazing workflow-demonstration came off like a high-school presentation of two totally not entertaining people that seemed not too well prepared either.</p>
<p>Afterwards I talked with Kerschy a little who also witnessed the presentation. He was so amazed about the whole topic that e decided to write his diploma thesis about how to get from Maya to Nuke like the guys from Miromar.</p>
<h3>What remains as item on a list of impressions:</h3>
<div class="flickr-box">
  <a href="http://www.flickr.com/photos/strahl/2488137192/"                                             title="see it at flickr" /><img src="http://farm3.static.flickr.com/2313/2488137192_b2fb830f13_m.jpg"                                                                              class="flickr-photo"                                                                                                       alt="see it at flickr" /><br />
          </a><br />
	<span class="flickr-caption"><br />
 <a href="http://www.flickr.com/photos/strahl/2488137192/">                                                        Morning Impressions</a>, <br /> originally uploaded by <a href="http://www.flickr.com/people/strahl/">Phil Strahl</a>.<br />
 </span>
</div>
<ul>
<li>My first real meal this week, enjoyed at one of the local McSteakhouses, <i>Maredo</i>.</li>
<li>Strolling around the heart of Stuttgart without knowing a place to go.</li>
<li>My visit to the <i>Schräglage</i>-lounge with lots of goofiness, caffeine and laughter.</li>
<li>Another day without warm water at the hotel.</li>
</ul>
<h3>What I have learned today</h3>
<ul>
<li>That you can&#8217;t cheat when working in stereo.</li>
<li>That zooming is not possible in live-action stereo</li>
<li>That subpixel-accuracy matters to the tenth of a pixel in stereo</li>
<li>That matte paintings should be at least in 2.5 D when working in stereo</li>
<li>That you can&#8217;t paint haze into the matte paintings when working in stereo (= faking it)</li>
<li>That even the layouting of a stereoscopic shot/scene/film should be done in stereo</li>
<li>That you should be able to view your dailies the same way your audience will watch the final stereo picture.</li>
<li>That you should create the same conditions on location for viewing stereo dailies as your final audience will have.</li>
<li>That camera shakes can be used (moderately!) to hide stereoscopic issues.</li>
<li>That stereoscopic 3D-rain looks fake in <i>Journey</i>. Really fake, just big blobs dropping.</li>
<li>That when working in stereo you need to double nearly everything in your production calculation.</li>
<li>That matchmoving is nearly impossible for live action stereo footage.</li>
<li>That using a cube for tracking stereo footage is much better than using single tracking marks without any depth information.</li>
<li>That you should collect as much meta data from the cameras as possible when working in stereo.</li>
<li>That distortions in 3D share the same center, which lies between the &#8220;eyes&#8221;.</li>
<li>That lens artifacts should apply to both eyes. If they don&#8217;t match make them match.</li>
<li>That a composition for stereo shot should be done for both eyes in one composition.</li>
<li>Stereoscopic depth should be kept persistent throughout a sequence.</li>
<li>That you should use displacement maps instead of bump-maps for stereo pictures.</li>
<li>That you just can not cheat when working in stereo!</li>
<li>That you shouldn&#8217;t use stereo for gimmicks</li>
<li>That you have to make watching stereo as comfortable as possible for the audience.</li>
<li>That you should avoid &#8220;beyond infinity&#8221; focusing on your audience in stereo. 15 pixels at 2k are enough!</li>
<li>That you should use a depth-script when working in stereo.</li>
<li>That perceived depth can equal emotional depth.</li>
<li>What &#8220;floating windows&#8221; are in stereo and how you can work with them.</li>
<li>In stereo DOF should only be used for the background, for the foreground deemphasize with lighting.</li>
<li>That you should use a different portion of the image circles of parallel cameras in stereo instead of toeing them in.</li>
<li>That you can counter cardboarding in stereo by using two camera rigs, one for the foreground, one for the background.</li>
</ul>
<div class='footnotes'>
<div class='footnotedivider'></div>
<ol>
<li id='fn-240-1'>This question still is a running gag with the folks from the lower semester who witnessed it along with the sharp answer. Looks like I hit a soft spot&#8230; <span class='footnotereverse'><a href='#fnref-240-1'>&#8617;</a></span></li>
<li id='fn-240-2'>RenderMan Scene Description Files <span class='footnotereverse'><a href='#fnref-240-2'>&#8617;</a></span></li>
<li id='fn-240-3'>from this point on I&#8217;ll use the term <b>&#8220;stereo&#8221;</b> for stereoscopic imagery, both live action and computer generated; <b>&#8220;3d&#8221;</b> for computer simulated images of digital representation of three dimensional objects and <b>&#8220;stereo sound&#8221;</b> for audio on two channels each intended for either the left or right ears of the audience. I hope everything is clear now. <span class='footnotereverse'><a href='#fnref-240-3'>&#8617;</a></span></li>
<li id='fn-240-4'>the distance between the center of the two points of view <span class='footnotereverse'><a href='#fnref-240-4'>&#8617;</a></span></li>
</ol>
</div>
<div class="plus-one-wrap"><g:plusone size="medium" href="http://blog.philstrahl.com/2008/05/09/fmx08-day-three/"></g:plusone></div><p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://blog.philstrahl.com/2008/05/09/fmx08-day-three/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ShirtPress</title>
		<link>http://blog.philstrahl.com/2008/03/13/shirtpress/</link>
		<comments>http://blog.philstrahl.com/2008/03/13/shirtpress/#comments</comments>
		<pubDate>Thu, 13 Mar 2008 03:17:17 +0000</pubDate>
		<dc:creator>Phil Strahl</dc:creator>
				<category><![CDATA[CGI & Rendering]]></category>
		<category><![CDATA[Reports]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[DeLorean]]></category>
		<category><![CDATA[DeLorean Time Machine]]></category>
		<category><![CDATA[DMC]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[marabu]]></category>
		<category><![CDATA[Maya]]></category>
		<category><![CDATA[printing]]></category>
		<category><![CDATA[rendering]]></category>
		<category><![CDATA[shading]]></category>
		<category><![CDATA[shirt]]></category>
		<category><![CDATA[shopping]]></category>
		<category><![CDATA[T-shirt]]></category>

		<guid isPermaLink="false">http://promenadeblog.com/?p=209</guid>
		<description><![CDATA[I am more of a satisfyzer (yes, just I made that word up) than a maximizer but I am not up for any compromises when it comes to t-shirts: If I have an idea about a certain print I want then I won't settle for anything less than exactly that. Yes, I was looking ...]]></description>
			<content:encoded><![CDATA[<p><a href='http://blog.philstrahl.com/wp-content/uploads/2008/03/20080313_dmc-sketch.jpg' class='lightview' title="My proposed t-shirt design masterfully drawn by me" rel='gallery[shirtpress]'><img src='http://blog.philstrahl.com/wp-content/uploads/2008/03/20080313_dmc-sketch_thumb.png' alt="My proposed t-shirt design masterfully drawn by me" class="alignleft"/></a>I am more of a satisfyzer (yes, just I made that word up) than a maximizer but I am not up for any compromises when it comes to t-shirts: If I have an idea about a certain print I want then I won&#8217;t settle for anything less than exactly that. Yes, I was looking for that perfect, one and only DeLorean-logo shirt!</p>
<p><span id="more-209"></span></p>
<p>The idea was quite simple: I wanted a gray or asphalt colored shirt with a white <acronym value="De Lorean Motor Corporation">DMC</acronym> logo on it because working in Maya on a DeLorean time machine for so long leaves its marks, especially on somebody who as is easy to manipulate as me.</p>
<p>If you try to find that shirt via Google you will spend a while until you end up at the <a href="http://www.delorean.com/store/p-9117-airbox-t-shirt-sml.aspx" target="_new">DMC website</a> where you can buy it for $18.95 plus $49.42 (ahhh!) international shipping fee. Seventy frickin&#8217; bucks for a quite simple shirt is waaay too much! &#8220;I can make one myself for less!&#8221; I said to myself. And that&#8217;s how I started.</p>
<p><a href='http://blog.philstrahl.com/wp-content/uploads/2008/03/20080313_dmc-logo-illustrator.png' class='lightview' title="DMC logo Illustrator file" rel='gallery[shirtpress]'><img src='http://blog.philstrahl.com/wp-content/uploads/2008/03/20080313_dmc-logo-illustrator_thumb.png' alt="DMC logo Illustrator file" class="alignleft"/></a>Yesterday I had a brief chat with my colleague Dansch Übleis who is famous not only for his Maya skills (especially workarounds and cheap time-saving fakes) but also for his hands-on creativity such as, but not limited to, printing t-shirts. Because I wasn&#8217;t eager for silk-screening and the hassle with it he suggested printing the logo onto a cheap ink-jet transparency, cutting out the shape with a paper knife, sticking it with tape on the shirt and filling it with <a href="http://www.marabu-creative.com/gb/02mfarben/produkte/fun_fancy.php" target="_new">Marabu brand window colors</a>. &#8220;It&#8217;s as easy as that!&#8221; he said and I believed him.</p>
<p>Shortly after I was on my way to a shop of the <i>Libro</i> stationery chain to get my assets. Along with 20 floppy disks (don&#8217;t blame me &#8212; I just enjoy writing on my ancient ThinkPad from 1996), two DVDs, 1000 sheets of paper, a white ball pen and <i>Final Fantasy XII</i> I bought what I needed for my custom DMC logo shirt: A small can of <i>Marabu fun&#038;fancy window color</i> (white) for 3.69 € and a pack of 20 sheets 3M ink-jet transparencies for 17.99 €. </p>
<p>At home I fired up <i>Illustrator</i> and quickly drew the shape of the DMC logo, accompanied by a line of type reading &#8220;De Lorean Motor Cars Ltd&#8221; and printed everything in gray onto one of the transparencies. Cutting out the shapes (especially the relatively small line of type) took me half an hour before I was ready. Before taping the stencil onto the shirt, an asphalt colored <a href="http://www.americanapparel.net/wholesaleresources/catalog/product.html?s=TR401&#038;cid=5&#038;w=0#ix" target="_new">American Apparel <i>50/50</i></a> model, I applied a lot of paper-glue on the backside of the stencil so the thin bridges would stick to the fabric later that no color would spill where it shouldn&#8217;t. I applied plenty of the window color with a soft-foam form until the shirt was majorly soaked &#8212; I put it on the radiator so it could dry.</p>
<p><a href='http://blog.philstrahl.com/wp-content/uploads/2008/03/20080313_dmc-shirt-plain.jpg' class='lightview' title="The shirt with the final print" rel='gallery[shirtpress]'><img src='http://blog.philstrahl.com/wp-content/uploads/2008/03/20080313_dmc-shirt-plain_thumb.png' alt="The shirt with the final print" class="alignleft"/></a>A couple of hours later the color had dried in and was anything but opaque nor white. I was a little disappointed about the outcome and pondered for a while how I could save the shirt. Luckily I still had a fresh can of white textile color so I decided to give it a try and stamped the new color over the pale window color with the foam-form again. This time it looked way better. Again I let it dry.</p>
<p>Another couple of hours later the textile color was opaque and dry and I was eager to see the result. I removed the tape from the stencil but it stuck to the shirt like crazy thanks to the thick color. I literally had to tear my transparency off the shirt which left my stencil&#8217;s filigree parts somewhat damaged; hence I won&#8217;t be able to reuse it if I ever want to. Bummer. </p>
<p><a href='http://blog.philstrahl.com/wp-content/uploads/2008/03/20080313_dmc-shirt-fifi.jpg' class='lightview' title="Happy me wearing the shirt. Yes, I know that I look tired, thank you!" rel='gallery[shirtpress]'><img src='http://blog.philstrahl.com/wp-content/uploads/2008/03/20080313_dmc-shirt-fifi_thumb.png' alt="Happy me wearing the shirt. Yes, I know that I look tired, thank you!" class="alignleft"/></a>But apart from the slight off-centered orientation (I still have troubles aligning things with the naked eye since kindergarten) it looked really neat and much better than I had anticipated: No color bleeding, only silk-screen-like crisp edges and a thick and well-textured color. I don&#8217;t know if that&#8217;s the effect of the window-color base or not, the only thing I know is that I was happy making something myself and saving money with it too. In total the print (without the shirt) cost me as little as about two Euros &#8212; I spend more money on coffee everyday! I hope it will stay looking that good after the first washing because I cant iron it in.</p>
<p>I guess I will be trying out some more unique t-shirt prints soon. But at first I have to finish my work: Shading the DeLorean time machine  in Maya photo-realistically. Maybe the next print will be a DeLorean too&#8230;</p>
<p><a href='http://blog.philstrahl.com/wp-content/uploads/2008/03/20080313_dmc-timemachine.jpg' class='lightview' title="Current shading state of the DeLorean Time Machine in Maya" rel='gallery[shirtpress]'><img class="aligncenter" src='http://blog.philstrahl.com/wp-content/uploads/2008/03/20080313_dmc-timemachine_thumb.jpg' alt="Current shading state of the DeLorean Time Machine in Maya" class="alignleft"/></a></p>
<div class="plus-one-wrap"><g:plusone size="medium" href="http://blog.philstrahl.com/2008/03/13/shirtpress/"></g:plusone></div><p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://blog.philstrahl.com/2008/03/13/shirtpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3dsmax &amp; Brazil r/s: Gold Shader</title>
		<link>http://blog.philstrahl.com/2006/02/18/3dsmax6-gold-shader/</link>
		<comments>http://blog.philstrahl.com/2006/02/18/3dsmax6-gold-shader/#comments</comments>
		<pubDate>Sat, 18 Feb 2006 05:16:30 +0000</pubDate>
		<dc:creator>Phil Strahl</dc:creator>
				<category><![CDATA[CGI & Rendering]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[3dsmax]]></category>
		<category><![CDATA[Brazil]]></category>
		<category><![CDATA[CGI]]></category>
		<category><![CDATA[gold]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[rendering]]></category>
		<category><![CDATA[shading]]></category>
		<category><![CDATA[texture]]></category>

		<guid isPermaLink="false">http://promenadeblog.com/?p=143</guid>
		<description><![CDATA[I am working on another project for BigBoy Productions and I needed a realistic gold texture with proper reflections but which doesn’t take eons to render. Years ago I was very close to photorealistic gold but unfortunately I forgot a big deal about it. After playing around for days I finally came up with ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="Gold Texture" alt="Gold Texture" src="http://blog.philstrahl.com/wp-content/uploads/2007/05/20060218_golden-teapot_thumb.png" />I am working on another project for <a target="_blank" title="BigBoy Productions" href="http://www.bigboyproductions.com.au">BigBoy Productions</a> and I needed a realistic gold texture with proper reflections but which doesn’t take eons to render. Years ago I was very close to photorealistic gold but unfortunately I forgot a big deal about it. After playing around for days I finally came up with a good solution which I will present you in this tutorial.</span></p>
<p><span id="more-143"></span></p>
<h3>Software used:</h3>
<ul>
<li>3D Studio MAX 6 (“3dsmax”)</li>
<li>Brazil r/s V1.2.21 Plugin (“Brazil”)</li>
</ul>
<h3>Recommended Skills</h3>
<ul>
<li>This tutorial is very basic and mainly for beginners starting with 3dsmax. So don’t worry.</li>
<li>You should only know how to create new objects in 3dsmax and have Brazil properly installed, which shouldve been the toughest part however</li>
</ul>
<h3>The Goal</h3>
<ul>
<li>Creating a realistic looking gold texture within 3dsmax.</li>
<li>Gaining basic knowledge about the Material Editor and Brazil&#8217;s rendering settings</li>
<li>Optimizing the rendering process</li>
</ul>
<h3>Let&#8217;s do it!</h3>
<ol>
<li>Start up 3dsmax and set the rendering engine to Brazil if it isn’t your default engine. If you already know how to do this you can continue with 7</li>
<li><img class="alignleft" title="Render Settings" alt="Render Settings" src="http://blog.philstrahl.com/wp-content/uploads/2007/05/20060218_01.png" /> Open the render settings clicking this icon on the upper left or hit <em>F10</em>.</li>
<li>Now scroll down to where one bar reads “Current Renderers” (“Renderer zuweisen”) and click it, so it expands. Scroll down until you can see the three assigned renderers for “Production”, “Material Editor” and “ActiveShade”. If all read “Default Scanline Renderer” you have to set the Production rendering to Brazil.</li>
<li>Assuming you&#8217;ve properly installed Brazil click on the dots next to “Production:” and highlight “Brazil r/s V1.2.21” in the pop-up selection box and hit OK.</li>
<li>Notice that now also the Material Editor’s renderer is set to Brazil, which is bad becase Brazil doesn’t support it. So we have to change it back to the “Default Scanline Renderer”.</li>
<li>Hit the yellow button depicting a closed lock just right of the “Material Editor”. The icon should now show turn grey and view an open lock &#8211; the renderer should change to “Default Scanline Renderer”. Check the picture below to see if you’ve done it the right way. Don’t mind the German descriptions.</li>
<p><img class="centered" alt="Render Settings" title="Render Settings" src="http://blog.philstrahl.com/wp-content/uploads/2007/05/20060218_02.png" /></p>
<li>Close the Render Settings by clicking on it’s X-button in the very upper right.</li>
<li>Now open the material editor via hitting <i>M</i> on your keyboard. If every slot reads “not supported” its rendering is set to Brazil. In that case continue at 1).</li>
<p><img class="centered" alt="Selecting Brazil Chrome" title="Selecting Brazil Chrome" src="http://blog.philstrahl.com/wp-content/uploads/2007/05/20060218_03.png" /></p>
<li>Click the “Standard” (1) button and select “Brazil Chrome” (2) and hit “OK” (3). Now we’ve got a pretty neat chrome material but not at all golden. Note that a reflecting metal doesn’t have a color itself, it rather filters the reflected environment in a characteristic way – so forget all of the “Gold Diffuse Textures” you found on the web. Gold only reflects the yellow and orange light of the spectrum.</li>
<li>Rename the material from “01 – Default” to “Gold” or similar.</li>
<li>Below, click the white rectangle right of “Filter” and a color-picker palette should pop-up. Select a warm yellow tone. I used the following settings: Red 255, Green 207, Blue 23. Click “Close”.</li>
<p><img class="aligncenter" title="Color Picker" alt="Color Picker" src="http://blog.philstrahl.com/wp-content/uploads/2007/05/20060218_04.jpg" /></p>
<li>The “Glossy Reflection Control” section. First of all, what does it mean? Glossy reflection control determines how diffuse the reflection on the material is. It takes a lot longer but looks more realistic if turned on.</li>
<p><img class="aligncenter"  title="Glossy Reflection Control" alt="Glossy Reflection Control" src="http://blog.philstrahl.com/wp-content/uploads/2007/05/20060218_05.jpg" /></p>
<div class='boxright'>I rendered the above samples on a 2GHz Intel Pentium M with 1GB of RAM in highest quality with Global Illumination (GI) turned on. The little stopwatches indicate the rendering time in minutes. </div>
<p>For the gold-material I chose to keep the initial glossiness value of 80. If you want it blurrier, decrease it, if you want it crisper, increase it up to 100. In terms of rendering performance the glossiness value doesn’t really matter. Only if it is below 40 it slows everything down a little. </p>
<p>Also important for the rendering time is the sample rate. Initially it is set to 10 which guarantees a pretty smooth surface but takes quite long too. I chose a value of 4 this time, but it depends: If the golden object is very close to the camera, I would boost it up to 10 or even 13. If it was only in the background, a value of 2 or even 1 would be sufficient.</p>
<p>Below there are four enlarged examples of the cube’s reflection with different sampling rates of the glossy reflection control. Note that the value in the stopwatches indicates the time it took to render the whole image, not only the enlarged cutout. Glossiness Level was 50 in all four examples.</p>
<p><img class="aligncenter" title="Glossy Reflection Image Sampling" alt="Glossy Reflection Image Sampling" src="http://blog.philstrahl.com/wp-content/uploads/2007/05/20060218_06.jpg" /></p>
<div class='boxright'>Please note: The graininess is also dependent on Brazil’s Image sampling rate and last but not least the Global Illumination Shade rate. For a detailed walkthrough see addendum A.</div>
<li>Still in the Material Editor scroll down to the group called “Highlight Parameters”. This is where we define what the highlight of our material looks like.</li>
<li>Click on the rectangle left of “Specular Col.” and pick the same warm yellow tone as above, maybe a little more yellow. I used the following settings: Red: 255, Blue: 236, Green: 23</li>
<li>Below there’s the value “80” next to “Level”. This will define how bright the highlight will be. I exaggerated it a bit and set it to 200, so the material will reflect a very bright light white instead of the orange we’ve defined for the specular color, just because it is so intense.</li>
<li>Now click the long gray button reading “none” right of “Glossiness”. The “Material/Map Browser” will pop up another time. Select “Speckles” (“Flecken”) and hit “OK”. Why so? I want the gold to look a little like car paint and with the speckles we simulate the encapsulated metal particles underneath a perfectly smooth surface.</li>
<p>The following settings kept me busy for days until they looked right, so you just have to trust me if you want it to look like my texture; or play around with the settings a little yourself.</p>
<li>Under the “Speckle Parameters” set the size from 0.1 to 2. Pretty big speckles you might think, but we aren&#8217;t finished yet.</li>
<li>Click the gray map button reading “None” next to “Color #2”.</li>
<li>Again the “Material/Map Browser” pops up where we select “Speckles” – again.</li>
<li>Here keep the size of 0.1 but change the color of “Color #2” by clicking on the white rectangle to open the color picker dialog box.</li>
<li>Here change the value of “Value” from 256 to 188, or enter 188 for Red, Green and Blue.</li>
<p>Now what did we do that for? We balanced the amount of the speckles so that it still looks natural. I played a long time with it so I know what I am talking about. To get a better understanding of what we just did save your work so far and try playing around with different gray tones for “Color #1” and “Color #2”.</p>
<p>>Important to understand is that in 3dsmax there are hierarchies in the material editor. In our case the base material is “Brazil Chrome”. On the first level below there is the fist “Speckles”-map for the glossiness of the “Brazil Chrome”-material. And even below, on sub-level two, there is the “Speckles”-map of “Color #2” of the “Speckles”-map for the glossiness of the “Brazil Chrome”-material. Sounds complicating, but once you are used to it it’s very practical because there is no limit in sub-levels. </p>
<div class='boxright'>If you want you can interlink thousands of maps into thousands of sub-layers.</div>
<p><img class="alignleft" title="Go to Parent Button" alt="Go to Parent Button" src="http://blog.philstrahl.com/wp-content/uploads/2007/05/20060218_08.png" /></p>
<p>To get up one hierarchy hit the “Go to parent” (“Gehe zu übergeordnetem Objekt”) button which can be found far right on the toolbar below the swatches (the spheres with the textures). The picture below describes the hierarchy a little.</p>
<p><img class="aligncenter" title="Material Editor Hierarchy" alt="Material Editor Hierarchy" src="http://blog.philstrahl.com/wp-content/uploads/2007/05/20060218_09.jpg" /></p>
<li>Now hit the “Go to parent” button until it gets gray which means there is no more level above and see if your settings match those below:
<li>
<img class="aligncenter" title="Gold Material Setup" alt="Gold Material Setup" src="http://blog.philstrahl.com/wp-content/uploads/2007/05/20060218_07.png" /></p>
<li>That’s it! You only have to assign the material to an object in your scene. You do this by dragging and dropping it from the swatch in the Material Editor to the object.</li>
<li>Adjust the render settings (see addendum A!) and hit <i>F9</i> to render.</li>
<p><img class="alignleft" title="First Rendering" alt="First Rendering" src="http://blog.philstrahl.com/wp-content/uploads/2007/05/20060218_10.jpg" /></p>
<p>Maybe your scene looks a little like mine on the picture to the left and now you wonder why everything is so dark and not really golden. Because, just as mentioned above, gold only looks like gold when there’s enough to reflect. And in a scene with just one spotlight there ain’t much. You can either build a huge scene around it or already have, or you can mock up a softbox-setup like in a photographer’s studio. I photographed a lot reflective objects and it is pretty hard to make it look like metal.</p>
<div class='boxright'>But especially when you need to render just a golden logo you don’t have the time to model a complete softbox setup. That’s why we create a nice reflection just for the gold material in five minutes or less.</div>
<li>In the “Top” viewport create a sphere or geosphere big enough that your scene including lights and cameras fits easily in. This will be our environment. Of course, you could do this in the “Environment” dialog, but then it wouldn’t be so easily controllable.</li>
<p><img class="aligncenter" title="Viewports" alt="Viewports" src="http://blog.philstrahl.com/wp-content/uploads/2007/05/20060218_11.jpg" /></p>
<li>Now back to the Material Editor. Select a gray sphere from the swatches and rename it to “Environment”.</li>
<li>Click the rectangles next to “Diffuse” and “Specular” and make them both completely black by entering 0 in for “Value” in the color picker.</li>
<li>Also set the “Specular Level” and the “Glossiness” to 0, just to make sure.</li>
<li>But set the value for “Self Illumination” to 75. You can increase or decrease this value later, when you think the environmental reflection is too weak or too strong.</li>
<li>EDIT: Be sure to click the &#8220;2-Sided&#8221; tickbox unless your sphere will have no inside and hence will leave background and reflections black. Thanks for that, <span class='spancite'>jintriag</span>!</li>
<li>Now click the little grey square just right of “Diffuse” to open the “Map/Material Browser”. Now select “Gradient Ramp” (“Verlaufsart”) and hit “OK”.</li>
<li>Now you can see a smooth ramp from black to white. You can add a color by clicking somewhere into the gradient and a green key appears on the lower side. Double click the green key and the color picker pops up where you can set the color for the key’s position.</li>
<p>To delete a key click it and drag it left or right outside the gradient ramp. It will turn red and the mouse cursor will change to an upside down arrow with a trash bin. Release the mouse button and the key is deleted.</p>
<p>You can also click into the gradient and drag the mouse. This way allows you to pick up an value and drag it around inside the ramp.</p>
<p>It’s pretty easy so you won’t have to play around for long until you’ve figured out how it works. </p>
<li>When you feel familiar with it, try to make the gradient look like mine on the picture below:</li>
<p><img class="aligncenter" title="My Gradient Ramp" alt="My Gradient Ramp" src="http://blog.philstrahl.com/wp-content/uploads/2007/05/20060218_12.jpg" /></p>
<li>Above, in the “Coordinates” section, make sure the “W” angle is set to 90 degrees, like in my picture. It’s pink for better conspicuity.</li>
<p><img class="aligncenter" title="The right angle" alt="The right angle" src="http://blog.philstrahl.com/wp-content/uploads/2007/05/20060218_13.png" /></p>
<li>Great! Now apply your material to the big sphere in your scene, again by dragging the swatch onto the grid of the sphere in a viewport. But we only want to affect our reflection and nothing else.</li>
<li>Close the Material Editor by clicking on the X button in its very upper right.</li>
<li>Right click on the sphere in one of the viewports and select “Properties”. What pops up now may seem rather complicated but we only care about the tickboxes in the group “Rendering Control” (“Rendersteuerung”)</li>
<li>Untick every tickbox in the group “Rendering Control” except “Renderable” and “Visible to Reflection/Refraction”</li>
<li>Click OK – You’re done!</li>
<li>Click into your “Perspective” viewport and hit <i>F9 </i>to render your scene – now with proper reflections on your gold material.</li>
</ol>
<p>Thank you very much!</p>
<p><img class="aligncenter" title="Final Rendering" alt="Final Rendering" src="http://blog.philstrahl.com/wp-content/uploads/2007/05/20060218_14.jpg" /></p>
<h3>Addendum A</h3>
<p>We will only focus on the adjustments that matter for the output quality of the gold material.</p>
<ol>
<li>Hit <em>F10 </em>to open the “Render Scene” dialog box</li>
<li>Click on the tab “Renderer”</li>
<li>Now you can see a long list of sections with tags such as “Brazil: General Options”, “Brazil: Render Pass Control”, “Brazil: Image Sampling” and so forth.</li>
<li>Click on the Tag “Brazil: Image Sampling” to expand that section. Most important for us are the “Min Samples” and the “Max Samples” values.</li>
<p>These values define how many samples per pixel are calculated during rendering. If it is below 0 then only a fraction will be rendered which results in a very rough but faster output. The min value set the minimum of samples per pixels; the max value defines the maximum of computed samples, e.g. for hard contrasts or edges.</p>
<p>There are three presets already set in Brazil, and accessible via the Buttons “P1”, “P2” and “P3”. The worst image quality offers “P1” with the fastest rendering. The line “Min [-8 x -8] Max [1 x 1]&#8221; tells that one rendering sample serves 8 pixels, utmost 1 pixel. </p>
<p>For a better looking preview hit “P2”. Beware that although it looks pretty nice the “Min Samples” value is below 1 and results, especially in animations, in flickering details.</p>
<p>“P3” offers with “Min [2 x 2] Max [4 x 4]” production quality which we want to achieve, but also takes very long to render. </p>
<p>Why more than one sample per pixel I hear you asking. The answer is simple: Quality. The more samples you got for a pixel the closer you can estimate its color. Edges will be very pixelated and either one color, or the other. This is also called “aliasing”. The more samples per pixels you got, the better the renderer can choose in order to make edges smoother (=”Anti-aliasing” or “oversampling”). For a detailed description of anti-aliasing visit <a target="_blank" title="Anti-Aliasing @ Wikipedia" href="http://en.wikipedia.org/wiki/Antialiasing">this Wikipedia site</a>.</p>
<p>Of course, you can change the min/max values after selecting a preset to your needs. Especially when you’re rendering high quality stills, you might even boost the “P3” settings up to Min [4 x 4] Max [8 x 8].</p>
<li>Click “P3” and close the “Brazil: Image Sampling” section via clicking on its label again.</li>
<li>Scroll to the section labeled “Brazil: Luma Server” and expand it, yes, by clicking on its label.</li>
<p>In this section everything concerning lighting is controlled, from direct to indirect lighting, caustics, even global illumination (GI) and sub-surface scattering. Don’t worry, we are only interested in a very view settings.<</p>
<li>Enable the indirect illumination by ticking the box “Enable” just under “Indirect Illumination”.</li>
<p>Indirect Illumination adds a great deal to a scene’s realism. It simulates the light not only emitted from direct scene lights but also the bounced light from other objects. </p>
<div class='boxright'>Indirect Illumination example: A spotlight on a red wall in a room would result in the whole room being lit by the bounced soft red light from the wall. Without GI you would only see the spotlight on the wall, the other side of the room would be completely unlit. More on Global Illumination on <a target="_blank" title="GI on Wikipedia" href="http://en.wikipedia.org/wiki/Global_illumination">this Wikipedia site</a>.</div>
<p>Of course, indirect illumination slows down the whole rendering, but you can define just like with the Image Sampling Rate how you like to sample the GI. </p>
<li>In the group “Global Illumination” you can set the min/max sampling rates for the indirect illumination only. For a fast preview the values “min -4” and “max 0” are okay, but you can expect a little splotchy results, which look like a very compressed JPEG. For a better preview or even production I&#8217;d say staying below 0 saves you time, I suggest “min -2” and “max 0”. Everything above 0 is pure luxury but looks stunning.</li>
</ol>
<p>There’s also a tickbox for locking the sampling rate to the image sampling rate, which is quite practical for previews.</p>
<p>Before rendering your final, you should test a lot the performance with a very small resolution. Don’t waste a lot of time rendering details, nobody will see.</p>
<p>I hope this tutorial was useful to you. If you have anything to add or to comment on just do it – write me a reply below!</p>
<div class="plus-one-wrap"><g:plusone size="medium" href="http://blog.philstrahl.com/2006/02/18/3dsmax6-gold-shader/"></g:plusone></div><p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://blog.philstrahl.com/2006/02/18/3dsmax6-gold-shader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

