Celestia
Celestia copied to clipboard
Error reading PNG textures with indexed color palette ("Puckman" bug)
Screenshot from 2018 that explains the bug name. This is Puck, a moon of Uranus: Today I tested this old texture again because a few more people found this bug, and not only on models.
The texture was tested on 1.6.1 and 1.7.0 (from September 2019), the result is identical. A quarter of the object becomes invisible, everything else becomes translucent. At the places of overlapping the visible part and their eclipsed brightness add up (which is expected from translucency). Also near the observed stratification of the texture by colors, stripes perpendicular to the equator. I suppose that the problem may be with the additional data in PNG that Celestia cannot read correctly.
Almost the same texture with and without a bug: puck_textures.zip
Screenshots: 1.6.1 (+CO) 1.7.0
I confirm this bug.
In the provided example:
- good image is true RGB
- bad image has indexed palette
Thanks, you're right. But I just indexed palette of texture and tested it, and it worked fine. So the problem is something else.
Sudden sequel. It seems that there is also a bug in the specular maps of a certain type, I will study it.
I checked Puck's textures and these specular maps for the mode in Pillow (Python library).
Сlear result: Celestia doesn't read correctly PNG textures with the indexed color palette, it's the mode P
in Pillow.