Resizing the RenderManager in Softimage

Introduction:

XSI’s layout can be rearranged like blocks of Lego(tm), and almost all parts of the interface can be changed or moved. With the new RenderManager panel I got fed up changing it every time I opened it. I felt like I was changing the width of the panel all the time. Time to go in and change some code ;-)

Note: This was written with Softimage 2010 in mind, small changes in newer version might have the linenumbers changed. The settings will be the same.

The interface is getting more and more XML’d (not a word I guess…) and so is the Render Manager window.
First of all, it can be found in the Addons\RenderManager\Application\views\ folder of the Softimage installation.

Caution: Be sure to make a copy of the file before editing. It’s always better to be save than sorry.

Editing the code:

Open it up with a proper text editor (no I don’t mean notepad) and you’ll see an bunch of XML code. So, what to change…..
Most of the stuff you want is in the first 9 lines of code:
——————————————————————————————————————–

<?xml version=”1.0″ encoding=”iso-8859-1″?>
<xsi_file type=”RelationalView” xsi_version=”Ariane_Beta4.3.0″ syntax_version=”1.1″>
<relationalview clsid=”{581FC286-04F4-4F22-9D1E-B50DBAF87719}” name=”Render Manager” height=”720, “width=”950“>
<definition maxinstances=”10000″ acceptfocus=”true” private=”false” defaultsize=”107,47,950,720” cmdmap=”{00000000-0000-0000-0000-000000000000}” supportedtypes=”6″ category=”Rendering/Texturing”> </definition>
<relations>
<relation driver=”passes” driven=”passesppg” event=”selectionfunc” cmd=”updatepass”> </relation>
<relation driver=”passes” driven=”rendererppg” event=”selectionfunc” cmd=”updaterenderer”> </relation>
</relations>
<frameset orientation=”horizontal” name=”Frameset1″ splitter=”movable” sizechild=”250,350,350“>

——————————————————————————————————————–

I already changed the code so you can see the changes.

-Code line 3 will define the default width and height for the RM

-Code line 4 will define the location (and size) of the RM. It will read from the left top corner, so in this case 107 px. from the left and 47 px. from the top and the RM will be 950x720px wide and high.

-Code line 9 will define the layout itself in the width. In this case the first column will be 250px. wide, the other two 350px. each. Making it 950px. See the connection??

(The * in the original setup means that it will fill the width, like a html frame)

Now if you save this and reopen the RM, it will not behave as you expected…. Sigh…..

There’s still one more line of code to change as this is a Relational View or RV.

Find the following lines of code (line 65-67):
——————————————————————————————————————-
sub RV_Init( in_rv)
‘### open at the optimal size
950,720
——————————————————————————————————————–

You’ll have to change the size here as well to the ones stated in the previous values.

Save and reopen the RM, there’s no need to restart XSI at this point. The size and location will now be as you want it to be.
That’s all to it ;-)

© 2009-2011 Rob Wuijster aka Rork

Getting a toolbar to open in a defined location and with a fixed size

Introduction:

When you create a toolbar, like a “shader presets” toolbar for instance, you might like to open it up at the same location and the same size the next time you open it again. How to do that?So here it goes:

If you have a look at the code of your newly created toolbar, we can see a set of coordinates in the top part of the XML coding:

<?xml version=”1.0″ encoding=”iso-8859-1″?>

<xsi_file type=”Shelf” xsi_version=”5.11.2006.0529″ syntax_version=”1.0″>
<shelf_view name=”mia_presets” clsid=”{7EA70760-167C-475F-A105-FF235C6FA556}”>
<definition maxinstances=”10000″ acceptfocus=”true” private=”false” defaultsize=”107,47,607,457″ cmdmap=”{00000000-0000-0000-0000-000000000000}” supportedtypes=”6″ category=”"></definition>

The “defaultsize=107,47,607,475″ is what we’re after.
The first set of coordinates; 107,47 is the topleft corner of the toolbar.
The second set of coordinates; 607,457 places the bottomright corner of the toolbar. It’s absolute coordinates, not a given width/height value.

Note:
Be aware that the coordinates are influenced by the height of the windowbar and frame, or better said the windows interface settings. So if you changed any of the values in the “Advanced appeareance” window of the windows desktop, you’ll have to subtract the amount of these pixels to line it up properly. So the real 0,0 starting point will be the topleft corner of the XSI interface itself.

So with this information we have a look at our toolbar, in this case will start 107 pixels from the left and 47 pixels from the top of the interface, and ends at 607 pixels from the left and 457 from the top, making the toolbar occupying 500×410 pixels of screenspace in total.

The simplest way of doing things is probably to screendump the XSI interface into Photoshop and check out the pixelvalues.

Edit the toolbar file coordinates, save it, restart XSI and see your toolbar open at the correct location and size.

mia toolbar

© 2009-2010 Rob Wuijster aka XSIBase/Rork

Creating a custom Softimage layout in Softimage

Introduction:

Softimage’s layout can be rearranged like blocks of Lego(tm), and almost all parts of the interface can be changed or moved. What you -cannot- do is change fontsize and type, and change the color of the interface. Get over it…… and then read on ;-)

Softimage’s layout is build upon XML code, and is readable in any application that can read ASCII textfiles. And no, I don’t mean Windows Notepad ;-) !!!!! Get a decent editor with linenumbering, automatic wordwrap, and the option to open multiple files in tabs. Something like Editpad….

As widescreen monitors become more and more common, I will keep this tutorial “one monitor only”. Changing to a two monitors layout will not be much different though. Also this method shouldn’t be restricted to Softimage version 4, 5 or 6 as AFAIK. I’m not sure though if you can “mix ‘n match” layouts from various versions though. Never tried it ;-)

Rightclick here to download the final layout file if you want to have a look at the code. Just unpack into the layouts folder.

The discussed steps:

- Starting with the basics
- Adding a shelf
- Adding a tabbed view
- Manually editing the layout file
- Adding bitmaps to tabs and creating “folding” menu’s

This is quite a long page, so let’s get started!!


Starting with the basics

Start Softimage and have a look at the layouts that are available. Softimage will open with the “default” layout, the one everybody is used to. Just select one of the other ones listed under “Views>Layouts” and see the layout change. Go back to the default one after you’re finished playing with that…

Note that this is different from the viewport changer icons in the bottomleft corner of the screen. These buttons will change -only- the content of the viewports based on scriptable viewport commands.

A very simple change to the default interface can be made by selecting the “View>Optional Panels>Main Shelf” option. This will add the Icon shelf on top of the 4 view viewmanager. Softimage will remember this change (or any change for that matter) so when you restart Softimage the changed layout will still be available.

So if you had a look at the code to see what’s happening, the code is changing from:
“item name=”main_shelf” value=”hidden”
to
“item name=”main_shelf” value=“visible”.

This knowledge will come in handy later on.


Adding a shelf

Let’s start simple and with XSI opended up go to “View>Layouts>New Layout from>Default”. You’ll be prompted to give the new layout a name. It will be saved in your local userXSI_version\Application\layouts” folder.

Just copying a layout file inside the layouts folder of your user account won’t do, unless you open up the copy and change the clsid=”{xxxx-xxxx}” and name=”xxxxxxx” entry in the third line of the layout file. Most of the time starting from within XSI is just as fast.

Tip: If you want the layout in your workgroup just create a “Application\layouts” folder in the folderstructure of the workgroup and copy the new layout in there. Next time you’ll open up XSI it will show up and have a little “w” next to it instead of “[user]“.

After starting the edit you’ll get a extra toolbar, the “Relational View Editor“. Here you set names and sizes for views and panes, delete ones etc. First thing you do is toggle off the “Preview” button. Now you’ll be looking at the layout scheme for the interface. If you move your mouse over the textblocks you’ll see a red square appearing, showing you the size of the pane. There’s also two visible splitterbars in this interface, the thick grey lines at the topleft corner and the rightside of the interface. These splitterbars can be adjustable, so you can change the size in the interface. Or locked so it’s a fixed size. As you already figured out they can be invisble as well.

Rightclicking one of the panes, you’ll get a set of options. We’ll get there in a bit, just have a look what’s there. So to rebuild something that resembles the previous layout with the “Main Shelf” on top of the 4 views, lets start by selecting the “vm [View Manager]” pane. Rightclick and select “remove” from the dropdownlist.
This will -clear- the selection from the pane, but keep the pane itself.

Note:If you would have selected the “delete” option, it would have removed the pane entirely. And there’s no adding it back after this. Be aware of that!!! If you have split a pane up in multiple subpanes, you can delete one of the subpanes. Think of it as having frames within frames like a webpage. Still deleting the last pane will result in a empty area of the layout.

After you have removed the content from the pane, we’ll split it up in two parts by adding a horizontal splitter bar. Just rightclick and select “Split Horizontally“. Now you’ll see a line appear at your mouse arrow, just slide it about where it has to go and leftclick. You’ll now have two panes.

Select the lower pane and rightclick again. Now select “Select View>View Manager” in the top part of the dropdown menu to get the 4 views back.
In the “Relational View Editor” bar you can rename the pane name to something more logical. This can come in handy when you’re manually editing the XML layout file.

Also be sure to set the “Pane Size” for the view manager to * (asterix). This means it will stretch to fill the screen vertically, a must for the different resolutions out there.

Note: This is also a good habit to use for any pane that will fill out a part of the interface. Small changes in resolution can be solved by just having the pane to stretch according to the screen resolution.

Now select the top pane and select “Set Toolbar/Shelf>Main Shelf“. This will “fill” the top pane with the Main shelf.
This is a very cool option of XSI, as you can create lots of shelfs and toolbars, and integrate them directly into your interface instead of keeping them as floating windows.
In the “Relational View Editor” bar you again can rename the pane name to something more logical. Pressing the “Preview” button will show the revamped interface in full glory, and in this mode you can also move the splitterbar to fit the shelf. Also you can rightclick the splitterbar and choose to hide (no splitter), lock (fix splitter) or leave it adjustable (movable splitter).

When you’re finished go to “View>Layouts>Exit Layout Editing” and save the file. That’s it, you’ve created a new layout for XSI.


Adding a tabbed view

Now that we’ve seen how easy it is to change some parts of the interface, it’s time to have a look at some of the other interface changes you can make.
One of the ones I really like is the ability to create tabbed viewports. This means you can have multiple setups or views just “under the tab”. Let’s see how that works.

Open up the previously created layout again by selecting “View>Layouts>Edit Current Layout“. Be sure to have the “Preview” button off on the “Relational View Editor” toolbar, and start with selecting the “vm [View Manager]” pane and remove it. Add another horizontal splitter bar to create two panes. Select the new middle pane and restore the “view manager“, be sure to reset the pane size to * (asterix) so it can stretch to size.

Now select the lower pane and select “New Tray Switcher” from the rightclick menu. This will create a new “tabbed” window inside the pane. The new button will be called “panexx“. Add another “tab” by rightclicking the tab area and select “Add Pane“.
You now have two “tabs”. You can add as many panes as you like. Editing the tab names or adding a bitmap will be discussed later on as this can not be done directly from the editor.

Select the first “tab” and rightclick in the pane and set the view with -say- the rendertree.

Now select the second tab and see the pane become blanc again. Let’s do something different here and split this pane up into two parts. Add a vertical splitterbar about 1/3 from the left. Note that the name will change from “Pane” to “Frameset” to reflect the difference in layout.
Fill the newly created left pane with -say- a browser view, and the right one with the rendertree again. Also be sure to set this pane size to * (asterix) again so it can stretch. Now activate the “Preview” option and go back and forth between the two “tabs” and flip between a regular rendertree view and one that has a browser attached to it.

When you’re finished go to “View>Layouts>Exit Layout Editing” again and save the file. That’s it, you’ve added another feature to your new layout for XSI.


Manually editing the layout file

Now we have seen how to create or change the interface of XSI, you can change even more parts of the interface by opening up the layout file and changing the code manually.

These changes include:

-renaming panes and framesets
-renaming tabs
-changing the layout of tabbed windows by moving the tabs around
-changing text “tabs” to iconized buttons
-creating foldable area’s (thanks for the tip to softmonkey.co.uk)

Open up your favourite editor application and browse to your “local username\XSI_x.x|Application\layouts” folder to find your newly created layout. Let’s say you named yout layout “test”, there should be a “test.xsily” file. Open the file and let’s see what we have.

The layout file is build up in parts, the first being the basic code for the xml file, and also contains the name of the layout as you will see it in the dropdown menu in XSI. It’s the third line that states something like: relationalview clsid=”{AF2D8205-8E2A-4C7B-9F90-217CE716B541}” name=”test” height=”1101″ width=”1922″ nbscreen=”1″> The last text also states the amount of monitors: nbscreen=”1″

The next area’s, bitmaps and viewdefaultpos define the default icons and position and size of floating toolbars and windows. The test of the frameset code is defining the default parts of the interface, but it also includes our newly created interface addition.

This new addition is defined by the following code:

switcher type=”tray” buttonside=”bottom” active=”0″ orientation=”horizontal” name=”Tray23″ buttonsize=”80,30″ splitter=”none” sizechild=”*,*”>
frame name=”pane24″ type=”Render Tree” primary=”false” toolbar=”own”> /frame>
frameset orientation=”horizontal” name=”Frameset28″ splitter=”movable” sizechild=”458,*”>
frame name=”pane26″ type=”Browser” primary=”false” toolbar=”own”> /frame>
frame name=”pane29″ type=”Render Tree” primary=”false” toolbar=”own”> /frame>
/frameset>
/switcher>

Note: Be aware of the fact that I took out the “<” sign at the beginning of each line due to the HTML coding of the page.

Ok, what does this all means:

The first line switcher type=”tray” is defining our container for the tabbed panes. It also states it’s horizontal, holds no splitterbar and has it’s buttonsize and location set. We can manually change all this now, so we’re resizing the buttons a bit by changing the witdh from 80 to 120 pixels to give the text some more “room”.

If you don’t like the “tabs” on the bottom of the screen, we can move them to the side by simple changing the code buttonside=”bottom” to buttonside=”". Now the buttons will appear on the rightside of the pane.

Moving over to the next line of code you can change the name of the tab by changing frame name=”pane24” to something more logical like frame name=”". The type=”xxx” line defines the chosen view, in this case the Rendertree.

The next line defines the previously splitted pane as a frameset, like the first line of code it will define orientation, the splitterbar option and size of both frames. Note the * (asterix) for the right pane.
Change name=”Frameset28″ to name=”Browser_Rendertree” to create a more logical “tab name”…

If you want to do good “housekeeping” you can rename the tray- and framenames to something more logical than frame name=”pane26″ or frame name=”pane29″.

We’ll end up with this:

switcher type=”tray” buttonside=”right” active=”0″ orientation=”horizontal” name=”Tray23″ buttonsize=”120,30″ splitter=”none” sizechild=”*,*”>
frame name=”Rendertree” type=”Render Tree” primary=”false” toolbar=”own”> /frame>
frameset orientation=”horizontal” name=”Browser_Rendertree” splitter=”movable” sizechild=”458,*”>
frame name=”pane26″ type=”Browser” primary=”false” toolbar=”own”> /frame>
frame name=”pane29″ type=”Render Tree” primary=”false” toolbar=”own”> /frame>
/frameset>
/switcher>

Now save this file and restart XSI. If you had this layout selected before, you’ll se the differences straight away.

Adding bitmaps to tabs and creating folding menu’s

What if you want icons instead of text?We can do that too, let’s open up the layout editor in XSI for the current layout.
Turn off “Preview” if you have to and select the “Rendertree” named tab. Rightclick on it and select the “Set Bitmap>Palettemap” option. A stretched icon will appear on the tab, replacing the “Rendertree” text. Unfortuanetly the basic icons will not suit most situations, so remove the icon with the “Remove Bitmap” option.

We are able to import bitmaps, so select the “Bitmap Editor” option. Select the “import bitmap” button and browse to a location where your bitmap is located. Be sure to refresh the selection on the left by pressing the “Load All Default Bitmaps” button. The imported bitmap will show up in the list, now select it and it will replace the text on the tab. It might look stretched as well, we can change that once we’re back into our ASCII/XML editor again. Do this for the other tab as well if you want, and save the file. Again preview or restart XSI to see the changes.

If we reopen the layout in the ASCII editor, we’ll see the changes of the bitmap reflected in the following codechange:
frame name=”rendertree” bitmap=”rendertree” type=”Render Tree” primary=”false” toolbar=”own”> /frame>

We can see XSI added the bitmap=”rendertree” section. It will look automatically to a “bitmap folder” one step “down” in the layouts folder, so setting a path is not neccesary unless you’re bitmaps are coming from some place else. If we look at our bitmap size, it’s bigger than the defined buttonsize. Change this to reflect the bitmap and it will show up with no stretching or squashing. Note that resizing will be a -global- value and will reflect on -all- tabs. So keep your icons small. Resave the file and reopen XSI to see result once more.

One last thing you cannot create inside the layout editor, but is a very cool feature, is the ability to have some parts of the interface to be “foldable” or said otherwise, click on it to have it slide out of sight.
(Thanks to james at softmonkey.co.uk for this tip)

This can be done by some simple additions of a piece of code: optionbutton=”container” and optional=”hidden”.

If we want the tabbed part of the interface to be “out of the way” for most of the time, we can change the excisting code from:

switcher type=”tray” buttonside=”right” active=”0″ orientation=”horizontal” name=”Tray23″ buttonsize=”120,30″ splitter=”none” sizechild=”*,*”>

to:

switcher type=”tray” optionbutton=”container” optional=”hidden”buttonside=”right” active=”0″ orientation=”horizontal” name=”Tray23″ buttonsize=”120,30″ splitter=”none” sizechild=”*,*”>

Save the file and restart XSI to see the changes.

What you see now is your basic 4 view layout with the Main shelf on top. So where did the tabbed window go??
If you look closely at the bottom of the screen, you’ll see a thin grey button. Click that and the tabbed window will slide open, resizing the 4 viewports at the same time (the * size we applied). Clicking the button again will nicely fold it again at the bottom and resize the 4 views back to normal.

The fun thing is that we can do this to the main toolbar on the left of the screen and the MCP on the right as well. We’ll have to digg up the code where the menu’s are located, so for the main toolbar it is:

switcher type=”tray” buttonside=”bottom” active=”0″ orientation=”horizontal” name=”Main_Toolbar_Tray” displayname=”Left Module Toolbar” buttonsize=”26,26″ optional=”visible” splitter=”none” sizechild=”105,216,105″>

Like in the other section we add the optionbutton=”container” line (the optional=”visible” line is already there as the toolbar is showing in the viewport by default):

switcher type=”tray” buttonside=”bottom” active=”0″ orientation=”horizontal” optionbutton=”container” name=”Main_Toolbar_Tray” displayname=”Left Module Toolbar” buttonsize=”26,26″ optional=”visible” splitter=”none” sizechild=”105,216,105″>

For the MCP we’ll go from:

switcher type=”tray” buttonside=”bottom_inv” active=”0″ orientation=”vertical” name=”mcp” displayname=”MCP” buttonsize=”44,23″ optional=”visible” splitter=”none” sizechild=”135,240″>

to

switcher type=”tray” optionbutton=”container” buttonside=”bottom_inv” active=”0″ orientation=”vertical” name=”mcp” displayname=”MCP” buttonsize=”44,23″ optional=”visible” splitter=”none” sizechild=”135,240″>

Save and reopen XSI. Note the extra set of slim gray buttons, on either side of the main toolbar and MCP. Unfortuantely you cannot change the location of these buttons, so they “live” where they live in the interface. Hide both menu’s and have a hugh 4 view workarea :-)

That’s all folks, hope it helps you out with starting to create layouts for yourself.

© 2009-2010 Rob Wuijster aka XSIBase/Rork

Using gamma correction in Softimage version 7.0 or higher

Introduction:

First of all, I’m not going into the technical part of what gamma is about. There are some really good starter pages on what gamma correction is/does:

- http://en.wikipedia.org/wiki/Gamma_correction
- http://softimage.wiki.softimage.com/index.php/Gamma%2C_Linear_Color_Space_and_HDR
(Although still valid, the color correction workflow discussed is a bit outdated with the new gamma settings in Softimage 7 and up.)
- http://www.Softimage-blog.com/archives/133

Read these first if you’re not clear on the subject, and come back and keep on reading ;-)

But to make it a quick and very basic readup:

- gamma is used to brighten an image on screen due to the technical issues revolving old CRT monitors and TV sets,
- All rendering is done in linear space,
- Color textures should have their gamma removed, bump, displacement maps, gradients and HDRI’s not.

And the best part of working in linear workflow is the way lights work. Now lights work with proper “reallife” falloff and changing intensity and falloff will behave as it should, not overshooting into bright area’s. We’ve all seen the nice lighting with portal lights and a tonemapper applied to it. No more wash outs!! :-)

Sigh…..Even more theory:

So with some of the basic knowledge about gamma correction floating around in our heads we look at rendering.
Simplifying the whole gamma thing down to two things for rendering, we can state we have images with gamma correction and images with no gamma correction applied.

Gamma corrected images:

Images with gamma correction are basically the ones embedded with sRGB, so that means more or less any image processed for viewing on a screen.
In our case every image that is created in Photoshop or any other image editor, (basically) all images from the web, also all -processed- images coming from a digital camera, like .jpeg’s, are gamma corrected.
It more or less comes down to this, as soon as something has to be displayed on screen, it will be treated with some form of gamma correction due to the way how monitors work.

Non gamma corrected images:

There is a special kind of images that has no gamma correction applied to it (well… if it was created properly), and that is the .HDRI and the .EXR format for instance.
Also due to their floating point nature, there’s no gamma correction in the image itself, making it a -linear- image.

Well this is all just very nice, but how do we apply all this to the new gamma corrections settings in Softimage?

If you look at it it’s all very simple and elegant, just turn on the settings and be done with it. But it’s good to see what’s exctually happening so we understand it all in combination with the gamma theory discussed just a few lines earlier.

With Softimage started, there’s a couple of places to look at. Open up the preferences panel, the places to go to are the “Display” and the “Rendering” menus.
Note: There’s also one setting in the Render Pass settings, but we’ll leave that for last.

So let’s start with the “Rendering” Menu first:

Selecting the “images” tab, we see a “Color Profile” option. There’s a drop down option and a gamma slider. We notice the 2.2 value, this is because we’re running Softimage on a PC system where this is the default gamma value.

render panel ppg

Now have a look at the drop down menu. We have four options:

– Automatic
- Linear
- sRGB
- User Gamma

So what does this all do? It will tell Softimage/MR how to use the gamma inside the images, when rendering your scene.

“Automatic” means Softimage will try to read the header of the image when getting it into Softimage, and Softimage will adjust the gamma correction accordingly. So if your image is a sRGB image, it will ‘strip‘ the gamma from it so it will be -linear- inside the MR renderer.

“Linear” will tell Softimage to treat the image as a linear file, so sRGB gamma will be ignored or in the case of an HDRI or EXR, it -will be- a linear file.

“sRGB” will tell Softimage to strip the gamma from the image, like in Automatic mode. Be carefull with bumps-, displacement and gradients as they should be set to linear. If you don’t do this, the image will “wash out” and will not get you the result you’re after.

“User Gamma” will have you set your own gamma value, e.g. 1.8 like the Mac. It’s better to not touch this unless you’re really sure you want this to happen and have a specific workflow where this is needed.

So what option is best?

Basically “Automatic” would work in most cases. You’ll import your images created in Photoshop, taken from the web or your camera, Softimage will ‘strip’ the gamma if they are sRGB images and that part is done. Also HDRI/EXR images will be ‘seen’ as linear and be treated properly as well.
There are some issues though, as some HDRI’s come with gamma built in. WHAT! Yes, sometimes gamma is added to HDRI’s. Sometimes Softimage will get confused by this, so when your render looks odd, have a look at the image’s gamma settings of the images used.

You also could work in ‘sRGB’ mode, treating all imported images as they have 2.2 gamma built-in and having it ‘stripped’ in the process. You will have to manually change the setting for the image when using a HDRI, and again when using bumps-, displacement and gradient textures as they should ‘stay as they are’ and set to linear.

My personal preference is ‘sRGB’, it’s very simple to change things in the images part of the explorer, or quickly change the gamma setting in the images PPG itself.

OK. now we’ll set the “Color Profile”

We’ll go back to the “Display” menu and select the “Color Management” tab.

There’s a bunch of checkboxes, a drop down menu and a slider for gamma, again…

color management tab

The checkboxes are quite self-explanatory:

- ‘Render Regions’ will turn on/add gamma correction for the render region
- ‘Render Pass and Preview’ will turn on/add gamma correction to the preview window for a pass.
Note: this will NOT mean you will render gamma corrected passes!!!
- ‘Shader Balls’ will correct the shaderball preview thumbnails in the Material Manager or any other place in the UI.
- ‘UI Widgets‘ will add gamma correction to the color swatches in the PPG’s.

For the gamma it’s the same as the other slider, don’t touch it unless you’re really sure you want to change it for your workflow.

No more theory, here’s some rendered examples:

First of all, we’ll – turn off – all checkboxes if selected, for these examples set the “Color Profile” to ‘Automatic”.

Now create a grid, add a material and texture it with the noicon pic. Softimage will read the header and see it’s a sRGB image and ‘strip‘ the gamma.

Now draw a render region. With the gamma ‘stripped’ from the image and no gamma correction in the region turned on, the image will look very dark and doesn’t look anything like the original image. Turning on gamma correction will show a rendered image that looks identical to the one used.

gamma in region

Now render a ‘Preview‘, and again, with the gamma correction turned off it will end up very dark. Turning it on will result in an image that looks like the one we used.

gamma in preview

Note: Like I said before, the setting will only affect the Preview window for the passes, but it will not add the gamma correction to the rendered images when rendering the pass.

Turning on the gamma correction for the shaderballs will correct the images for instance in the Material Manager. Also all other places where examples or shaderballs are used are gamma corrected when this feature is turned on.

gamma in shaderballs

And the last option will turn on gamma correction in the UI. As this might not be directly visible in the colors, there’s a small dotted line around the colorswatch to indicate there’s gamma correction in order here.

gamma in UI

Gamma correction on Pass rendering:

Like I said in the beginning, there’s a setting that you can use to add gamma correction to the rendered output. This option is found in the Render Pass.

All other settings discussed previously will only add gamma correction to the display, not the rendered and saved image.

So in this case you can turn on the ‘Apply Display Gamma Correction’ when rendering your pass(es), so the rendered image will be gamma corrected when saved to disk.

Some notes on this. When using this settings, it’s best to render to 16 bit or float to overcome a nasty little bug that could add mattelines in the alpha when rendering to 8 bit files. This can give you issues when compositing later on.
Also you more or less should leave this setting turned off, render to 16 bit or better – float, and gamma correct/CC/tonemap the whole thing in PS <ugh…>, Nuke, Shake, Fusion or whatever you’re comfortable with and then render it back to a 8bit image or sequence.

So… Once you go linear, you’re not want to go back. Or something like that… ;-)

© 2009-2011 Rob Wuijster aka XSIBase/Rork