Exporting Images from Blender
The proper way
When rendering Blender projects, image exporting and file formats are often an unimportant afterthought in the big picture, but Blender offers access to a long list of powerful file formats that give artistic and technical freedom for a wide range of applications. In this article, we're going to take an in-depth look at using Blender's file output options as an advantage in post-production, as well as for use in final publications.
So let's get started!
The first thing that needs to be decided when outputting a file is what the purpose of the file will be. For example, will you be uploading the file straight from Blender to your portfolio, or sending it off to Photoshop for corrections? Before you even think about exporting a file, these are the questions you need to ask yourself, then you can pick the appropriate format to best fit your needs.
For the most part, usages can be divided into three categories. There are obviously more specific usage requirements for some applications, but I'll keep the list generalized for sake of simplicity:
DirectThe image is left unedited and put into direct use
CorrectionsMinor image editing occurs in Photoshop or other image editors
Heavy CompositingThe image and colors are heavily edited and manipulated
Lossy vs. Lossless
The terms "lossless" and "lossy" may sound like a grammar nazi's bad dream, but understanding when to use lossy and lossless image formats is essential to image editing and output. The best practice is to use lossless formats while editing, and lossy formats for final images. But let's take a deeper look into the differences between the two.
90% Compression (3.19 KB, JPG)
25% Compression (32.4 KB, JPG)
No Compression (53.7 KB, JPG)
Lossy formats use lossy compression, meaning every time changes are made to an image, the image degrades more and more, until eventually the image becomes unusable due to the large amounts of image artifacts created by the editing and saving process. It's a horrible sight to watch, so please, don't edit lossy images! The only upside of lossy images is that they are much smaller in size than lossless images, sometimes in the upwards of 10x smaller, in fact. As such, it's recommended to use a lossy format for a final image rather than a lossless format.
Lossless formats, on the other hand, preserve all the information from the original file export. Not matter how many times you save or modify a lossless image, it will always have the same original quality. This is extremely helpful when doing post processing in external applications like Photoshop or GIMP, being able to save and modify images as you please.
Blender's native file formats with their compression types
After Considering lossy and lossless formats, the next topic to be considered is color depth. Color depth is the range of values that is saved for each pixel in order to better represent color and increased allowance for changes in post processing. The most common color depth is 8-bit, which can display a maximum of 256 values per color at once, and is the default for most formats in Blender. The problem with 8-bit color is that banding can become increasingly apparent for higher resolutions, especially if colors value are edited in post production. In such cases, higher depths such as 16-bit with 65,536 values of color can prove to be useful, in which color rarely falter because of the obviously large amount of available colors.
The other advantage of higher color depths is highlight and shadow recovery. In 8-bit images, the color value range is limited as such that there's very little data outside of the visual image. On the other hand, 16-bit or even 32-bit images contain much higher dynamic range values, allowing you to recover shadows or blown out highlights in images. Though it is important to note, only linear color spaces will allow this, meaning only certain formats (OpenEXR mainly) will allow for value recovery.
The number of possible values per bit depth
Different formats support different color depths, PNG allows 8 or 16-bit images, OpenEXR supports 16 (Half-float) or 32-bit (Full-float) images. Every format will vary, but the Color Depth option in the output panel of Blender will show the option for each format you choose.
To move from more generalized file output scenarios, I'd like to talk a little about outputting files which contain alpha channels and render passes. Alpha, (also known as transparency) output is somewhat common, although there's still quite a few formats that lack support of it, the most notable being the JPEG format, which is a major reason for the rise in popularity of PNGs, having a somewhat small file size, while having an alpha channel.
Formats with support for render passes are not nearly as common, and only a few formats do support them, and within Blender, currently only the OpenEXR Multilayer format supports them. The format will export all the passes enabled in the Render layers panel to a single file for use in VFX software. The only alternative to OpenEXR is outputting each pass to a separate file, which for animations, can be quite complex, but nevertheless, possible.
The final aspect of image output is compression, we've already talked a little about lossy and lossless compression types, so now let's get into how that translates to file size and other aspects of compression.
Example of file sizes in KB
Lossless image compression works in the same way as a ZIP file, in that it compresses the file size and then extracts the file when opened back to the original size. The amount of possible file size savings varies by the image, and by the image format, so there is no set amount of file size that a compression level will save, but seeing as the compression is Lossless, it's always a good idea to compress lossless files.
Lossy file compression works in a different way and usually saves a drastically larger amount of file space than lossless compression. Like previously said, it is not a good idea to use lossy formats while in post-production. But for final image output, lossy compression can be highly useful in saving drive space and for use on websites, where every byte counts.
Exporting images is a complicated task, and this article only scratches the surface of the fascinating complexity of image formats. Nevertheless, I hope this "intro" to image exporting has given you some better knowledge in helping to understand the process and help you to create and export better images.
Now get out there and save some renders!