<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: linear workflow and gamma update</title>
	<atom:link href="http://www.djx.com.au/blog/2008/10/06/linear-workflow-and-gamma-update/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.djx.com.au/blog/2008/10/06/linear-workflow-and-gamma-update/</link>
	<description>more serious than before (in a good way)</description>
	<lastBuildDate>Thu, 26 Jan 2012 13:50:37 +1100</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
	<item>
		<title>By: david</title>
		<link>http://www.djx.com.au/blog/2008/10/06/linear-workflow-and-gamma-update/comment-page-1/#comment-10422</link>
		<dc:creator>david</dc:creator>
		<pubDate>Tue, 01 Sep 2009 10:45:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.djx.com.au/blog/?p=101#comment-10422</guid>
		<description>You were so close. That short line with just return &quot;&quot;; needs to come after your edit, rather than before, otherwise it never gets to your code.

There is an easier way though. In 2009 you can just enter the following into the maya script editor, to expose all the production shaders:

optionVar -iv “MIP_SHD_EXPOSE” 1;

You may have to reopen the hypershade (or even restart maya) to see them though.</description>
		<content:encoded><![CDATA[<p>You were so close. That short line with just return ""; needs to come after your edit, rather than before, otherwise it never gets to your code.</p>
<p>There is an easier way though. In 2009 you can just enter the following into the maya script editor, to expose all the production shaders:</p>
<p>optionVar -iv “MIP_SHD_EXPOSE” 1;</p>
<p>You may have to reopen the hypershade (or even restart maya) to see them though.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: smokedogg</title>
		<link>http://www.djx.com.au/blog/2008/10/06/linear-workflow-and-gamma-update/comment-page-1/#comment-10421</link>
		<dc:creator>smokedogg</dc:creator>
		<pubDate>Mon, 31 Aug 2009 23:00:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.djx.com.au/blog/?p=101#comment-10421</guid>
		<description>Well im glad I asked that then because I wasnt sure. I tried following your instructions on how to access that node in the hypershade from your previous blog, but for whatever reason I think im doing something wrong. Wanted to copy and paste or attach my script file onto here but I cant, obviously. Is there a way you can send me the script for the &quot;mentalrayCustomNodeClass&quot;? Here is what I have though:
	// Internal MentalRay Nodes. Not meant to be used with Maya.
	int $enableMIPShaders = (`optionVar -query &quot;MIP_SHD_EXPOSE&quot;`== 1);

	if ((($nodeType == &quot;mip_rayswitch&quot; &#124;&#124;
	    $nodeType == &quot;mip_rayswitch_advanced&quot; &#124;&#124;
	    $nodeType == &quot;mip_rayswitch_environment&quot; &#124;&#124;
	    $nodeType == &quot;mip_card_opacity&quot; &#124;&#124;
	    $nodeType == &quot;mip_motionblur&quot; &#124;&#124;
	    $nodeType == &quot;mip_matteshadow&quot; &#124;&#124;
	    $nodeType == &quot;mip_cameramap&quot; &#124;&#124;
	    $nodeType == &quot;mip_mirrorball&quot; &#124;&#124;
	    $nodeType == &quot;mip_grayball&quot; &#124;&#124;
	    $nodeType == &quot;mip_gamma_gain&quot; &#124;&#124;
	    $nodeType == &quot;mip_render_subset&quot; &#124;&#124;
	    $nodeType == &quot;mip_matteshadow_mtl&quot; &#124;&#124;
	    $nodeType == &quot;mip_motion_vector&quot; &#124;&#124;
	    $nodeType == &quot;mip_binaryproxy&quot;) &amp;&amp;
	    $enableMIPShaders == 0 ) &#124;&#124;		
	    $nodeType == &quot;misss_physical_phen&quot;  &#124;&#124;
	    $nodeType == &quot;mi_metallic_paint_output_mixer&quot; &#124;&#124;
	    $nodeType == &quot;surfaceSampler&quot; )

		return &quot;rendernode/mentalray/internal&quot;;

	return &quot;&quot;;
      
      if ($nodeType == &quot;mip_gamma_gain&quot; )
            return &quot;rendernode/mentalray/material:shader/surface:swatch/mentalRaySwatchGen&quot;;
}

Is this the inncorrect way of how it is in order or something?
Thank you very much Dave!</description>
		<content:encoded><![CDATA[<p>Well im glad I asked that then because I wasnt sure. I tried following your instructions on how to access that node in the hypershade from your previous blog, but for whatever reason I think im doing something wrong. Wanted to copy and paste or attach my script file onto here but I cant, obviously. Is there a way you can send me the script for the "mentalrayCustomNodeClass"? Here is what I have though:<br />
	// Internal MentalRay Nodes. Not meant to be used with Maya.<br />
	int $enableMIPShaders = (`optionVar -query "MIP_SHD_EXPOSE"`== 1);</p>
<p>	if ((($nodeType == "mip_rayswitch" ||<br />
	    $nodeType == "mip_rayswitch_advanced" ||<br />
	    $nodeType == "mip_rayswitch_environment" ||<br />
	    $nodeType == "mip_card_opacity" ||<br />
	    $nodeType == "mip_motionblur" ||<br />
	    $nodeType == "mip_matteshadow" ||<br />
	    $nodeType == "mip_cameramap" ||<br />
	    $nodeType == "mip_mirrorball" ||<br />
	    $nodeType == "mip_grayball" ||<br />
	    $nodeType == "mip_gamma_gain" ||<br />
	    $nodeType == "mip_render_subset" ||<br />
	    $nodeType == "mip_matteshadow_mtl" ||<br />
	    $nodeType == "mip_motion_vector" ||<br />
	    $nodeType == "mip_binaryproxy") &amp;&amp;<br />
	    $enableMIPShaders == 0 ) ||<br />
	    $nodeType == "misss_physical_phen"  ||<br />
	    $nodeType == "mi_metallic_paint_output_mixer" ||<br />
	    $nodeType == "surfaceSampler" )</p>
<p>		return "rendernode/mentalray/internal";</p>
<p>	return "";</p>
<p>      if ($nodeType == "mip_gamma_gain" )<br />
            return "rendernode/mentalray/material:shader/surface:swatch/mentalRaySwatchGen";<br />
}</p>
<p>Is this the inncorrect way of how it is in order or something?<br />
Thank you very much Dave!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: david</title>
		<link>http://www.djx.com.au/blog/2008/10/06/linear-workflow-and-gamma-update/comment-page-1/#comment-10420</link>
		<dc:creator>david</dc:creator>
		<pubDate>Thu, 27 Aug 2009 12:18:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.djx.com.au/blog/?p=101#comment-10420</guid>
		<description>Maya&#039;s color swatches are designed to look correct on a sRGB monitor, and that means they are like an 8-bit sRGB fileTexture, so they will need to be degamma&#039;d to work in a linear color space. If you want accuracy you could use a mip_gamma_gain connected to your diffuse color. Set your swatch in the mip_gamma_gain and set a 0.455 gamma.
I rarely do that though. I just have an educated guess and lower the value of the diffuse color and do a test render.</description>
		<content:encoded><![CDATA[<p>Maya's color swatches are designed to look correct on a sRGB monitor, and that means they are like an 8-bit sRGB fileTexture, so they will need to be degamma'd to work in a linear color space. If you want accuracy you could use a mip_gamma_gain connected to your diffuse color. Set your swatch in the mip_gamma_gain and set a 0.455 gamma.<br />
I rarely do that though. I just have an educated guess and lower the value of the diffuse color and do a test render.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: smokedogg</title>
		<link>http://www.djx.com.au/blog/2008/10/06/linear-workflow-and-gamma-update/comment-page-1/#comment-10419</link>
		<dc:creator>smokedogg</dc:creator>
		<pubDate>Thu, 27 Aug 2009 01:40:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.djx.com.au/blog/?p=101#comment-10419</guid>
		<description>Hey David,
Well doing as you said with the 50% gray example was a great way to test and worked out great. Cleared up some of those questions and got a better understanding of the whole concept. However, I do still have 1 more question. I think this is a dumb question but arent 100% sure of the answer. In my scene i have a couple mia materials using just the diffuse for the color. Do I need a gamma correct node on those? Or are those shaders rendered gamma correctly at there defaults? Thanks!</description>
		<content:encoded><![CDATA[<p>Hey David,<br />
Well doing as you said with the 50% gray example was a great way to test and worked out great. Cleared up some of those questions and got a better understanding of the whole concept. However, I do still have 1 more question. I think this is a dumb question but arent 100% sure of the answer. In my scene i have a couple mia materials using just the diffuse for the color. Do I need a gamma correct node on those? Or are those shaders rendered gamma correctly at there defaults? Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: smokedogg</title>
		<link>http://www.djx.com.au/blog/2008/10/06/linear-workflow-and-gamma-update/comment-page-1/#comment-10414</link>
		<dc:creator>smokedogg</dc:creator>
		<pubDate>Mon, 17 Aug 2009 06:45:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.djx.com.au/blog/?p=101#comment-10414</guid>
		<description>David-
Thank you so much! Thats a great example on how to test the theory of my file textures -rendering - post  workflow. I will definitly be trying that out to see the results.  Thank you for all your help!</description>
		<content:encoded><![CDATA[<p>David-<br />
Thank you so much! Thats a great example on how to test the theory of my file textures -rendering - post  workflow. I will definitly be trying that out to see the results.  Thank you for all your help!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: david</title>
		<link>http://www.djx.com.au/blog/2008/10/06/linear-workflow-and-gamma-update/comment-page-1/#comment-10412</link>
		<dc:creator>david</dc:creator>
		<pubDate>Sun, 16 Aug 2009 13:18:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.djx.com.au/blog/?p=101#comment-10412</guid>
		<description>Hi smokedog. The short answer is: If your fileTextures are floating point exr, then you do not need to degamma them in maya. If you render to a float format and plan to do final gamma correction in post, then you can leave both framebuffer gamma and lens shader gamma set to 1.

The long answer is: As I have said before, there are too many factors involved to be able to say you should just apply the &quot;short answer&quot; and you will always be correct. You need to develop a stategy to be able to test your proposed pipeline and to be able to identify problems. For example create a 50% grey fileTexture and save it as 32-bit exr (actually 16-bit would be enough in most cases). Put it in your scene and render with some lighting that does not over or under expose it. Take the result into after effects. Apply your gamma. The color should still be 50% grey if you got things right. This is just a simple example. You maybe should try it with a color chart so that you see how the colors are working too. The point is you need to understand what you are doing. Knowing how it should work in theory is just the first step.</description>
		<content:encoded><![CDATA[<p>Hi smokedog. The short answer is: If your fileTextures are floating point exr, then you do not need to degamma them in maya. If you render to a float format and plan to do final gamma correction in post, then you can leave both framebuffer gamma and lens shader gamma set to 1.</p>
<p>The long answer is: As I have said before, there are too many factors involved to be able to say you should just apply the "short answer" and you will always be correct. You need to develop a stategy to be able to test your proposed pipeline and to be able to identify problems. For example create a 50% grey fileTexture and save it as 32-bit exr (actually 16-bit would be enough in most cases). Put it in your scene and render with some lighting that does not over or under expose it. Take the result into after effects. Apply your gamma. The color should still be 50% grey if you got things right. This is just a simple example. You maybe should try it with a color chart so that you see how the colors are working too. The point is you need to understand what you are doing. Knowing how it should work in theory is just the first step.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: smokedogg</title>
		<link>http://www.djx.com.au/blog/2008/10/06/linear-workflow-and-gamma-update/comment-page-1/#comment-10398</link>
		<dc:creator>smokedogg</dc:creator>
		<pubDate>Mon, 10 Aug 2009 23:40:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.djx.com.au/blog/?p=101#comment-10398</guid>
		<description>Hey David,
Okay i finally got it with converting my textures into 32 bit exr files. So now when in maya, im ready to render out my final images into 4 x 32 bit float exr. (im not really ready yet, just saying for example purposes) So the question that resides is; Since my textures are now linear, do i still have some kind of gamma encoded 2.2 value where i would have to set the framebuffer to .45? Or is the default of 1.0 ok? I will be compositing in AE CS4 that now has the ability to work in a 32 bit linear space.
Thank you so much for your time, patience, and help as it is very well appreciated! Its just trying to find answers for certain things can get very cumbersome as so many people have diff. methods,  pipelines, and workflows.</description>
		<content:encoded><![CDATA[<p>Hey David,<br />
Okay i finally got it with converting my textures into 32 bit exr files. So now when in maya, im ready to render out my final images into 4 x 32 bit float exr. (im not really ready yet, just saying for example purposes) So the question that resides is; Since my textures are now linear, do i still have some kind of gamma encoded 2.2 value where i would have to set the framebuffer to .45? Or is the default of 1.0 ok? I will be compositing in AE CS4 that now has the ability to work in a 32 bit linear space.<br />
Thank you so much for your time, patience, and help as it is very well appreciated! Its just trying to find answers for certain things can get very cumbersome as so many people have diff. methods,  pipelines, and workflows.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: david</title>
		<link>http://www.djx.com.au/blog/2008/10/06/linear-workflow-and-gamma-update/comment-page-1/#comment-10395</link>
		<dc:creator>david</dc:creator>
		<pubDate>Thu, 06 Aug 2009 11:20:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.djx.com.au/blog/?p=101#comment-10395</guid>
		<description>smokedog: In my last reply I explained that you would only make an image &quot;linear&quot; if you are saving in a floating point format. The 8-bit integer format does not store linear data very well. It is much better to store sRGB data. If your image is 8-bit and it looks ok on your monitor then it probably is in the correct sRGB space.
Maya will assume your 8-bit image is sRGB.

If you work in photoshop and change to 32-bit mode then what you see on your monitor depends on the settings in Preferences&#124;Performance&#124;GL Settings&#124;Color Matching. If color matching is ON when you switch to 32-bit mode then the display will look the same, even though photoshop has modified your image data to be linear. Try it with a 50% grey 8-bit image and see what the color values are when you switch to 32-bit mode. (My grey goes from 50% in 8-bit to 22% in 32-bit, but it looks the same on the monitor because color matching is ON). If you turn Color Matching OFF then the 32-bit image will look darker. (On my system the display does not always refresh instantly and I have to minimize/maximize to see the change). It doesnt matter if you work with color matching ON or OFF because in both cases photoshop will store the linear image data when you save the 32-bit image in the EXR format. I leave it on, because then you see the colors as they are intended to look on your sRGB display monitor.
Maya will assume your 32-bit image is linear.</description>
		<content:encoded><![CDATA[<p>smokedog: In my last reply I explained that you would only make an image "linear" if you are saving in a floating point format. The 8-bit integer format does not store linear data very well. It is much better to store sRGB data. If your image is 8-bit and it looks ok on your monitor then it probably is in the correct sRGB space.<br />
Maya will assume your 8-bit image is sRGB.</p>
<p>If you work in photoshop and change to 32-bit mode then what you see on your monitor depends on the settings in Preferences|Performance|GL Settings|Color Matching. If color matching is ON when you switch to 32-bit mode then the display will look the same, even though photoshop has modified your image data to be linear. Try it with a 50% grey 8-bit image and see what the color values are when you switch to 32-bit mode. (My grey goes from 50% in 8-bit to 22% in 32-bit, but it looks the same on the monitor because color matching is ON). If you turn Color Matching OFF then the 32-bit image will look darker. (On my system the display does not always refresh instantly and I have to minimize/maximize to see the change). It doesnt matter if you work with color matching ON or OFF because in both cases photoshop will store the linear image data when you save the 32-bit image in the EXR format. I leave it on, because then you see the colors as they are intended to look on your sRGB display monitor.<br />
Maya will assume your 32-bit image is linear.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: smokedogg</title>
		<link>http://www.djx.com.au/blog/2008/10/06/linear-workflow-and-gamma-update/comment-page-1/#comment-10394</link>
		<dc:creator>smokedogg</dc:creator>
		<pubDate>Thu, 06 Aug 2009 00:45:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.djx.com.au/blog/?p=101#comment-10394</guid>
		<description>Hello David. Have a question in reguards to converting my image/texture into a linear image. I feel really dumb for asking this, cause im pretty sure i know as i&#039;v been reading a ton on this topic and may  have just been overlooking the answer, but i will anyway. 
First, how do i know if i correcrly made my image linear? If using photoshop, as i am, do u go to the histogram or check the pixel with the info pallet? 
In order to make things linear, do i just create a custom ICC profile with gamma of 1.0 and continue on? Or does that just change the appearence on my screen and not the actual image?
How have you or others  made linear images? Any input would be great.</description>
		<content:encoded><![CDATA[<p>Hello David. Have a question in reguards to converting my image/texture into a linear image. I feel really dumb for asking this, cause im pretty sure i know as i'v been reading a ton on this topic and may  have just been overlooking the answer, but i will anyway.<br />
First, how do i know if i correcrly made my image linear? If using photoshop, as i am, do u go to the histogram or check the pixel with the info pallet?<br />
In order to make things linear, do i just create a custom ICC profile with gamma of 1.0 and continue on? Or does that just change the appearence on my screen and not the actual image?<br />
How have you or others  made linear images? Any input would be great.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: david</title>
		<link>http://www.djx.com.au/blog/2008/10/06/linear-workflow-and-gamma-update/comment-page-1/#comment-10390</link>
		<dc:creator>david</dc:creator>
		<pubDate>Sun, 02 Aug 2009 07:33:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.djx.com.au/blog/?p=101#comment-10390</guid>
		<description>smokedogg: When I create a texture in photoshop, how I save it depends on what it is being used for. Most of the time I save as a standard 8-bit IFF with no gamma correction, and then I do the degamma in maya. It is not a good idea to degamma and save an 8-bit image. You will reduce the quality of your image by doing that due to the limits of the 8-bit file format.

Sometimes I do save my textures in the OpenEXR format, using the free after effects plugin from fnord called ProEXR, which enables you to save as 16-bit float with piz compression to keep the file size down. Saving like this stores the image data as linear - meaning it is already degamma&#039;d for you. I would imagine photoshop does the same.

So, to clarify. No degamma done in photoshop for either 8-bit or float.

If you render to float you may want to remove the exposure gamma (set it to one) or remove the exposure node completely. This allows you to do your gamma correction and tone mapping in photoshop using the full dynamic range image. This seems to be a popular choice.

It really depends on how you like to work.

I prefer to leave the exposure node with gamma=2.2 and get the render looking as close to final as I can. If I render float (half-16 usually) I can still tweak exposure in post without introducing artifacts. This is probably not how I would work if the final output was for film, but for tv broadcast it is fine and saves some time. In fact most of the time I just render to 8-bit IFF, and only go to float renders for the shots where I need the extra control.</description>
		<content:encoded><![CDATA[<p>smokedogg: When I create a texture in photoshop, how I save it depends on what it is being used for. Most of the time I save as a standard 8-bit IFF with no gamma correction, and then I do the degamma in maya. It is not a good idea to degamma and save an 8-bit image. You will reduce the quality of your image by doing that due to the limits of the 8-bit file format.</p>
<p>Sometimes I do save my textures in the OpenEXR format, using the free after effects plugin from fnord called ProEXR, which enables you to save as 16-bit float with piz compression to keep the file size down. Saving like this stores the image data as linear - meaning it is already degamma'd for you. I would imagine photoshop does the same.</p>
<p>So, to clarify. No degamma done in photoshop for either 8-bit or float.</p>
<p>If you render to float you may want to remove the exposure gamma (set it to one) or remove the exposure node completely. This allows you to do your gamma correction and tone mapping in photoshop using the full dynamic range image. This seems to be a popular choice.</p>
<p>It really depends on how you like to work.</p>
<p>I prefer to leave the exposure node with gamma=2.2 and get the render looking as close to final as I can. If I render float (half-16 usually) I can still tweak exposure in post without introducing artifacts. This is probably not how I would work if the final output was for film, but for tv broadcast it is fine and saves some time. In fact most of the time I just render to 8-bit IFF, and only go to float renders for the shots where I need the extra control.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

