<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>elemental ray</title>
	<atom:link href="http://elementalray.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://elementalray.wordpress.com</link>
	<description>Learning to use and enhance your experience with mental ray</description>
	<lastBuildDate>Thu, 23 Feb 2012 09:53:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='elementalray.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>elemental ray</title>
		<link>http://elementalray.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://elementalray.wordpress.com/osd.xml" title="elemental ray" />
	<atom:link rel='hub' href='http://elementalray.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Unified Sampling Redux</title>
		<link>http://elementalray.wordpress.com/2012/01/29/unified-sampling-redux/</link>
		<comments>http://elementalray.wordpress.com/2012/01/29/unified-sampling-redux/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 21:03:41 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[unified sampling]]></category>
		<category><![CDATA[maya]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[optimize]]></category>
		<category><![CDATA[brute force]]></category>

		<guid isPermaLink="false">http://elementalray.wordpress.com/?p=369</guid>
		<description><![CDATA[As a simplified look at using Unified Sampling as a more &#8220;brute force&#8221; method that was outlined here; the below example outlines the differences in time and sampling on a visually trivial scene. This should make some things very easy to understand and quick to read before moving on to lights. In a glossy scene [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=369&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As a simplified look at using <a title="Unified Sampling" href="http://elementalray.wordpress.com/2011/10/31/unified-sampling/" target="_blank">Unified Sampling</a> as a more &#8220;brute force&#8221; method that was outlined <a title="here" href="http://elementalray.wordpress.com/2011/11/30/unified-sampling-visually-for-the-artist/" target="_blank">here</a>; the below example outlines the differences in time and sampling on a visually trivial scene. This should make some things very easy to understand and quick to read before moving on to lights. <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<div id="attachment_371" class="wp-caption aligncenter" style="width: 614px"><a href="http://elementalray.files.wordpress.com/2011/12/bufferbeauty.jpg"><img class="size-full wp-image-371" title="bufferBeauty" src="http://elementalray.files.wordpress.com/2011/12/bufferbeauty.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a><p class="wp-caption-text">Glossy Test Scene</p></div>
<p>In a glossy scene originally rendered at HD 1080, the first frame was rendered with the following settings using all mia_material_x shaders.</p>
<p>Quality 8<br />
Samples Min 1.0<br />
Samples Max 800<br />
Reflection Bounces 2<br />
Shadow Bounces 2</p>
<p>Resulting Time: 48 minutes</p>
<p><strong>In a second test I added these settings:</strong></p>
<p><em>Error Cutoff 0.04</em></p>
<p><em>Resulting Time: 35 minutes</em></p>
<p>The images appeared to be identical to the eye. I ran imf_diff to analyze actual pixel differences with this result:</p>
<p><code>differing pixels: 0.379% (7869 of 2073600)<br />
average difference: 1.265%<br />
maximum difference: 4.632%<br />
Summary: Some pixels differ slightly.<br />
== "glossyA.exr" and "glossyB.exr" are similar</code></p>
<p>So I am pretty happy with the fact that the time savings of 13 minutes resulted in no observable difference.</p>
<p>Below is an explainer graphic of the glossy rays count set for each sphere.</p>
<div id="attachment_370" class="wp-caption aligncenter" style="width: 614px"><a href="http://elementalray.files.wordpress.com/2011/12/bufferbeautysamples.jpg"><img class="size-full wp-image-370" title="bufferBeautySamples" src="http://elementalray.files.wordpress.com/2011/12/bufferbeautysamples.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a><p class="wp-caption-text">Reflection Samples from Shader</p></div>
<p>Below is the Samples Diagnostic framebuffer (tonemapped to work on the internet). You can see that the more &#8220;brute force&#8221; the reflection rays settings, the harder Unified Sampling had to work.</p>
<div id="attachment_372" class="wp-caption aligncenter" style="width: 614px"><a href="http://elementalray.files.wordpress.com/2011/12/buffersamples.jpg"><img class="size-full wp-image-372" title="bufferSamples" src="http://elementalray.files.wordpress.com/2011/12/buffersamples.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a><p class="wp-caption-text">Samples per pixel (brighter is more)</p></div>
<p>Below is the time buffer where the longer it takes to render a pixel, the brighter the resulting pixel in the time buffer.</p>
<div id="attachment_373" class="wp-caption aligncenter" style="width: 614px"><a href="http://elementalray.files.wordpress.com/2011/12/buffertime.jpg"><img class="size-full wp-image-373" title="bufferTime" src="http://elementalray.files.wordpress.com/2011/12/buffertime.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a><p class="wp-caption-text">Time per pixel (brighter is longer)</p></div>
<p>You may also have a better understanding of how Unified will perform consistently across a scene with a single Quality parameter when given a wide range between minimum and maximum samples.(These spheres resemble one another despite having large changes in reflection gloss rays.)</p>
<p>Despite these results you might still notice a little grain on the pure brute force sphere. Add a texture map and you&#8217;ll hardly notice but is there a reasonable balance in a more complex scene?</p>
<p>If you need a completely smooth scene where there are few textures and more of a &#8220;pure&#8221; shader effect, then small increases seem to work well without sacrificing extra time. 2-4 samples works well for this in those special cases. But we find that animation and VFX work do not need this level of detail. This would be for something like print work and large resolutions.</p>
<div id="attachment_378" class="wp-caption aligncenter" style="width: 614px"><a href="http://elementalray.files.wordpress.com/2011/12/bufferbeautybrute.jpg"><img class="size-full wp-image-378" title="bufferBeautyBrute" src="http://elementalray.files.wordpress.com/2011/12/bufferbeautybrute.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a><p class="wp-caption-text">Brute Force Only: 22 minutes at HD 1080</p></div>
<p>&nbsp;</p>
<p>Next we might take a look at lights and how to use them in similar circumstances.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/elementalray.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/elementalray.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/elementalray.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/elementalray.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/elementalray.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/elementalray.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/elementalray.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/elementalray.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/elementalray.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/elementalray.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/elementalray.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/elementalray.wordpress.com/369/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/elementalray.wordpress.com/369/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/elementalray.wordpress.com/369/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=369&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://elementalray.wordpress.com/2012/01/29/unified-sampling-redux/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
	
		<media:thumbnail url="http://elementalray.files.wordpress.com/2011/12/bufferbeauty.jpg?w=150" />
		<media:content url="http://elementalray.files.wordpress.com/2011/12/bufferbeauty.jpg?w=150" medium="image">
			<media:title type="html">bufferBeauty</media:title>
		</media:content>

		<media:content url="http://0.gravatar.com/avatar/e6e0c19977efe9ef90f90d8790ef4fc6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">elementalray</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/12/bufferbeauty.jpg" medium="image">
			<media:title type="html">bufferBeauty</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/12/bufferbeautysamples.jpg" medium="image">
			<media:title type="html">bufferBeautySamples</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/12/buffersamples.jpg" medium="image">
			<media:title type="html">bufferSamples</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/12/buffertime.jpg" medium="image">
			<media:title type="html">bufferTime</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/12/bufferbeautybrute.jpg" medium="image">
			<media:title type="html">bufferBeautyBrute</media:title>
		</media:content>
	</item>
		<item>
		<title>Developing Shaders for Unified Sampling</title>
		<link>http://elementalray.wordpress.com/2012/01/25/developing-shaders-for-unified-sampling/</link>
		<comments>http://elementalray.wordpress.com/2012/01/25/developing-shaders-for-unified-sampling/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 05:36:41 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Developer]]></category>
		<category><![CDATA[unified sampling]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[shader]]></category>
		<category><![CDATA[shader writing]]></category>

		<guid isPermaLink="false">http://elementalray.wordpress.com/?p=469</guid>
		<description><![CDATA[For those of you more interested in the developer side of things; Barton Gawboy has started a thread on optimizing and creating shaders for mental ray that will take advantage of how Unified Sampling works. Take a look here: Developing Shaders for Unified Sampling Even if you aren&#8217;t a developer, you may find the added [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=469&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>For those of you more interested in the developer side of things; Barton Gawboy has started a thread on optimizing and creating shaders for mental ray that will take advantage of how Unified Sampling works.</p>
<p>Take a look here:  <a href="http://forum.mentalimages.com/showthread.php?9016-Developing-shaders-for-unified-sampling" title="Developing Shaders for Unified Sampling" target="_blank">Developing Shaders for Unified Sampling</a></p>
<p>Even if you aren&#8217;t a developer, you may find the added information on how an optimization works to be useful when tuning a scene.</p>
<p><img alt="" src="http://forum.mentalimages.com/images/styles/mentalimages_style_vb4/misc/logo_header_left.gif" title="Nvidia" class="alignnone" width="68" height="54" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/elementalray.wordpress.com/469/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/elementalray.wordpress.com/469/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/elementalray.wordpress.com/469/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/elementalray.wordpress.com/469/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/elementalray.wordpress.com/469/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/elementalray.wordpress.com/469/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/elementalray.wordpress.com/469/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/elementalray.wordpress.com/469/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/elementalray.wordpress.com/469/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/elementalray.wordpress.com/469/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/elementalray.wordpress.com/469/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/elementalray.wordpress.com/469/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/elementalray.wordpress.com/469/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/elementalray.wordpress.com/469/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=469&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://elementalray.wordpress.com/2012/01/25/developing-shaders-for-unified-sampling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6e0c19977efe9ef90f90d8790ef4fc6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">elementalray</media:title>
		</media:content>

		<media:content url="http://forum.mentalimages.com/images/styles/mentalimages_style_vb4/misc/logo_header_left.gif" medium="image">
			<media:title type="html">Nvidia</media:title>
		</media:content>
	</item>
		<item>
		<title>Hot Wheels &#8211; Immersion</title>
		<link>http://elementalray.wordpress.com/2012/01/13/hot-wheels-immersion/</link>
		<comments>http://elementalray.wordpress.com/2012/01/13/hot-wheels-immersion/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 22:19:26 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[maya]]></category>
		<category><![CDATA[The Mill]]></category>
		<category><![CDATA[unified sampling]]></category>

		<guid isPermaLink="false">http://elementalray.wordpress.com/?p=451</guid>
		<description><![CDATA[This is an example of Unified Sampling on a commercial production. These images were rendered with motion blur at HD 1080. Tests using more brute force settings helped lead us to the results we&#8217;ve discussed here: Unified Sampling &#8211; Visually for the Artist We found we could render smooth motion blur (no grain) and at [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=451&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is an example of Unified Sampling on a commercial production.</p>
<div id="attachment_454" class="wp-caption aligncenter" style="width: 614px"><a href="http://elementalray.files.wordpress.com/2012/01/hotwheelsimmersiona.png"><img class="size-full wp-image-454" title="HotWheelsImmersionA" src="http://elementalray.files.wordpress.com/2012/01/hotwheelsimmersiona.png?w=604&#038;h=339" alt="" width="604" height="339" /></a><p class="wp-caption-text">Hot Wheels &quot;Immersion&quot;</p></div>
<p>These images were rendered with motion blur at HD 1080. Tests using more brute force settings helped lead us to the results we&#8217;ve discussed here: <a href="http://elementalray.wordpress.com/2011/11/30/unified-sampling-visually-for-the-artist/" title="Unified Sampling – Visually for the Artist" target="_blank">Unified Sampling &#8211; Visually for the Artist</a> We found we could render smooth motion blur (no grain) and at a savings of 10-15% time per frame.</p>
<p>This piece is also nominated for a Visual Effects Society (VES) award for Best Virtual Cinematography. Congratulations to the team members involved at <a href="http://www.themill.com" title="The Mill" target="_blank">The Mill</a>!</p>
<p>Take a look!  <a href="http://themill.com/work/mattel-hot-wheels-immersion.aspx" target="_blank">Hot Wheels &#8211; Immersion</a></p>
<p><a href="http://elementalray.files.wordpress.com/2012/01/hotwheelsimmersionb.jpg"><img src="http://elementalray.files.wordpress.com/2012/01/hotwheelsimmersionb.jpg?w=604&#038;h=339" alt="" title="hotwheelsimmersionb" width="604" height="339" class="aligncenter size-full wp-image-464" /></a></p>
<p><a href="http://elementalray.files.wordpress.com/2012/01/hotwheelsimmersionc.jpg"><img src="http://elementalray.files.wordpress.com/2012/01/hotwheelsimmersionc.jpg?w=604&#038;h=339" alt="" title="hotwheelsimmersionc" width="604" height="339" class="aligncenter size-full wp-image-465" /></a></p>
<p>All images © Mattel</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/elementalray.wordpress.com/451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/elementalray.wordpress.com/451/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/elementalray.wordpress.com/451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/elementalray.wordpress.com/451/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/elementalray.wordpress.com/451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/elementalray.wordpress.com/451/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/elementalray.wordpress.com/451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/elementalray.wordpress.com/451/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/elementalray.wordpress.com/451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/elementalray.wordpress.com/451/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/elementalray.wordpress.com/451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/elementalray.wordpress.com/451/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/elementalray.wordpress.com/451/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/elementalray.wordpress.com/451/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=451&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://elementalray.wordpress.com/2012/01/13/hot-wheels-immersion/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:thumbnail url="http://elementalray.files.wordpress.com/2012/01/hotwheelsimmersiona.png?w=150" />
		<media:content url="http://elementalray.files.wordpress.com/2012/01/hotwheelsimmersiona.png?w=150" medium="image">
			<media:title type="html">HotWheelsImmersionA</media:title>
		</media:content>

		<media:content url="http://0.gravatar.com/avatar/e6e0c19977efe9ef90f90d8790ef4fc6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">elementalray</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2012/01/hotwheelsimmersiona.png" medium="image">
			<media:title type="html">HotWheelsImmersionA</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2012/01/hotwheelsimmersionb.jpg" medium="image">
			<media:title type="html">hotwheelsimmersionb</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2012/01/hotwheelsimmersionc.jpg" medium="image">
			<media:title type="html">hotwheelsimmersionc</media:title>
		</media:content>
	</item>
		<item>
		<title>fgshooter UI for Maya</title>
		<link>http://elementalray.wordpress.com/2012/01/04/fgshooter-ui-for-maya/</link>
		<comments>http://elementalray.wordpress.com/2012/01/04/fgshooter-ui-for-maya/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 20:53:14 +0000</pubDate>
		<dc:creator>bnrayner</dc:creator>
				<category><![CDATA[final gather]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[fgshooter]]></category>
		<category><![CDATA[production shaders]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://elementalray.wordpress.com/?p=384</guid>
		<description><![CDATA[mip_fgshooter used to achieve flicker free final gather mip_fgshooter is a mental ray production shader that allows you to shoot final gather points from multiple cameras instead of just the render camera.   These virtual FG cameras can greatly reduce flickering by providing stability to final gather points between frames. Increased stability reduces the need for overly aggressive final [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=384&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<span style="text-align:center; display: block;"><a href="http://elementalray.wordpress.com/2012/01/04/fgshooter-ui-for-maya/"><img src="http://img.youtube.com/vi/pK8M0iUbOkE/2.jpg" alt="" /></a></span>
<p style="text-align:center;"><strong>mip_fgshooter used to achieve flicker free final gather</strong></p>
<p><strong>mip_fgshooter</strong> is a mental ray production shader that allows you to shoot final gather points from multiple cameras instead of just the render camera.   These virtual FG cameras can greatly reduce flickering by providing stability to final gather points between frames. Increased stability reduces the need for overly aggressive final gather settings on difficult-to-light situations and can lead to faster render times as well as improved image quality.  This offers similar advantages to baking FG points (see <a title="Flicker-free Final Gather in dynamic animations" href="http://forums.cgsociety.org/showthread.php?f=87&amp;t=976955">Flicker-free Final Gather in dynamic animations</a>) but with a significantly simpler workflow.  Also, I have put together a python script (complete with a user interface!) that will make using the fgshooter easy.</p>
<p>Thanks to <a href="http://themill.com">The Mill</a> for letting me post this script.</p>
<h2>Final Gather Flicker</h2>
<p>Generally, flicker is a result of changing indirect lighting contribution computations between frames.  This indirect contribution computation is based off of the perceived indirect lighting at each of the FG points.  Because the location/number of FG points is camera/geometry dependent, and cameras/geometry move between frames in animation, subtle differences in the locations of the FG points causes flicker.</p>
<p>For instance, if part of the scene geometry is visible to the camera in one frame and not visible in another frame, you might get flickering if the indirect contribution around this geometry is important.  Additional FG cameras that either do not move or can view geometry that might not be visible to the render camera for every frame, enable you to stabilize the indirect lighting contribution computations.</p>
<p>For the HTC advertisement above, the green laser lights that write on the buildings were causing FG flicker because their intensity was so great.  When the camera moved slightly, additional FG points inside the buildings would significantly change the indirect lighting contribution computations.  Even brute force indirect lighting flickered because of the addition/loss of a few primary/eye rays changed the QMC determinism so much!  We used stationary FG shooter cameras to anchor the FG points geometrically and kill the flicker at minimal cost to render time (much faster actually if you consider the original unnecessarily high FG settings).</p>
<h2>Using the fgshooter UI</h2>
<p>First off, you need to expose the mental ray production shaders if you have not already.  To do that, run this simple MEL command and then restart Maya:</p>
<pre>optionVar -intValue "MIP_SHD_EXPOSE" 1;</pre>
<p>Because focal distance and aspect ratio information is passed via the scale attributes of the camera transform matrix to the mip_fgshooter shader, it can be somewhat difficult to use inside of Maya.</p>
<p>I have provided a script that will make it fairly easy to set up an fgshooter camera(s).  To install the script download the compressed python file from the bottom of this post.  Place the unzipped python file inside of one of your script&#8217;s <a title="learn how to import a python script" href="http://www.rtrowbridge.com/blog/2008/11/maya-python-import-scripts/" target="_blank">paths</a>.  Now, create a custom fgshooter button from the shelf editor.  You should only need to add these two lines of code (make sure you select <em>python</em>, not MEL!):</p>
<pre>import fgshooter
fgshooter.ui()</pre>
<div id="attachment_407" class="wp-caption alignright" style="width: 360px"><a href="http://elementalray.files.wordpress.com/2012/01/fgshooter_window.jpg"><img class="size-full wp-image-407  " src="http://elementalray.files.wordpress.com/2012/01/fgshooter_window.jpg?w=604" alt=""   /></a><p class="wp-caption-text">fgshooter UI</p></div>
<p>When you click the fgshooter button that you have just created on the shelf editor, an fgshooter window should pop up.  This window gives you three options of how to create virtual FG cameras:</p>
<ol>
<li>You can create a virtual camera at the same location as the render camera (Include Render Camera).</li>
<li>You can create virtual cameras that are fixed at a certain frame along the path of the render camera (Stationary Cameras).</li>
<li>You can create virtual cameras that are offset in time by a few frames from the render camera (Offset Cameras).</li>
</ol>
<div id="attachment_410" class="wp-caption alignleft" style="width: 370px"><a href="http://elementalray.files.wordpress.com/2012/01/fgshooter_cameras.jpg"><img class="size-full wp-image-410 " src="http://elementalray.files.wordpress.com/2012/01/fgshooter_cameras.jpg?w=604" alt=""   /></a><p class="wp-caption-text">Virtual fgshooter cameras</p></div>
<p>The defaults settings will create 4 virtual FG cameras: 1 at the position of the render camera and 3 stationary cameras at frames 0.0, 12.0, and 24.0.  Specific settings will vary heavily scene to scene.  If you wish to change from this default virtual camera setup, raise or lower the number of stationary or offset cameras and then click &#8220;Update&#8221;.  The UI will now display the corresponding number of slots for each of the types of virtual cameras.  When you are ready to create the actual virtual cameras and mip_fgshooter node network, click &#8220;Apply / Refresh&#8221;.  Since this script is not cumulative, the entire fgshooter setup will change every time you click this button.  This way your scene won&#8217;t accumulate virtual final gather cameras.  You may also remove all virtual cameras/mip_fgshooter/node networks by clicking &#8220;Remove All&#8221;.</p>
<p><em>Note: This script will only create cameras for a non-default camera set as the render camera under render settings.</em></p>
<h2>Offset vs Stationary</h2>
<p>In general, the more stable the final gather points, the more stable the final gather, so it is best to use the stationary cameras in combination with the render camera.  This will be particularly useful for pans where flicker is being caused by small changes in the render camera&#8217;s position and orientation.  For fly-throughs where the render camera&#8217;s position changes greatly, offset cameras may be more useful than stationary cameras.  These offset cameras will help smooth out flicker by providing information from a few frames ahead and a few frames behind the render camera.  You should always include the render camera.</p>
<p><a href="http://dl.dropbox.com/u/43732465/fgshooter.py.zip">fgshooter.py.zip</a></p>
<address><em>version 1.0 &#8211; posted 1/4/12</em></address>
<address><em>version 1.0.1 &#8211; posted 1/7/12</em></address>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/elementalray.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/elementalray.wordpress.com/384/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/elementalray.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/elementalray.wordpress.com/384/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/elementalray.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/elementalray.wordpress.com/384/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/elementalray.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/elementalray.wordpress.com/384/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/elementalray.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/elementalray.wordpress.com/384/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/elementalray.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/elementalray.wordpress.com/384/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/elementalray.wordpress.com/384/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/elementalray.wordpress.com/384/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=384&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://elementalray.wordpress.com/2012/01/04/fgshooter-ui-for-maya/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/798691cc34c13e6d6c666bf2e7251f19?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bnrayner</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2012/01/fgshooter_window.jpg" medium="image" />

		<media:content url="http://elementalray.files.wordpress.com/2012/01/fgshooter_cameras.jpg" medium="image" />
	</item>
		<item>
		<title>mental ray Twitter Feed</title>
		<link>http://elementalray.wordpress.com/2012/01/04/mental-ray-twitter-feed/</link>
		<comments>http://elementalray.wordpress.com/2012/01/04/mental-ray-twitter-feed/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 19:33:58 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[mental ray]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://elementalray.wordpress.com/?p=429</guid>
		<description><![CDATA[It&#8217;s been quiet for awhile, but a little bird tells me the mental ray twitter feed should be more active now. You can find it here: mental ray Twitter<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=429&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been quiet for awhile, but a little bird tells me the mental ray twitter feed should be more active now.</p>
<p>You can find it here: <a title="mental ray Twitter" href="http://twitter.com/#!/mentalray" target="_blank">mental ray Twitter</a></p>
<p><a href="http://twitter.com/#!/mentalray"><img class="alignleft" title="mental ray twitter" src="http://a0.twimg.com/profile_images/1524822230/clonefab3_reasonably_small.jpg" alt="" width="128" height="128" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/elementalray.wordpress.com/429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/elementalray.wordpress.com/429/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/elementalray.wordpress.com/429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/elementalray.wordpress.com/429/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/elementalray.wordpress.com/429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/elementalray.wordpress.com/429/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/elementalray.wordpress.com/429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/elementalray.wordpress.com/429/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/elementalray.wordpress.com/429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/elementalray.wordpress.com/429/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/elementalray.wordpress.com/429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/elementalray.wordpress.com/429/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/elementalray.wordpress.com/429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/elementalray.wordpress.com/429/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=429&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://elementalray.wordpress.com/2012/01/04/mental-ray-twitter-feed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6e0c19977efe9ef90f90d8790ef4fc6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">elementalray</media:title>
		</media:content>

		<media:content url="http://a0.twimg.com/profile_images/1524822230/clonefab3_reasonably_small.jpg" medium="image">
			<media:title type="html">mental ray twitter</media:title>
		</media:content>
	</item>
		<item>
		<title>Optimizations: Lighting and Thresholds</title>
		<link>http://elementalray.wordpress.com/2011/12/18/optimizations-lighting-and-thresholds/</link>
		<comments>http://elementalray.wordpress.com/2011/12/18/optimizations-lighting-and-thresholds/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 02:51:58 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Lighting]]></category>
		<category><![CDATA[maya]]></category>
		<category><![CDATA[Optimization]]></category>
		<category><![CDATA[area light]]></category>
		<category><![CDATA[optimize]]></category>
		<category><![CDATA[physical light]]></category>
		<category><![CDATA[shadow]]></category>

		<guid isPermaLink="false">http://elementalray.wordpress.com/?p=335</guid>
		<description><![CDATA[We will be discussing different ways to optimize scenes for rendering. For this one I will visit an old attribute of the Physical Light shader. You can connect the Physical Light Shader in the area light (or many light types) under the mental ray rollout and under the Custom Shaders rollout (here just attached to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=335&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.duncancarroll.com/lulz/?Qwd=.&amp;Qif=chicago-lights-1191505-xl.jpg&amp;Qiv=num&amp;Qis=FS"><img class="aligncenter size-full wp-image-352" title="chicago-lights-1191505-sm" src="http://elementalray.files.wordpress.com/2011/12/chicago-lights-1191505-sm.jpg?w=604&#038;h=144" alt="National Geographic" width="604" height="144" /></a></p>
<p>We will be discussing different ways to optimize scenes for rendering.</p>
<p>For this one I will visit an old attribute of the Physical Light shader. You can connect the Physical Light Shader in the area light (or many light types) under the mental ray rollout and under the Custom Shaders rollout (here just attached to Light Shader, I am not emitting photons)</p>
<p><a href="http://elementalray.files.wordpress.com/2011/12/arealightconnection.png"><img class="aligncenter size-full wp-image-355" title="areaLightConnection" src="http://elementalray.files.wordpress.com/2011/12/arealightconnection.png?w=604" alt=""   /></a></p>
<p>Here is the default setup for the Physical Light Shader:</p>
<p><a href="http://elementalray.files.wordpress.com/2011/12/physicallight.png"><img class="aligncenter size-full wp-image-356" title="physicalLight" src="http://elementalray.files.wordpress.com/2011/12/physicallight.png?w=604" alt=""   /></a></p>
<p>This attribute is called the Threshold. According to the docs it is described:</p>
<blockquote><p>[threshold] is for optimization: if the illumination is less than threshold, the illumination can be discarded and no shadow rays need to be cast. The default is 0.</p></blockquote>
<p>This means that anything receiving less than the described threshold of light will neither cast shadow rays or add the light from it.</p>
<p>You might think this is handled by the regular falloff of the light where objects outside its influence will not attempt to run the light shader. This isn&#8217;t true. Your renderer is blind to this information and will try the calculation anyway only to return no illumination. (The renderer never knows unless it tries.) So this parameter is a hint that it shouldn&#8217;t even try beyond a certain level of &#8216;darkness&#8217;.</p>
<p><strong>How will this help?</strong></p>
<p>In VFX work you may have expansive scenes as opposed to cozy interiors. In many cases the lights are only going to affect objects nearby (this is true of other scenes than just VFX but means most in these scenarios). If I have 20 practical lights in my scene then my light loop will try to run the list and figure out their contribution. In a case where the lights are expensive (like an area light) this can mean large amounts of rays are traced for lights that are too far away to make a visual difference.</p>
<p>In the below example I have magnified the result so you can see how it helps cut back on expense.</p>
<p><a href="http://elementalray.files.wordpress.com/2011/12/original.jpeg"><img class="aligncenter size-full wp-image-342" title="originalShadows" src="http://elementalray.files.wordpress.com/2011/12/original.jpeg?w=604&#038;h=151" alt="" width="604" height="151" /></a></p>
<p>A close up of this simple scene and a large area light with the physical light attached has a sample limit of 128. This image renders with the following statistics:</p>
<p><code>RC 0.3 info : rendering statistics<br />
RC 0.3 info : type                   number       per eye ray<br />
RC 0.3 info : eye rays               946945              1.00<br />
RC 0.3 info : shadow rays         105251572            <strong>111.15</strong><br />
RC 0.3 info : probe rays            3479348              3.67<br />
RC 0.3 info : fg points interpolated 946945              1.00<br />
RC 0.3  info : wallclock  0:01:12.35 for rendering</code></p>
<p>You can see here that I am casting 111.15 shadow rays (samples for the area light) on average for each eye ray.</p>
<p>So let&#8217;s zoom way out where the light won&#8217;t be able to illuminate the scene.</p>
<p><a href="http://elementalray.files.wordpress.com/2011/12/distanceshot.jpeg"><img class="aligncenter size-full wp-image-343" title="distanceShot" src="http://elementalray.files.wordpress.com/2011/12/distanceshot.jpeg?w=604&#038;h=151" alt="" width="604" height="151" /></a></p>
<p>Now look at the statistics:</p>
<p><code>RC 0.4 info : rendering statistics<br />
RC 0.4 info : type                   number       per eye ray<br />
RC 0.4 info : eye rays               474331              1.00<br />
RC 0.4 info : shadow rays          54898447            <strong>115.74</strong><br />
RC 0.4 info : probe rays             298992              0.63<br />
RC 0.4 info : fg points interpolated 474331              1.00<br />
RC 0.3  info : wallclock  <strong>0:00:29.78</strong> for rendering</code></p>
<p>Ouch, still a lot of rays per eye ray even though there&#8217;s nothing out there. Just a long expanse of flat dark plane.</p>
<p>The renderer knows the area light is out there somewhere. . .and it&#8217;s trying to sample it.</p>
<p>So now let&#8217;s look at the parameter. Generally speaking a good binary search is good for testing settings. Get the frame where you want it and jump halfway to say 0.5 The next test can be 0.25</p>
<p>If you need to go up, go to 0.375; if down go to .125, etc. Each time taking a halfway point to get it where you want visually.</p>
<p>So let&#8217;s say I am eventually going to zoom into the closeup with the cubes. So that is my measure of what I want it to look like at its best. (Assuming I don&#8217;t animate the parameter.) So from the original setting of 0.000 let&#8217;s try 0.5 first and see what makes the most sense.</p>
<div id="attachment_344" class="wp-caption aligncenter" style="width: 614px"><a href="http://elementalray.files.wordpress.com/2011/12/5threshold.jpeg"><img class="size-full wp-image-344" title=".5threshold" src="http://elementalray.files.wordpress.com/2011/12/5threshold.jpeg?w=604&#038;h=151" alt="" width="604" height="151" /></a><p class="wp-caption-text">0.5 Threshold</p></div>
<div id="attachment_345" class="wp-caption aligncenter" style="width: 614px"><a href="http://elementalray.files.wordpress.com/2011/12/25threshold.jpeg"><img class="size-full wp-image-345" title=".25threshold" src="http://elementalray.files.wordpress.com/2011/12/25threshold.jpeg?w=604&#038;h=151" alt="" width="604" height="151" /></a><p class="wp-caption-text">0.25 Threshold</p></div>
<div id="attachment_346" class="wp-caption aligncenter" style="width: 614px"><a href="http://elementalray.files.wordpress.com/2011/12/125threshold.jpeg"><img class="size-full wp-image-346" title=".125threshold" src="http://elementalray.files.wordpress.com/2011/12/125threshold.jpeg?w=604&#038;h=151" alt="" width="604" height="151" /></a><p class="wp-caption-text">0.125 Threshold</p></div>
<div id="attachment_342" class="wp-caption aligncenter" style="width: 614px"><a href="http://elementalray.files.wordpress.com/2011/12/original.jpeg"><img class="size-full wp-image-342" title="originalShadows" src="http://elementalray.files.wordpress.com/2011/12/original.jpeg?w=604&#038;h=151" alt="" width="604" height="151" /></a><p class="wp-caption-text">Original</p></div>
<p>It looks like a threshold of .125 looks pretty identical to the first image. The stats for threshold 0.125 are:</p>
<p><code>RC 0.3 info : rendering statistics<br />
RC 0.3 info : type                   number       per eye ray  <em>original</em><br />
RC 0.3 info : eye rays               946837              1.00      1.00<br />
RC 0.3 info : shadow rays         105195167            <strong>111.10    111.15</strong><br />
RC 0.3 info : probe rays            3478268              3.67      3.67<br />
RC 0.3 info : fg points interpolated 946837              1.00      1.00<br />
RC 0.3  info : wallclock  0:01:06.41 for rendering</code></p>
<p>Ok, there&#8217;s not a huge difference there, but I didn&#8217;t expect one because the images are the same. So now let&#8217;s zoom out again.</p>
<p><code>RC 0.3 info : rendering statistics<br />
RC 0.3 info : type                   number       per eye ray  <em>original (zoomed out)</em><br />
RC 0.3 info : eye rays               514853              1.00      1.00<br />
RC 0.3 info : shadow rays          11272699             <strong>21.89    115.74</strong><br />
RC 0.3 info : probe rays             312064              0.61      0.63<br />
RC 0.3 info : fg points interpolated 514853              1.00      1.00<br />
RC 0.3  info : wallclock  <strong>0:00:13.38</strong> for rendering</code></p>
<p><em>We&#8217;ve gone from over 100 shadows rays to just 22 per eye ray. And the render time was cut in half!</em></p>
<p>Even though this is a trivial scene, you can see that multiple lights spread out across the scene will introduce overhead for areas they don&#8217;t even illuminate. For example, this image below if rendered would be very expensive. But lights down the bridge don&#8217;t contribute to the foreground and vice versa.</p>
<p><a href="http://www.flickr.com/photos/bamawester/182205548/"><img class="alignnone" title="Walking Bridge in Downtown Nashville" src="http://farm1.staticflickr.com/78/182205548_5a04f37a87_z.jpg" alt="" width="640" height="410" /></a></p>
<p>So spending a few minutes using this setting along with <a title="Brute Force-like Sampling" href="http://elementalray.wordpress.com/2011/11/30/unified-sampling-visually-for-the-artist/" target="_blank">Brute Force-like Sampling</a> and Progressive Rendering can help you quickly find a setting you can live with and render much faster than before.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/elementalray.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/elementalray.wordpress.com/335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/elementalray.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/elementalray.wordpress.com/335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/elementalray.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/elementalray.wordpress.com/335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/elementalray.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/elementalray.wordpress.com/335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/elementalray.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/elementalray.wordpress.com/335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/elementalray.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/elementalray.wordpress.com/335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/elementalray.wordpress.com/335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/elementalray.wordpress.com/335/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=335&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://elementalray.wordpress.com/2011/12/18/optimizations-lighting-and-thresholds/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:thumbnail url="http://elementalray.files.wordpress.com/2011/12/chicago-lights-1191505-sm.jpg?w=150" />
		<media:content url="http://elementalray.files.wordpress.com/2011/12/chicago-lights-1191505-sm.jpg?w=150" medium="image">
			<media:title type="html">chicago-lights-1191505-sm</media:title>
		</media:content>

		<media:content url="http://0.gravatar.com/avatar/e6e0c19977efe9ef90f90d8790ef4fc6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">elementalray</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/12/chicago-lights-1191505-sm.jpg" medium="image">
			<media:title type="html">chicago-lights-1191505-sm</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/12/arealightconnection.png" medium="image">
			<media:title type="html">areaLightConnection</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/12/physicallight.png" medium="image">
			<media:title type="html">physicalLight</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/12/original.jpeg" medium="image">
			<media:title type="html">originalShadows</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/12/distanceshot.jpeg" medium="image">
			<media:title type="html">distanceShot</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/12/5threshold.jpeg" medium="image">
			<media:title type="html">.5threshold</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/12/25threshold.jpeg" medium="image">
			<media:title type="html">.25threshold</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/12/125threshold.jpeg" medium="image">
			<media:title type="html">.125threshold</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/12/original.jpeg" medium="image">
			<media:title type="html">originalShadows</media:title>
		</media:content>

		<media:content url="http://farm1.staticflickr.com/78/182205548_5a04f37a87_z.jpg" medium="image">
			<media:title type="html">Walking Bridge in Downtown Nashville</media:title>
		</media:content>
	</item>
		<item>
		<title>Unified Sampling &#8211; Visually for the Artist</title>
		<link>http://elementalray.wordpress.com/2011/11/30/unified-sampling-visually-for-the-artist/</link>
		<comments>http://elementalray.wordpress.com/2011/11/30/unified-sampling-visually-for-the-artist/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 14:59:12 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[maya]]></category>
		<category><![CDATA[unified sampling]]></category>
		<category><![CDATA[artist]]></category>
		<category><![CDATA[diagnostic]]></category>

		<guid isPermaLink="false">http://elementalray.wordpress.com/?p=255</guid>
		<description><![CDATA[Unified Sampling Visually Explained and Practices As a primer for using Unified Sampling, look here: Unified Sampling Unified Sampling is QMC (Quasi-Monte Carlo) image synthesis. Basically: taking samples based on a QMC pattern and decision making process. How can this benefit your work and how can you take advantage of it? Comparing stochastic (random) and QMC [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=255&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Unified Sampling Visually Explained and Practices</strong></p>
<p>As a primer for using Unified Sampling, look here: <a href="http://elementalray.wordpress.com/2011/10/31/unified-sampling/">Unified Sampling</a></p>
<p><strong>Unified Sampling is QMC (Quasi-Monte Carlo) image synthesis.</strong></p>
<p>Basically: taking samples based on a QMC pattern and decision making process.</p>
<p><strong>How can this benefit your work and how can you take advantage of it?</strong></p>
<p>Comparing stochastic (random) and QMC sampling patterns you can see benefit in how QMC avoids clumping and spreads samples out across the image to catch details. (image) One can also control how these samples are scattered inside the algorithm (stratification). <a href="http://elementalray.files.wordpress.com/2011/11/quasi.gif"><img class="alignright size-full wp-image-273" title="quasi" src="http://elementalray.files.wordpress.com/2011/11/quasi.gif?w=604&#038;h=328" alt="" width="604" height="328" /></a></p>
<p>The rendering equation and problems with a complex scene introduce a multi-dimensional problem that Unified Sampling helps resolve through a single control called &#8220;Quality&#8221;. This process is not only in the space dimension (raster space) but in time (motion blur).</p>
<p><strong>So how do you use Quality? What changes occur when you increase Quality?</strong></p>
<p>Quality increases will cause the sampler to concentrate more samples where it perceives the most error. So here I will introduce you to the Diagnostic Framebuffers. For this first explanation we will pay attention to two layers in the Diagnostic: Error and Samples. You can invoke this feature the way you used to, check on the &#8220;Diagnostic&#8221; box in the Render Settings. (image) Except now mental ray will generate a separate EXR file in the following directory on Windows: [User Directory]\projects\project_name\renderData\mentalray\diagnostic.exr</p>
<p style="text-align:center;"><a href="http://elementalray.files.wordpress.com/2011/11/diagnostic.png"><img class="size-full wp-image-274 aligncenter" title="diagnostic" src="http://elementalray.files.wordpress.com/2011/11/diagnostic.png?w=604" alt=""   /></a></p>
<p>Open the .exr in imf_disp.exe  Under the Layer menu select the mr_diagnostic_buffer_error layer. (Alt-2)</p>
<p><a href="http://elementalray.files.wordpress.com/2011/11/errorq-05.jpg"><img class="aligncenter size-full wp-image-289" title="errorQ.05" src="http://elementalray.files.wordpress.com/2011/11/errorq-05.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a></p>
<p>Several things to note:</p>
<ul>
<li>Error is per channel (RGB)</li>
<li>More error is a higher pixel value</li>
<li>Mousing over a pixel will provide you with the error value for the pixel (bottom left of the imf_disp window shows values)</li>
</ul>
<p>You will notice the perceived error centers around noise and contrast changes as well as areas where geometry might meet in raster space (on the screen).</p>
<p>Now what would happen if you increased your Quality? (image)</p>
<p><a href="http://elementalray.files.wordpress.com/2011/11/errorq-2.jpg"><img class="aligncenter size-full wp-image-290" title="errorQ.2" src="http://elementalray.files.wordpress.com/2011/11/errorq-2.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a></p>
<p>A further increase? (image)</p>
<p><a href="http://elementalray.files.wordpress.com/2011/11/errorq-5.jpg"><img class="aligncenter size-full wp-image-291" title="errorQ.5" src="http://elementalray.files.wordpress.com/2011/11/errorq-5.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a></p>
<p>Notice that the areas with the most perceived (or calculated) error are eroded first. This makes sense, you want to resolve those areas without wasting time on areas that are relatively noiseless. It also gets progressively darker as error values decrease.</p>
<p>Now look at the mr_diagnostic_buffer_samples layer. (Alt-3)</p>
<p>It&#8217;s white/blank!?</p>
<p style="text-align:left;">This is an EXR and the values for samples are integers (whole numbers) If your minimal samples are 1.0 then your values will begin at 1.0 (white) for the buffer value &#8216;S&#8217; which are samples. So you can lower the exposure in the top right hand corner (image)</p>
<p style="text-align:left;"><a href="http://elementalray.files.wordpress.com/2011/11/samplessnap.png"><img class=" wp-image-292 aligncenter" title="samplesSnap" src="http://elementalray.files.wordpress.com/2011/11/samplessnap.png?w=483&#038;h=455" alt="" width="483" height="455" /></a></p>
<p style="text-align:left;">I find that -6.0 is a good place to start. Now you should be able to see some sort of grayscale representation of your image. Mouse over these pixels for a value of &#8216;S&#8217;. You can drag the mouse pointer and hold &#8220;alt&#8221; (Windows) to change zooming levels on the fly in imf_disp.  (The versions on the blog are .png or .jpeg for obvious reasons. These values don&#8217;t exist in these web examples.)</p>
<p>Notice these things:</p>
<ul>
<li>Your samples should increase around areas where the error buffer eroded the most error in the frame.</li>
<li>With a max samples of 100 you might not have <em>any </em>pixel with a sample rate of 100 if your Quality did not dictate it. (Quality might not have found it necessary at the current level)</li>
<li>Your sample values are linear. Unlike other implementations of QMC sampling, it is not exponential (4, 16, 64, 256) This means more efficiency. Instead of jumping to samples 64 from 16, maybe the pixel only needs 23 samples. You avoid over-sampling in large jumps.</li>
</ul>
<div><a href="http://elementalray.files.wordpress.com/2011/11/samples5.jpg"><img class="aligncenter size-full wp-image-296" title="samples5" src="http://elementalray.files.wordpress.com/2011/11/samples5.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a></div>
<p><strong>What does this mean for tuning a scene?</strong></p>
<p>This means that all you really need to tune an image is the Quality control. With a wide sample range you can push Quality around without sacrificing efficiency.</p>
<p>This has an added bonus: since your sampling is not a rigid function of samples, you can be assured that frame to frame changes in an animation will have a consistent level of quality to them. Even if a new complex object enters the frame, Unified Sampling will compensate accordingly without you needing to change sample rates.</p>
<p>You now have a consistent level of image quality for shading and anti-aliasing. Once you have chosen your desired Quality you can render unattended and return to correct results. (Less tweaking for quality issues and more time sleeping, my favorite hobby.)</p>
<p><strong>So why do I need Samples at all?</strong></p>
<p>Great question, and honestly there may come a day you won&#8217;t see a samples control at all.</p>
<p>Samples gives you the opportunity to fine tune a particularly difficult scene or object. You can indeed control individual objects with a sample override. Keep in mind that these values are now <em>literal</em> and linear in fashion, not an exponential power function like before. These overrides can also be <em>outside</em> the sample limits of your scene settings for extra flexibility. (image)</p>
<p><a href="http://elementalray.files.wordpress.com/2011/11/samplesoverride.png"><img class="aligncenter size-full wp-image-310" title="samplesOverride" src="http://elementalray.files.wordpress.com/2011/11/samplesoverride.png?w=604" alt=""   /></a></p>
<p>For scenes with a complex or noisy effect, this can give you some added control.</p>
<p><strong>How will this help me with motion blur or depth of field (DOF)?</strong></p>
<p>Motion Blur and DOF are really just noise problems. Unified Sampling will sample these areas where it finds it needs the most samples. What does this mean? Well, in motion blur or DOF there may be areas that are extremely blurry. (image)</p>
<p><a href="http://elementalray.files.wordpress.com/2011/11/grassmia_dof.jpg"><img class="aligncenter size-full wp-image-280" title="DOFgrass" src="http://elementalray.files.wordpress.com/2011/11/grassmia_dof.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a></p>
<p>This means that a loss of detail would result in needing fewer samples. Looking at a diagnostic you&#8217;ll see that very blurry areas may in fact receive very few samples. So the efficiency now extends to all types of problems and dimensions.</p>
<p>So now you understand how Unified Sampling will resolve a lot of problems more easily in your images using a simple, single control.</p>
<p>Using <em>standard workflows</em> you can generally begin with samples min 1.0 and samples max 100.0. These are scalar numbers because samples min &lt; 1.0 will undersample an image. Samples min 0.1 will minimally sample once every 10 pixels for example. Quality 1.0 to 1.5 are generally decent numbers for higher quality renders.</p>
<p><span style="color:#ff6600;"><strong>What about a non-standard workflow? Is there a way to take better advantage of Unified Sampling in how my scene is setup?</strong></span></p>
<p><em>Yes! In fact, this may be the best way to use Unified Sampling for complex scenes:</em></p>
<p>Unified Sampling will &#8220;pick away&#8221; at your scene. Samples are measured against one another and more are generated when necessary, one at a time. You can make your shader settings do the same thing.</p>
<p>Last Example Scene (image)</p>
<p><a href="http://elementalray.files.wordpress.com/2011/11/bruteexample.jpg"><img class="aligncenter size-full wp-image-300" title="bruteExample" src="http://elementalray.files.wordpress.com/2011/11/bruteexample.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a></p>
<p>Note the glossiness. The foil on the walls, leather, and glossy floor. Usually for glossiness we would help the image sampler out by giving the shader additional rays to shoot for a sample called by an eye ray (from the camera). This is also the same for area lights and other effects where local control can be done inside the shader. So imagine an eye ray striking an object and sending 64 rays for a glossy reflection. In a pixel with 16 samples you can expect up to 1024 reflection rays. These rays might strike yet another object and run shaders. . .1024 times. If your ray depths are sufficiently high, you can expect a ray explosion.</p>
<p>Let&#8217;s take a look at another Diagnostic Buffer for Time per pixel in this image. It is labeled mr_diagnostic_buffer_time (image)</p>
<p><a href="http://elementalray.files.wordpress.com/2011/11/timea.jpg"><img class="aligncenter size-full wp-image-301" title="timeA" src="http://elementalray.files.wordpress.com/2011/11/timea.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a></p>
<p>Where shaders force more work from the sampler they can take longer to generate. This is multiplied by the number of samples that may be taken inside that sampler. In the old version where samples would jump large amounts, your time per pixel could be very expensive in leaps and bounds. Each value &#8216;S&#8217; for a pixel is render time in seconds.</p>
<p>What if we decided to let Unified Sampling control the sampling. As an overall control for a frame, Unified Sampling can be done in a more &#8220;brute force&#8221; way. Lower the local samples on the shaders to 1. In this scenario you can strike a pixel maybe 400 times! But in that case the rays sent are only 400 rays. That&#8217;s less than the 1024 we might have seen before with just 16 samples! (This includes lights/shadows. For instance, I used 9 portal lights in a scene where I left their samples at &#8217;1&#8242;, the resulting frame was still under an hour at 720 HD.)</p>
<p><a href="http://elementalray.files.wordpress.com/2011/11/glosssamples.png"><img class="aligncenter size-full wp-image-302" title="glossSamples" src="http://elementalray.files.wordpress.com/2011/11/glosssamples.png?w=604" alt=""   /></a></p>
<p>Crazy!</p>
<p>Here&#8217;s the result. (image)</p>
<p><a href="http://elementalray.files.wordpress.com/2011/11/bruteexamplelow.jpg"><img class="aligncenter size-full wp-image-305" title="bruteExampleLow" src="http://elementalray.files.wordpress.com/2011/11/bruteexamplelow.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a></p>
<p><em>Something here is wrong.</em></p>
<p>Originally we were shooting more samples per eye ray. In some cases this may have been overkill. But now our image doesn&#8217;t look so great despite being faster (3 minutes is pretty fast). Think about it. If my reflection ray count was 64 then a pixel with 5 samples could spawn 320 rays. Well, my samples max of 100 is certainly lower than my 320 rays before (remember, I&#8217;m shooting 1 at a time now).</p>
<p><strong>How do I fix this?</strong></p>
<p>You can first increase your quality. 2.0, 3.0, more, etc. Keep an eye on your image as well as your Samples Diagnostic. <em>We have found Samples Quality of 6.0 to 10.0 works in most cases.</em></p>
<p><em>This is also where you will need to increase your samples max. </em>Just like the scenario above where we might need 320+ rays, we need to raise the limit so Unified can make that decision.</p>
<p>But now you may notice something else. Areas without much contrast might gain samples for no visible reason. (Look at the black areas.) How do you fix that?</p>
<p><strong>There is a rarely used control called Error Cutoff.</strong></p>
<p>This control can be used to tell Unified Sampling to stop taking additional samples when the error calculation reaches a certain limit. Anything <em>beneath</em> this is no longer considered for additional samples. You may recognize this type of control from iRay where it has Error Threshold.</p>
<p>This control is very sensitive and I find that most tweaking happens in the hundredths of a measurement. So I begin with 0.01.  In this example 0.03 was a good stopping point. 0.03 is triple the amount of 0.01 but overall just a tiny change in the control. So be careful when tuning this or you may erode Unified Sampling&#8217;s ability to sample areas that need it. In many cases it is an additional control and not a requirement, but its inclusion is important in difficult scenes.</p>
<p><strong>Will this benefit motion blur and depth of field?</strong></p>
<p>Yes, <em>a lot</em> in most cases.</p>
<p>Now you might be sampling hundreds of times per pixel. Add motion blur and/or depth of field and the effect is much <em>less</em> expensive now. Unified Sampling jitters these samples in time and space for these effects automatically.</p>
<p><strong>Why is it less expensive?</strong></p>
<p>The extra samples you&#8217;re already taking will take into account the temporal sampling of motion blur and the ray direction change (circle of confusion again) for depth of field. So achieving these effects is much less overhead here. You&#8217;re already sending lots of rays. All while maintaining QMC efficiency. Areas of blur in motion blur or DOF where a sample strikes a shader will also generate a single sample for each type of effect, lowering the cost of that sample on the edge of blurry detail.</p>
<p>So now you have an idea of how to use Unified Sampling based on visual examples. You should hopefully find that keeping your samples settings wide and using Quality will simplify your tuning and scene rendering as well as making it faster.</p>
<p>The below image is Motion Blur and Depth of Field. Samples Quality 8.0 with Samples Max 600  Rendertime: 44 minutes at 1280 by 720</p>
<p><a href="http://elementalray.files.wordpress.com/2011/11/mb_n_dofa.jpg"><img class="aligncenter size-full wp-image-306" title="mb_n_dofA" src="http://elementalray.files.wordpress.com/2011/11/mb_n_dofa.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a></p>
<p>Additional Notes:</p>
<ul>
<li>Using Progressive &#8220;on&#8221; and Unified Controls may help you resolve your settings faster but for now I find that I need to increase my Quality more than if I have Progressive &#8220;off&#8221; when using &#8217;1&#8242; local shader sample. But for look dev you can generate a single pass very quickly to check lighting, materials, etc. all at once. It&#8217;s been reported. But in the meantime your Progressive refinements will be freakishly fast! The above image would refine a pass every 9 seconds. So in about 18 seconds I could tell if something was wrong and change it.</li>
<li>Using &#8217;1&#8242; local shader sample is more like a BSDF shader where it samples the scene in a single operation. Current shader models try to collect everything from their environment so one sample at a time is possible but not as good as BSDF.</li>
<li>Combining features that are sampling your scene smartly will increase the speed of your render and result in higher quality renders. Unified Sampling is the basis that can be improved through BSDF shaders, Builtin-IBL, Importons, and other modern techniques that work together both present and future.</li>
<li>Unified Sampling performance is Logarithmic like many brute force type of techniques. This means increases in Quality result in smaller and smaller render time increases as you get to higher numbers. Brute force rendering tests have shown a gain in speed for similar quality to be about 10-15%, we encourage more tests with this workflow. Others are testing this including studio projects where motion blur is key.</li>
<li>Consider using your render output and mr_diagnostic_buffer_time to see areas in your image that might benefit from changes to get a faster render. (Visually insignificant areas that take too long due to expensive effects, lots of shadow rays, etc.) I find the biggest offender for render time are shadow rays in most cases.</li>
</ul>
<p>Brute force wide gloss reflection, 2 bounces (glossy) with the Grace Cathedral HDR. 11 minutes a frame at Quality 12.</p>
<p><a href="http://elementalray.files.wordpress.com/2011/11/trainrefl.jpg"><img class="aligncenter size-full wp-image-316" title="trainRefl" src="http://elementalray.files.wordpress.com/2011/11/trainrefl.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a></p>
<p>Below: Brute Force Portal lights and Ambient Occlusion. The frosted windows are the most difficult to resolve. 57 minutes for this frame (15 of that is indirect illumination calculation). Model can be found here: <a href="http://www.ronenbekerman.com/challenges/architectural-visualization-challenge-i-the-gh-house/">ronenbekerman Render Challenge One</a></p>
<p><a href="http://elementalray.files.wordpress.com/2011/11/portalsc.jpg"><img class="aligncenter size-full wp-image-331" title="portalsC" src="http://elementalray.files.wordpress.com/2011/11/portalsc.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a></p>
<p>Samples: actually still low, averaging less than 100 a pixel, many are in the teens.</p>
<p><a href="http://elementalray.files.wordpress.com/2011/11/roomsamples.jpeg"><img class="aligncenter size-full wp-image-325" title="roomSamples" src="http://elementalray.files.wordpress.com/2011/11/roomsamples.jpeg?w=604&#038;h=339" alt="" width="604" height="339" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/elementalray.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/elementalray.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/elementalray.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/elementalray.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/elementalray.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/elementalray.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/elementalray.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/elementalray.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/elementalray.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/elementalray.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/elementalray.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/elementalray.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/elementalray.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/elementalray.wordpress.com/255/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=255&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://elementalray.wordpress.com/2011/11/30/unified-sampling-visually-for-the-artist/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:thumbnail url="http://elementalray.files.wordpress.com/2011/11/grassmia_dof.jpg?w=150" />
		<media:content url="http://elementalray.files.wordpress.com/2011/11/grassmia_dof.jpg?w=150" medium="image">
			<media:title type="html">DOFgrass</media:title>
		</media:content>

		<media:content url="http://0.gravatar.com/avatar/e6e0c19977efe9ef90f90d8790ef4fc6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">elementalray</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/quasi.gif" medium="image">
			<media:title type="html">quasi</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/diagnostic.png" medium="image">
			<media:title type="html">diagnostic</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/errorq-05.jpg" medium="image">
			<media:title type="html">errorQ.05</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/errorq-2.jpg" medium="image">
			<media:title type="html">errorQ.2</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/errorq-5.jpg" medium="image">
			<media:title type="html">errorQ.5</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/samplessnap.png" medium="image">
			<media:title type="html">samplesSnap</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/samples5.jpg" medium="image">
			<media:title type="html">samples5</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/samplesoverride.png" medium="image">
			<media:title type="html">samplesOverride</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/grassmia_dof.jpg" medium="image">
			<media:title type="html">DOFgrass</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/bruteexample.jpg" medium="image">
			<media:title type="html">bruteExample</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/timea.jpg" medium="image">
			<media:title type="html">timeA</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/glosssamples.png" medium="image">
			<media:title type="html">glossSamples</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/bruteexamplelow.jpg" medium="image">
			<media:title type="html">bruteExampleLow</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/mb_n_dofa.jpg" medium="image">
			<media:title type="html">mb_n_dofA</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/trainrefl.jpg" medium="image">
			<media:title type="html">trainRefl</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/portalsc.jpg" medium="image">
			<media:title type="html">portalsC</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/roomsamples.jpeg" medium="image">
			<media:title type="html">roomSamples</media:title>
		</media:content>
	</item>
		<item>
		<title>The Unified Rasterizer</title>
		<link>http://elementalray.wordpress.com/2011/11/24/the-unified-rasterizer/</link>
		<comments>http://elementalray.wordpress.com/2011/11/24/the-unified-rasterizer/#comments</comments>
		<pubDate>Fri, 25 Nov 2011 00:12:27 +0000</pubDate>
		<dc:creator>bnrayner</dc:creator>
				<category><![CDATA[unified sampling]]></category>
		<category><![CDATA[maya]]></category>
		<category><![CDATA[rasterizer]]></category>
		<category><![CDATA[mental ray]]></category>

		<guid isPermaLink="false">http://elementalray.wordpress.com/?p=88</guid>
		<description><![CDATA[If you read my post on unified sampling you might have heard me talking about using the unified sampling settings to control the rasterizer.  While it is important to note that there is no difference between how the regular rasterizer and unified rasterizer work, it is convenient to be able to control all of mental ray&#8217;s [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=88&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="attachment_233" class="wp-caption aligncenter" style="width: 614px"><a href="http://elementalray.files.wordpress.com/2011/11/skeletons2.jpg"><img class="size-full wp-image-233" title="skeletons" src="http://elementalray.files.wordpress.com/2011/11/skeletons2.jpg?w=604&#038;h=340" alt="" width="604" height="340" /></a><p class="wp-caption-text">Skeletons from the TV series Merlin - rendered with the rasterizer</p></div>
<p>If you read my post on <a href="http://elementalray.wordpress.com/2011/10/31/unified-sampling/">unified sampling</a> you might have heard me talking about using the unified sampling settings to control the rasterizer.  While it is important to note that there is no difference between how the regular rasterizer and unified rasterizer work, it is convenient to be able to control all of mental ray&#8217;s primary rendering modes using the same set of controls.  Thus I will explore the rasterizer from a unified point of view.</p>
<h2>Why Use the Rasterizer?</h2>
<p>With unified sampling, it&#8217;s clever error estimation, and it&#8217;s fast ray traced motion blur, you may be wondering why care about the rasterizer?  You should care because ray traced motion blur will inherently have a certain about of grain and it will never be super-duper fast.  For those projects with heavy motion blur, render time limitations, and perfectly smooth expectations, I welcome you to the world of scanline-based rasterization.</p>
<p>Technically speaking, the rasterizer achieves motion blur performance improvements over adaptive ray tracing by separating the shading component of sampling from the antialiasing component of sampling.  So, within a given frame, tessellated objects can be shaded, sampled, moved, and sampled again without the need for additional shading.  This resulting faster render time is because of the decreased amount of shading calls.  The resulting smoother motion blur is because the tessellation was essentially slid across the pixel/tile.  Despite these advantages, the result is not as physically correct as ray tracing which shades at every sample point.</p>
<p>You can read more about this in the mental ray documentation that comes with Maya.</p>
<p>It is also important to note that the scanline-based rasterization approach to rendering is not as efficient at tracing rays as a ray traced approach is.  For this reason the rasterizer will suffer with reflections and refractions while unified sampling will shine.</p>
<h2>How to Enable the Unified Rasterizer</h2>
<p>To enable the unified rasterizer you need to turn on <a href="http://elementalray.wordpress.com/category/unified-sampling/">unified sampling</a> (currently implemented with <a href="http://elementalray.wordpress.com/2011/10/31/string-options/">string options</a>) and switch the Primary renderer to &#8220;Rasterizer&#8221; (Render Settings &gt; Features &gt; Primary Renderer).</p>
<h2>Antialiasing Rasterizer Controls</h2>
<p>When using the unified rasterizer, you only need to consider one setting to control antialiasing sample quality: &#8220;samples max&#8221;</p>
<div>
<div>
<div>&#8220;samples max&#8221;</div>
</div>
</div>
<ul>
<li>&#8220;samples max&#8221; replaces &#8220;visibility samples&#8221; aka &#8220;samples collect&#8221;.</li>
<li>While &#8220;samples max&#8221; acts as a limit in regular unified, here it controls the absolute number of antialiasing samples taken per pixel.</li>
<li>The value is truncated to the nearest square number of lesser or equal value. i.e. 16.0 → 16, 32.5 → 25, 99.9  → 81, 100.0  → 100, etc&#8230;</li>
<li>&#8220;production quality&#8221; lies somewhere around 25.0 or 36.0.  Use lower values for faster previews or higher values for difficult renders.</li>
<li>scalar, defaults to 100.0</li>
</ul>
<h2>Shading Rasterizer Controls</h2>
<div>
<div>
<div>
<p>The main setting that you need to consider for shading sample quality is &#8220;samples quality&#8221;.</p>
</div>
<div>&#8220;samples quality&#8221;</div>
<div>
<ul>
<li>&#8220;samples quality&#8221; replaces &#8220;shading quality&#8221; aka &#8220;shading samples&#8221;.</li>
<li>While &#8220;samples quality&#8221; controls error allowance between samples and pixels in regular unified, here it approximates the number of shading triangles per pixel.</li>
<li>A value of 1.o corresponds to about 1 shader call per pixel per time sample.  2.0 corresponds to 2 shader calls per pixel per time sample. 0.5 corresponds to 1 shader call per 2 pixels per time sample. Etc.</li>
<li>scalar, default to 1.0</li>
</ul>
</div>
<h2>Additional Shading Optimization</h2>
</div>
<div>&#8220;time samples&#8221;</div>
<div>
<ul>
<li>&#8220;time samples&#8221;/&#8221;time contrast&#8221; is also known as &#8220;samples motion&#8221;.</li>
<li>While &#8220;time samples&#8221; is ignored in regular unified, here it controls the number of times the tessellated triangles will be shaded over the motion blur shutter interval.</li>
<li>While it is beneficial to leave this setting at 1.0, sometimes it is necessary to raise this setting to avoid animation artifacts cause by dragging the shaded tessellations to create blur.</li>
<li>This is integrated in the Maya UI under Render Settings &gt; Quality &gt; Motion Blur &gt; Time Samples.  scalar, defaults to 1.0</li>
<li><em>Note: this setting has a different meaning with the rasterizer than it does with AA sampling.  Similar to unified, each sample is QMC jittered in time when using the rasterizer.</em></li>
</ul>
<p>&#8220;rast motion factor&#8221;</p>
<ul>
<li>When enabled, &#8220;rast motion factor&#8221; allows you to raise or lower the amount of shading samples performed for fast moving geometry.</li>
<li>This allows you to limit shading samples where the detail would otherwise be lost in the blur.</li>
<li>Shading samples performed scale linearly with &#8220;rast motion factor&#8221; and the speed of the moving geometry.</li>
<li>scalar, defaults to 1.0.  0.0 is disabled.</li>
</ul>
<div>
<div><em>Note: &#8220;samples min&#8221; and &#8220;samples error cutoff&#8221; are ignored when using the unified rasterizer. Jitter, however, is no longer ignored and should be enabled for increased optimization.</em></div>
</div>
<div><em><br />
</em></div>
</div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/elementalray.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/elementalray.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/elementalray.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/elementalray.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/elementalray.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/elementalray.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/elementalray.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/elementalray.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/elementalray.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/elementalray.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/elementalray.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/elementalray.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/elementalray.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/elementalray.wordpress.com/88/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=88&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://elementalray.wordpress.com/2011/11/24/the-unified-rasterizer/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/798691cc34c13e6d6c666bf2e7251f19?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">bnrayner</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/skeletons2.jpg" medium="image">
			<media:title type="html">skeletons</media:title>
		</media:content>
	</item>
		<item>
		<title>Unified Rendering &#8211; Toyota &#8220;Built&#8221;</title>
		<link>http://elementalray.wordpress.com/2011/11/23/unified-rendering-toyota-built/</link>
		<comments>http://elementalray.wordpress.com/2011/11/23/unified-rendering-toyota-built/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 00:30:38 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[maya]]></category>
		<category><![CDATA[unified sampling]]></category>
		<category><![CDATA[commercial]]></category>
		<category><![CDATA[practical]]></category>
		<category><![CDATA[vfx]]></category>
		<category><![CDATA[visual effects]]></category>

		<guid isPermaLink="false">http://elementalray.wordpress.com/?p=189</guid>
		<description><![CDATA[Rendered in mental ray 3.9 and Unified Sampling with motion blur. The portion with the engine block being assembled was 2 hours a frame with motion blur at 1080HD<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=189&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<span style="text-align:center; display: block;"><a href="http://elementalray.wordpress.com/2011/11/23/unified-rendering-toyota-built/"><img src="http://img.youtube.com/vi/X0dPeZxSy0M/2.jpg" alt="" /></a></span>
<p style="text-align:center;"><strong>Rendered in mental ray 3.9 and Unified Sampling with motion blur.</strong></p>
<p style="text-align:center;">The portion with the engine block being assembled was 2 hours a frame with motion blur at 1080HD</p>
<p style="text-align:center;"><a href="http://elementalray.files.wordpress.com/2011/11/toyotabuilt.jpg"><img class="aligncenter size-full wp-image-195" title="toyotaBuilt" src="http://elementalray.files.wordpress.com/2011/11/toyotabuilt.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/elementalray.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/elementalray.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/elementalray.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/elementalray.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/elementalray.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/elementalray.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/elementalray.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/elementalray.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/elementalray.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/elementalray.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/elementalray.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/elementalray.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/elementalray.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/elementalray.wordpress.com/189/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=189&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://elementalray.wordpress.com/2011/11/23/unified-rendering-toyota-built/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6e0c19977efe9ef90f90d8790ef4fc6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">elementalray</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/toyotabuilt.jpg" medium="image">
			<media:title type="html">toyotaBuilt</media:title>
		</media:content>
	</item>
		<item>
		<title>Linear Color Workflow(s) in Maya &#8211; Part 2: The Preferred Method</title>
		<link>http://elementalray.wordpress.com/2011/11/23/linear-color-workflows-in-maya-part-2-the-preferred-method/</link>
		<comments>http://elementalray.wordpress.com/2011/11/23/linear-color-workflows-in-maya-part-2-the-preferred-method/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 22:36:55 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[colorspace]]></category>
		<category><![CDATA[maya]]></category>

		<guid isPermaLink="false">http://elementalray.wordpress.com/?p=182</guid>
		<description><![CDATA[Continued from Part 1: Maya Tools Now we have the part that is the most robust and effective but more complicated. The preferred method (and one you may find at a visual effects studio with a color pipeline.) Photoshop -&#62; Linearize in Nuke based on destination color space -&#62; Render (view through LUT) -&#62; Composite [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=182&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://elementalray.wordpress.com/2011/11/23/linear-color-workflows-in-maya/">Continued from Part 1: Maya Tools</a></p>
<p>Now we have the part that is the most robust and effective but more complicated.</p>
<p><span style="color:#ff6600;"><strong>The preferred method (and one you may find at a visual effects studio with a color pipeline.)</strong></span></p>
<p><strong>Photoshop -&gt; Linearize in Nuke based on <em>destination color space </em>-&gt; Render (view through LUT) -&gt; Composite (view with correct LUT) -&gt; Output to correct Color space</strong></p>
<div id="attachment_150" class="wp-caption alignright" style="width: 614px"><a href="http://elementalray.files.wordpress.com/2011/11/nukecolorspace.png"><img class="size-full wp-image-150 " style="border-color:white;border-style:solid;border-width:1px;" title="nukeColorspace" src="http://elementalray.files.wordpress.com/2011/11/nukecolorspace.png?w=604&#038;h=393" alt="" width="604" height="393" /></a><p class="wp-caption-text">Nuke Color Space Node</p></div>
<p>After painting your textures in Photoshop, take them into Nuke. Nuke has a &#8220;colorspace&#8221; node where you can specify the output color space and even white point.  Write the file out in the linear format. Preferably to an EXR that can be later cached and mipmapped (for a later post).</p>
<p>If you are on a project with a specific LUT/Color space you will have to linearize the textures based on <em>that</em> color space. This way when it is viewed through the LUT it will look as expected based on what you painted. You notice that the Maya selections mention linearization based on &#8220;primaries&#8221; as well as just a gamma curve. LUTs may alter the primaries for the correct source such as DCI-P3. Your Digital Supervisor will generate one of these for use. How to make one is beyond the scope of this tutorial since it delves into Nuke too much.</p>
<div id="attachment_153" class="wp-caption aligncenter" style="width: 614px"><a href="http://elementalray.files.wordpress.com/2011/11/hereafter.jpg"><img class="size-full wp-image-153 " style="border-color:white;border-style:solid;border-width:5px;" title="hereafter" src="http://elementalray.files.wordpress.com/2011/11/hereafter.jpg?w=604&#038;h=257" alt="" width="604" height="257" /></a><p class="wp-caption-text">Hereafter, DCI-P3 color space</p></div>
<p>Load these into your texture nodes inside Maya after linearized.</p>
<p>What about the color picker? That&#8217;s a sticky problem, you can approximate the gamma of your destination. Generally &#8220;good enough&#8221;. Then use the Renderview Color Management to load the LUT for viewing as you render.</p>
<div id="attachment_155" class="wp-caption alignright" style="width: 459px"><a href="http://elementalray.files.wordpress.com/2011/11/inputprocess.png"><img class="size-full wp-image-155 " title="inputProcess" src="http://elementalray.files.wordpress.com/2011/11/inputprocess.png?w=604" alt=""   /></a><p class="wp-caption-text">Nuke Input Process (IP). To the left is also the default Viewer Controls</p></div>
<p><em>Take care that your output colorspace is what your LUT is designed to use, be it Linear or Logarithmic (Cineon Log format) Your input will be the best Linear approximation as created by Nuke</em>. <em>Example: Use logarithmic when your LUT expects Cineon formats.</em></p>
<p>Render away and your passes will automatically be output in linear form (EXR 16-bit half please!) Load these into your compositing package and view the compositing process through the correct color space. Nuke has several processes for this, but the input_process is preferred. (image)</p>
<p>You now have a color correct pipeline where you are rendering with the correct linear textures and viewing them like they will appear in your final project.</p>
<p>This means color correct decisions can be made during all phases. This reduces artist &#8220;guessing&#8221; and surprises. Your images will operate correctly inside the renderer and with some care in choosing your materials, it will be physically plausible and achieve photo realism more quickly. You also alleviate extra trouble where compositors were relighting scenes as opposed to integrating elements. It should look like the below flow but feel like Heaven. . .maybe.</p>
<p><strong>Paint (sRGB) -&gt; Linearize based on final colorpsace -&gt; Render (linear) -&gt; Composite (linear) -&gt; Output (sRGB or Specific Colorspace)</strong></p>
<p>Some Simple Examples:</p>
<div id="attachment_157" class="wp-caption aligncenter" style="width: 614px"><a href="http://elementalray.files.wordpress.com/2011/11/chair_linear.jpg"><img class="size-full wp-image-157" title="chair_linear" src="http://elementalray.files.wordpress.com/2011/11/chair_linear.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a><p class="wp-caption-text">Original Workflow</p></div>
<p><strong>The original workflow was simple: Paint your textures and render.</strong> The problem here is that the image is dark and the lighting is blown-out in comparison. When complicated with physically inaccurate shaders the result was a look that could take hours to &#8220;eyeball&#8221; to a plausible solution.</p>
<div id="attachment_159" class="wp-caption aligncenter" style="width: 614px"><a href="http://elementalray.files.wordpress.com/2011/11/chair_srgbincorrect.jpg"><img class="size-full wp-image-159" title="chair_sRGBincorrect" src="http://elementalray.files.wordpress.com/2011/11/chair_srgbincorrect.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a><p class="wp-caption-text">sRGB textures rendered to sRGB</p></div>
<p><strong>Corrected to sRGB from sRGB painted textures: Quick fix, right?</strong> No, now everything is &#8220;double&#8221; corrected. 2+2=5 so-to-speak. Everything washes out while your black and white areas are unchanged. This also means your lighting will be much too strong and wash out entire areas of your scene.</p>
<div id="attachment_160" class="wp-caption aligncenter" style="width: 614px"><a href="http://elementalray.files.wordpress.com/2011/11/chair_linear2linear.jpg"><img class="size-full wp-image-160" title="chair_linear2linear" src="http://elementalray.files.wordpress.com/2011/11/chair_linear2linear.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a><p class="wp-caption-text">Linear textures rendered and viewed in Linear color space</p></div>
<p><strong>Rendered with the correct linearized textures but viewed incorrectly.</strong> Now it&#8217;s certainly too dark. But your overall contrast and lighting information are correct. As a 16-bit half floating point image you can easily correct and view this result.</p>
<div id="attachment_161" class="wp-caption aligncenter" style="width: 614px"><a href="http://elementalray.files.wordpress.com/2011/11/chair_srgbcorrect.jpg"><img class="size-full wp-image-161" title="chair_sRGBcorrect" src="http://elementalray.files.wordpress.com/2011/11/chair_srgbcorrect.jpg?w=604&#038;h=339" alt="" width="604" height="339" /></a><p class="wp-caption-text">Correct lighting and linearized textures viewed in sRGB color space</p></div>
<p><strong>Linear to sRGB rendered and viewed correctly.</strong> You have a wider range of values and contrast without anything being washed out.</p>
<p>Additional notes:</p>
<ul>
<li>You do not need to render through a lens shader for sampling reasons. mental ray samples internally in perceptual space automatically. In combination with <a href="http://elementalray.wordpress.com/2011/10/31/unified-sampling/">Unified Sampling</a>, correctly rendered images should be free of artifacts. However, if you are rendering directly for beauty to an 8-bit image format then it would benefit you to render with your color space baked in (in the render). Post operations to correct a lower bit depth image will introduce artifacts and banding.</li>
<li>No real mention of using a lens shader for anything else aesthetically. Well, when rendering for beauty the mia_exposure_photographic lens shader is very nice. But a 2D package like Nuke or Lightroom has much more powerful tools to give you the look and color grading you desire.</li>
<li>There is a framebuffer gamma setting in the Render Settings. Ignore it. Using this control will apply a gamma correction to your inputs overall and will cause undesirable artifacts.</li>
<li>Output passes (diffuse, specular, etc.) are not affected by the lens shader. Correct. These passes are meant for compositing operations. As mentioned previously, these operations should be done in linear color space so that your results are correct. Then output to the desired color space at the end. Ideally these operations should be additive.</li>
<li>The color picker being sRGB is a bit of an issue that complicates things, it might be nice to log a Suggestion for Autodesk to further refine the linear workflow controls and actions. Under the hood these colors are most likely floating point.</li>
<li>The easiest way to understand what should be corrected are colors/textures that will be seen as some sort of color in the final rendered effect. Bumps, displacement, cutout maps, etc are not seen as a color in the final render and can be left alone.</li>
<li>Normalized colors (range 0-1) are best for diffuse textures. In Nuke you can normalize a texture as well as change the color space. Emissive textures (like an HDR environment) should <em>not</em> be normalized. This will defeat the purpose of having that lighting information. It will flatten out your lighting. This is also true of geometry sources of light where you apply a texture as a light. But these textures should still be linear color space.</li>
<li>If you have a plate you are rendering with (or environment), it needs to be linearized correctly if you are going to use it in the renderer and later corrected. Otherwise you will accidentally double correct it. Maya is primarily a VFX package so it assumes you will composite your results later. It&#8217;s a best practice to hide the primary visibility of these elements so they can be added again in the compositing stage and not inside Maya.</li>
<li>If you always paint a texture in sRGB space and linearize it, then output to a different color space, there will be some difference in what you painted versus the final output. The solution there is to work and view your texture in the final color space as you paint. This isn&#8217;t always easy to do in something like Photoshop unless you have a correct working color space and calibrated monitor.</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/elementalray.wordpress.com/182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/elementalray.wordpress.com/182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/elementalray.wordpress.com/182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/elementalray.wordpress.com/182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/elementalray.wordpress.com/182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/elementalray.wordpress.com/182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/elementalray.wordpress.com/182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/elementalray.wordpress.com/182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/elementalray.wordpress.com/182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/elementalray.wordpress.com/182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/elementalray.wordpress.com/182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/elementalray.wordpress.com/182/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/elementalray.wordpress.com/182/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/elementalray.wordpress.com/182/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=elementalray.wordpress.com&amp;blog=28839073&amp;post=182&amp;subd=elementalray&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://elementalray.wordpress.com/2011/11/23/linear-color-workflows-in-maya-part-2-the-preferred-method/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e6e0c19977efe9ef90f90d8790ef4fc6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">elementalray</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/nukecolorspace.png" medium="image">
			<media:title type="html">nukeColorspace</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/hereafter.jpg" medium="image">
			<media:title type="html">hereafter</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/inputprocess.png" medium="image">
			<media:title type="html">inputProcess</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/chair_linear.jpg" medium="image">
			<media:title type="html">chair_linear</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/chair_srgbincorrect.jpg" medium="image">
			<media:title type="html">chair_sRGBincorrect</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/chair_linear2linear.jpg" medium="image">
			<media:title type="html">chair_linear2linear</media:title>
		</media:content>

		<media:content url="http://elementalray.files.wordpress.com/2011/11/chair_srgbcorrect.jpg" medium="image">
			<media:title type="html">chair_sRGBcorrect</media:title>
		</media:content>
	</item>
	</channel>
</rss>
