32bit Floating Point Processing

Hi Guys,

I just have a quick question about the compositor. Are all composite calculations done in 32bit floating point? Even with non HDR material? I’m hoping the answer is yes but I haven’t been able to find any solid answers yet. Is there a specific requirement that all nodes be 32bit floating point or are some “8bit only” effects?

Just curious because I’ve managed to form a complete linear image processing post workflow for Blender but need to know if the calculations are all 32bit FP.

Absolutely. Load a .jpg into an image node, connect it to the composite node, then render. LMB drag in the render window and you’ll see two sets of values: 8 bit RGBA and 32 bit RGBA plus z values if you renndered any geometry. Blender’s render pipeline was completely recoded around ILM’s OpenExr format which is natively 32 BPC. You can save them any way you want but internally Blender has no chice other than to convert to 32 bit RGBA. Like After Effects, if there’s no alpha channel then Blender will internally assign one to the image without being asked to do so.

Excellent, that’s what I figured but just needed confirmation. Thanks!

Rather than start a bunch of different threads I figured I’d put all my related compositing questions here. I’d change the title if I knew how… anway, here’s my question.

When you set up a node group the values displayed on the group node override any preset internal values correct? If so is there any way to keep specific values when you make a node group rather than have it default to .5?

EDIT:

And what specifically is the gamma button for on some of the filters such as blurs? I’m presuming that this is there because Blender assumes that all incoming data is already in linear format and therefore the filters give you the option of applying the blur after gamma correction?

EDIT2:

Figured out the blur thing. No worries there. Still curious if it’s possible to modify the preset values when you create a node group.

You’ll have to be more specific about what values you’re referring to. Whatever values you put into the nodes in a node group are the values that get used. Node groups are great for cleaning up clutter in the compositor window or saving prebuilt effects chains which can later be appended to your current file. You can append these groups to a single blend file and use a text editor window in that file to detail what should be plugged into each input socket of the particular group. That way you can open the blend file and read your notes B4 appending the group to another file. This is really good for complex effects chains which can get you lost in a hurry. Node groups aren’t exactly drag-n-drop. A lot of mine are dependent on specific alpha channels or inversions thereof.

I’m not sure what you mean by “Default to .5”.

Edit:
Gamma generally refers to the brightness of your midtone values.

Quoted directly from Photoshop CS2 help files:

“Blend RGB Colors Using Gamma Controls how RGB colors blend together to produce composite data (for example, when you blend or paint layers using Normal mode). When the option is selected, RGB colors are blended in the color space corresponding to the specified gamma. A gamma of 1.00 is considered “colorimetrically correct” and should result in the fewest edge artifacts. When the option is deselected, RGB colors are blended directly in the document’s color space.”

Thanks again mate.

Here’s a sample very basic blend file that shows the problem. The first ChannelAdd was created manually and you can see the various values I have entered. The second was added from the groups tab (the node not connected to anything) and all the values have defaulted to .50. Any ideas?

EDIT: In other words I would like Blender to save the numbers entered when the node group was formed rather than default to .50 when the node group is added.

http://uploader.polorix.net//files/495/node_values.blend

As for the gamma, yeah I figured that one out. :slight_smile: Clicking the gamma button actually does automagically what I was previously doing manually so that’s cool (although it won’t replace the need to manually convert to linear image data for all cases).

Open the node group with the button on the top right corner and you’ll see that all the values are still there.

Yes indeed but the node group values seem to be overriding the individual node values in actual use.

You can ungroup them (ALT+G) click any socket to re-prime the setup(input or output, it doeesn’t matter), and then regroup. It works fine after that.