Dispelling the Overlay Myths
Back when I began creating my first overlays, I looked over the tutorials that everyone else does. The information provided on filenames and directory structure is all I needed. The rest seemed restrictive, and in some cases, wrong. This article will dispell some of the commonly-held beliefs about overlays.
Myth #1 : Overlays must be 512x512
Fact : Overlays can be any dimensions.
Myth #2 : Overlays must be in DXT format
Fact : Overlays can be in a wide variety of formats.
Myth #3 : Mip-maps aren't a problem
Fact : Activating mip-maps in an overlay is a copious waste of memory. Copious. Literally.
What are DXT, DDS, and Mip-maps?
DXT stands for DirectX Texture. It is a form of image compression that is very fast to decode, and that all video cards today support natively. It is, however, a lossy compression format. This means that while the images are very close to the original quality, they are not perfect. There are some cases where DXT-format images can cause unwanted visual artifacts.
DDS stands for Direct Draw Surface. DDS files can store images in many different formats. DXT is the most common format to use in DDS files, but it is also possible to store images in an uncompressed format. The nVidia DDS filter for Photoshop allows you to choose a wide variety of uncompressed formats. Such images may be any dimensions you wish.
Mip-maps are smaller-sized copies of the exact same texture. For example, if you make a texture that is 512x512, activating mip-maps will cause the DDS file to contain copies of the same image at 256x256, 128x128, 64x64, 32x32, 16x16, 8x8, 4x4, and 2x2. Copious. Literally.
Mip-maps are used in cases where a 3-dimensional surface is further away. When an object is far away from the camera, mip-maps can drastically reduce the amount of time the video card takes to draw the surface. Since overlays are always painted directly over top of the scene, mip-maps will always go unused.
But I Should Still Start at 912x512, Right?
I find these dimensions to be completely bizarre. I can only assume they were chosen for ease-of-explanation, and because they approximate the widescreen aspect ratio used by The Movies.
The fact is, 912x512 isn't quite 16:9 (910x512 is closer to being 16:9, but probably not noticeable to the human eye). By default, the highest quality export in The Movies is 768x432. I recommend starting with that. But if you want even higher quality images, you might go as high as 1536x864.
Recommendations
In general, you want your overlays to be the smallest possible file size; but the highest possible quality.
  • If you are exporting your movie in the default online quality (384x216), I recommend resizing your overlays to 512x256. Following this advice will reduce the memory used by your overlays by 50%, at absolutely no loss of image quality in the exported film.
  • If you are exporting your movie in a higher quality, I recommend resizing your overlays such that the width is the next-highest power-of-2. The height should be half the width. Unless you have altered the encoding specifications for Highest quality, the only other real choice here is 1024x512.
  • Always turn off mip-maps for overlays. Failing to do so will waste loads of precious video memory, thereby increasing the chance you will encounter sound-sync problems in overlay-heavy films.
  • If you are only editing and rendering your film externally, don't bother attaching overlays to your scenes. Instead, attach the overlay work directly in your external movie editor. The quality will be much better. Always remember that DXT compression is lossy.
Should I Ever Use Uncompressed Overlays?
Compressed DXT files are almost always the best choice. They provide a perfect balance between image quality, decompression speed, and memory usage. (They also ensure the video card stores texture data on an aligned memory boundary, but that's a whole other topic of discussion.) There are, however, some rare circumstances that using uncompressed overlays is advantageous.
  • In Dulci's Cold, the opening credits were in an uncompressed transparent greyscale format (A8L8, which means 8-bit alpha and 8-bit luminance). The actual dimensions of those overlays was 512x288. This format was chosen to preserve image and animation quality, for images that only needed a greyscale colour-space.
  • In eobagg's Who Wants to be a VCillionaire?, the game screen was in an uncompressed low-colour transparent format (A4R4G4B4, which means 4-bit alpha and 4-bits for each colour channel). The actual dimensions of those overlays was 768x432. This format was chosen to ensure the text was crisp and legible, for images that did not require a large number of colours.
DXT normally provides a compression ratio of 4:1. In the two above cases, it would have only provided a 2:1 compression ratio. I felt the enhanced image quality was worth the extra memory usage.