PNG (16-bit) and BMP (8-bit) format bugs...

1) When using the Bitmap Output device set to the PNG (16-bit) file format, the device is swapping the Red and Blue channel information (see below). The BMP (8-bit) and TIFF (16-bit) file formats save correctly and look identical to both each other and the WM viewports. I can correct the problem in Photoshop by re-swapping the channels, or in World Machine by using a Channel Splitter & Combiner to do the same.

This really needs to be fixed. If I have to add and configure additional devices just to make a specific option in the Bitmap Output device work correctly, it kind of defeats the purpose of a format drop-down list.

2) The image below also illustrates an inconsistency with the BMP (8-bit) format not being flipped vertically, unlike the PNG and TIFF (16-bit) formats (and all of the Height Output device options). Personally, I’d be happy if none of the devices in WM flipped vertically by default. However, posts in this forum suggest that plenty of existing WM workflows either require or at least are currently setup to use vertically inverted images.

Regardless, this behavior really should be unified one way or the other. The easiest fix would be to change the BMP option to invert like everything else in WM, while the most intuitive behavior would be the non-inverted output. I could get used to either way, but the current behavior creates the same problem as the Red/Blue channel swapping described above: I have to add/remove devices to make the output device’s format selection work consistently.

This R/B swap used to happen with png file import too. Seems file output is affected too and nobody noticed or this fix was lost along the way somehow.

@flipping: I really think this happens because some formats store the date in a different order than others. Iirc, most use the variant of storing the bottom-most pixels first. This works well when defining the format putting the map into the first quadrant of the coordinate system but doesn’t really make sense when reading/writing files.

I did some research to prove you wrong about the formats, but it ended up proving you correct. The BMP format is the exception: it stores columns right-to-left and rows bottom to top. I got that from Wikipedia (http://en.wikipedia.org/wiki/BMP_file_format), but I think it’s accurate.

From the PNG specification found at http://www.w3.org/TR/PNG/: “Pixels are ordered from left to right within each scanline, and scanlines are ordered from top to bottom.”

The TIFF specs I’ve seen suggest that the format is top-to-bottom order by default, but allows for row and column order options.

The .ter format orders scanlines bottom to top too.

The really odd thing is that wm uses different interpretations in file input and output. I didn’t make any experiments, but it seems that loading works fine and only writing flips them.
I guess the whole issue didn’t get enough attention in the past before tiled build was introduced.