Graphics

Unlike other id Software games at the time, Doom 64 did not have a global palette. Instead, each graphic has its own palette. This allowed Doom 64 to have a larger color variation compared to other contemporary Doom engine games. The guides below describes how graphics are rendered and how to add new graphics too.

PC Engines

For the PC engines of Doom 64, the graphics are stored in PNG format. For the majority of textures, sprites, and graphics, true color graphics are supported. However sprites which have palette swap variants (Bull demons, Imps, and Hell nobles), require specific palettes otherwise the palette swap variants will look like the originals. Partial alpha transparencies are supported too in most cases, however Doom 64 EX, Doom 64 EX+, and Doom 64 SEX+ do not support partial transparencies for wall textures.

Nintendo 64

On the Nintendo 64, each graphic for Doom 64 has a specific palette that is either stored with the graphic or externally. Each enemy sprite has a unique 256-color palette it refers to (CI8 texture format), whereas the textures are 16-color paletted (CI4 texture format). The graphics lump images each have their own 256-color palette. The wadutil64 tool can convert appropriately-formatted PNGs to the format for the Nintendo 64.

Filtering and Fringes

The Nintendo 64 was famous for introducing smooth graphics filtering to the home console market. This technique allows graphics to look smooth when really close to the player's view and it dominates the AAA gaming industry today. The particular style of texture filtering the Nintendo 64 was capable of is called a 3-point bilinear filter. Although 4-point bilinear filtering dominates graphics rendering today, 3-point filtering was cheaper and could render some diagonal lines of pixels smoother but at the cost of potential visual artifacts when a texture is viewed under specific camera angles.

Transparency in graphics can introduce fringes around transparent areas when being rendered with filtering. When interpolating nearby pixels, the color of the opaque pixel and transparent pixel are mixed, and this is what results in a fringe. And yes transparent pixels do have a color, even if you can not see it. All original Doom 64 graphics are palleted, and the transparent color is set to black, so all filtered Doom 64 graphics have a black fringe. Since most Doom 64 maps fade to black at a distance, these fringes aren't very noticeable. If your graphics editing program supports palettes, it will likely let you choose any transparent color. Just like the original Doom 64 graphics, black is recommended.

Doom 64 engines for PC support true color images. This allows the transparent space to be of multiple colors instead of a single color. By choosing colors which match the nearest opaque pixels, fringes become effectively unnoticeable. This called defringing and requires extra work to achieve manually. Fortunately, the software below can defringe true color PNG images automatically.