I am just curious why when I export a 16bit image from Blender and open it in Photoshop it is read as a 32bit file and not 16bit?
Am I exporting from Blender incorrectly?
I am just curious why when I export a 16bit image from Blender and open it in Photoshop it is read as a 32bit file and not 16bit?
Am I exporting from Blender incorrectly?
Because 16bit EXRs are floating point, but Photoshop's 16bit format is integer.
Integers represent simple whole numbers, in the case of int16, pixels are values from 0-65535. Floating point uses a special representation, sort of like scientific notation. It's still 16bits per channel though. Floats are less precise than integers, but allow a wider range of values. This is often useful for visual data, since our eyes have a very wide dynamic range but are not terribly precise.
The problem Photoshop is trying to deal with is the lack of dynamic range. 16bit integer (int16 for short) has 2^16 values, so it has 16 stops of dynamic range. 16bit floating point (float16 for short) is able to pack 30 stops into the same 16bits by using its scientific-notation-like way of writing the values. In order to avoid smushing that dynamic range, Photoshop needs to import it in 32bit mode.
On a further note, I would advise against importing OpenEXR files into Photoshop. In most cases, it's best convert to a display-referred format first (like 16bit TIFF or PNG, which is integer btw) which better accommodates Photoshop's editing model. See this question for related info: Render with a wider dynamic range in cycles to produce photorealistic looking images
Additionally, Photoshop is not equipped to handle data within OpenEXR such as additional passes, z-buffers, etc. As you can see from it's confusing switch to 32bit (due to lack of float16 support), Photoshop is simply not designed around the sort of data stored in an OpenEXR. "Pre-chewing" the data using Blender's compositor or another scene-referred comp tool (such as Fusion or Nuke) will make life a lot easier.