The world of "standards" is a blessing and a cursor; it exists to make things more cohesive, flexible and adaptable, that is, until there are more and more distinct standards than one can shake a stick at.
After the past few decades of working as an Industrial designer in the emerging digital revolution, the ever changing world of "digital raster graphics standard" has presented us with more and more choices which, when it comes right down to it, provide three primary benefits/tradeoffs: Quality, file size, channels/layers. Trying to make sense of it all can be daunting and I often have SolidWorks customers asking "What format should I be using to save my PhotoView image or animation?" Well, I've compiled the following table and some additional notes to try to make sense of this.
Joint Photographic Experts Group
Device Independent Bitmap or DIB
Tagged Image File Format
Portable Network Graphics
Truevision Graphics Adapter
8 - 32
8 - 32
High Dynamic Range
Greg Ward/Paul Debevec
16 - 32
Flexible Precision Image format
- Lossless – Does not degrade image quality as a trade-off for compression. Optional* means that lossless can be specified at time of save.
- Lossy- image is degraded as a result of compression which results in a smaller file size
- Compressed – the image data is compressed thru an algorithm for the purpose of reducing file size and making file more “portable.” Optional* means that compression can be specified at time of save.
- Alpha Channel – carries an extra 8 bit of information for the “background” layer which is separated from the foreground image.
- Bit – number of data bits format uses – higher the number the more precision
- Layers – file format can save layers that can be used in advanced bitmap editors like Photoshop
So that's all nice and all, but what the heck format do I use when saving an image or animation from PhotoView? The following is a brief synopsis of each:
- Jpeg – is one of the most universal formats and has one of the best compression algorithms per file size. This is a popular format when your image wants to be portable and sensitive to file size such as when sending as an attachment or embedded in emails.
- Bmp – is a popular format within the Microsoft operating system. Good when you want to retain image quality.
- Tiff – a popular lossless format for photography when image quality is of absolute important. Also carries layer/alpha channel.
- Png – a popular format when you want image quality (lossless) and smallest possible file size. Is one of the few formats that is lossless and 8bit and automatically supports an alpha channel. This is a good format to use when rendering or animating and want the background to be transparent in your post-process composting.
- Png 16bit – when you want the benefits of png but want luminance information – i.e. greater control over exposure.
- Tga – originally developed in 1984 for video games, has good compression for higher bit formats – but falling out of favor given subsequent jpeg and .png standards.
- Tga 2.0 – later development of .tga format to include alpha channel
- Hdr – a variation on the tiff format with the addition of a luminance channel (exposure) Very useful when you want to alter exposure of an image after it is rendered and also as an environmental image used in PhotoView to “light” the 3D scene.
- Exr – a “High-Dynamic-Range” format, similar to HDR, developed by George Lucas – Industrial Light & Magic computer division. Arguably better compression than HDR and also open source so addition "flavors" of it are being added to it all the time.
- Psd – Adobe PhotoShop format. If you have PS install on the same system as SolidWorks, and want a high quality image, luminance (exposure control) and layers, psd is the way to go. Also SW uses PhotoShop format to import decals into SolidWorks with Layers established in PS – i.e. can carry artwork layers and mask in a single PS file into SolidWorks.
- Flx – a variation on the FLIC format used for animation frames and supported by AutoDesk 3DStudio Max and Ulead. Currently this format CANNOT be opened in PhotoShop CS5.
Okay, then (says the SolidWorks user) but "Mark, what do you use and what are your choices when doing rendering and animation out of SolidWorks?" I would have to say that .png, .psd and .exr are my most often used and here's why:
PNG - I most often use .png when saving a rendering to a file from PhotoView because as a Product Manager, I'm often "lifting images" from SW to make Power Point presentations and Specs for our developers. PNG carries with it an automatic alpha channel that when inserted into Power Point, has a transparent background but retains the floor shadow. This makes for a aesthetically pleasing presentation. It's also lossless and compressed making it the best overall combination of features in a bitmap image format. Also anyone doing animations: don't save an .avi file; instead use.png and save your frames to a folder where you can compile them in a post-process video editor like After Effects, Premiere etc. that way if you encounter a few bad frames due to a glitch in SW or "human error" you don't have to re-render the entire sequence, only the bad frames.
PSD - only because I'm an avid PhotoShop user and almost 100% of the renderings that I do go into PS for post processing. by saving it as .psd, I get lossless, alpha, some compression and even luminance control (exposure) and probably best of all; I don't have to mess with save_as options - there are no options. Also, when creating decals, and using Photoshop to do so, the only way to go is Photoshop because you can create the multiple artwork layers and the mask in a single .psd file; open that up in the SolidWorks decal editor and use layers for what you want to be artwork and what you want to be the material mask - all from one file.
EXR - Many times, as hard as I try, I just can't get the lighting that I desire out of PhotoView. So if I'm not happy with the overall lighting, I'll save the image as .exr (or png 16bit) and in PhotoShop I can start to play with the exposure without "blowing out" the image. this is do to the 16 or 32bit depth of the . format and the special luminance channel that this format (as well as HDR) carry with it.
Hope this helps - happy rendering!