Today I am going to share a discovery that might not be newsworthy for many people, but for me it seemed somewhat scanadalous at first. Could it really be true that an oversight of this kind slips through the cracks and makes it to the front page of publicly released NASA pictures? Apparently yes. This talk is about missing gamma correction in some space images which therefore give an unrealistic appearance. This issue seems to exist on top of the color-filter issue (where the imaging instruments mostly do not have spectral sensitivities that correspond to human vision) and results in a distortion of brightness relationships between objects. Extra caution is therefore advised when using these images as a reference for artistic purposes.
The Lunar Transit picture
I remember how in 2015 an image of a lunar transit taken by the Earth Polychromatic Imaging Camera (EPIC) made rounds in several twitter threads. These transits happen regularly, the latest one being from february this year. There’s just one problem with these images as originally published on the NASA website: they’re too dark. As if somebody took the files with the linear photon counts from the scientific instruments, and threw them together to make the images while forgetting to account for display gamma.
Here is a recent shower thought:
It is usually said that the colors of noise are inspired by the spectral distributions of corresponding colors of light. For example, the ‘white’ in white noise is an allusion to white light which is thought to have a (mostly) flat spectrum. But is this so? How does white light actually look like, as an electromagnetic wave?
So I made following figure which shows some power-law distributions in the visible range of wavelengths colored by their theoretical appearance:
Fig 1: Spectral distributions with exponents from 0 to −4.
The color of the flat line is also known as Standard Illuminant E – or equal-energy white light. Compared to the D65 white background it has a rather pinkish appearance with a correlated color temperature of about 5500 K.
This post is the first in a series to follow-up on my 2012 GPU Pro 3 article about atmospheric scattering . What I showed there was a full single-scattering solution for a planetary atmosphere running in a pixel shader, dynamic and in real time, without pre-computation or simplifying assumptions. The key to this achievement was a novel and efficient way to evaluate the Chapman function , hence the title. In the time since then I have improved on the algorithm and extended it to include aspects of multiple scattering. The latter causes horizontal diffusion (twilight situations) and vertical diffusion (deep atmospheres), and neither can be ignored for a general atmosphere renderer in a space game, for example.
I have written a Shadertoy that reflects the current state of affairs. It’s a mini flight simulator that also features clouds, and other rendering goodies. A WebGL 2 capable browser is needed to run it. Under Windows, the ANGLE/Direct 3D translator may take a long time to compile it (up to a minute is nothing unusual, but it runs fast afterwards). When successfully compiled it should look like this:
In my previous rant about dynamic exposure in Elite Dangerous (which honestly applies to any other space game made to date), I made a rough calculation to predict the brightness of stars as they should realistically appear in photos taken in outer space. My prediction was, that,
- for an illumination of similar strength to that on earth,
- if the sunlit parts are properly exposed,
- and with an angular resolution of about 2 arc minutes per pixel,
then the pixel-value of a prominent star should be in the order of 1 to 3 (out of 255, in 8‑bit sRGB encoding). Since then I was curious to find some real world validation for that fact, and it seems I have now found it.
I am a backer of the upcoming Elite Dangerous game and have participated in their premium beta programme from the beginning, positively enjoying what was there at the early time. ‘Premium beta’ sounds like an oxymoron, paying a premium for an unfinished game, but it is nothing more than purchasing the same backer status as that from the Kickstarter campaign.
I came into contact with the original Elite during christmas in 1985. Compared with the progress I made back then in just two days, my recent performance in ED is lousy; I think my combat rating now would be ‘competent’.
But this will not be a gameplay review, instead I’m going to share thoughts that were inspired while playing ED, mostly about graphics and shading, things like dynamic range, surface materials, phase curves, ‘real’ photometry, and so on; so … after I loaded the game and jumped through hyperspace for the first time (actually the second time), I was greeted by this screen filling disk of hot plasma:
I have experimented recently with zone plates, which are the 2‑D equivalent of a chirp. Zone plates make for excellent test images to detect deficiencies in image processing algorithms or display and camera calibration. They have interesting properties: Each point on a zone plate corresponds to a unique instantaneous wave vector, and also like a gaussian a zone plate is its own Fourier transform. A quick image search (google, bing) turns up many results, but I found all of them more or less unusable, so I made my own.
Zone Plates Done Right
I made the following two 256×256 zone plates, which I am releasing into the public so they can be used by anyone freely.
Here are some philosophical and rendering-related questions that I took home from the last vacation. What’s the color of clouds? The standard answer would be, white. What’s the color of snow? Again, white. Ok, then look at the following picture, where the snow seems considerably whiter. This is the case in almost all photos that I took.
There is an image on Wikipedia from the same general area on which the brightness difference between clouds vs snow is even more pronounced. If you look at the directly lit parts of the snow and consider it white (
#ffffff), then the directly lit parts of the clouds are at most 50% grey (
#bbbbbb). Is that an evidence of air pollution? Unlikely! (At least not in Tyrol).