Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Index Pings Vs. RGB Pings for Doom

Recommended Posts

In vanilla I noticed that all images were in 8 bit graphic files and Heretic in particular uses 8 bit pngs. In modern source ports is it recommended that you index your png files to make them 8 bit or can you still keep them in the RGB color space? Most images that are this small maintain a smaller file size when left in the RGB color space instead of when they are indexed. I am not sure when compressed but I think index pngs become smaller when compressed in a zip file.


Can someone please tell me what the difference between interlaced and non interlaced pngs are. Is it best to interlace them for use in vanilla or in any of the source ports? What do you recommend interlaced or non interlaced, indexed or RGB pings?

Share this post

Link to post

Some facts in support of your question:

  • Vanilla does not use PNGs at all. It uses a raw format for a couple of full-screen images, and raw palette indices for flats. Textures/sprites use idTech 1's custom column-major format, just like Doom, in which colors are 8-bit indices into a standard palette. (Heretic's palette differs from Doom, Doom II, Hexen, and Strife's palette).
  • The 8-bit bytes in idTech 1 games *are* indexes into the PLAYPAL lump, which contains 14 sets of 256 24-bit colors.
  • Interlaced allows programs, like web browsers, to paint a coarser representation of the whole image as it is being loaded, giving the appearance of a quicker load. The JPEG format supports a interlaced image. I was not aware that PNG also allows for interlaced storage.
  • Some ports that support Heretic allow you to use PNG format.
  • If you use a port that accepts an image format with arbitrary RGB support, and the port has facilities to convert RGB into, say, PLAYPAL colors, so that you can run in 256-color mode, then you must settle for the port's best guess at which color within the PLAYPAL most matches each color within your image. Usually this does not look optimal. You have 2 other options:
  1. Store your images using colors available in PLAYPAL, so no conversion is necessary.
  2. Render using 32-bit-color (by using a port that outputs true 32-bit color), so no conversion is necessary.

Share this post

Link to post
On 8/10/2017 at 10:11 PM, kb1 said:

I was not aware that PNG also allows for interlaced storage.

Thanks for your answer. PNG's do indeed allow for interlaced storage. When saving a PNG image in Photoshop via 'Save-As' or 'Save For Web' it has options to interlace them. Animated GIF's also allow for interlacing when saving for the web.


My project is for Zandronum and uses custom textures so keeping them in 32 bit is my best option and is not a problem. My next question was how do you make your textures look as close as possible to how windows displays them. I found that in Zandronum in the OpenGL options you can scale them 2X or 4X and that makes them look much better.

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now