For each frame, the prediction uses the full VSOP87A for the heliocentric ecliptic position of the Earth and truncated ELP2000-82b for the geocentric ecliptic position of the Moon. After some coordinate transforms, a GPU fragment shader uses these positions to compute the angular size and separation of the Moon and the Sun from every position on Earth. The penumbra is drawn according to these GPU computations. Since the GPU code uses 32-bit floating point arithmetic, it is unable to compute the umbra accurately so it is computed in an identical way by the CPU (using 64-bit floating point arithmetic).
Is that your prediction based on the heliocentric model parameters?
For each frame, the prediction uses the full VSOP87A for the heliocentric ecliptic position of the Earth and truncated ELP2000-82b for the geocentric ecliptic position of the Moon. After some coordinate transforms, a GPU fragment shader uses these positions to compute the angular size and separation of the Moon and the Sun from every position on Earth. The penumbra is drawn according to these GPU computations. Since the GPU code uses 32-bit floating point arithmetic, it is unable to compute the umbra accurately so it is computed in an identical way by the CPU (using 64-bit floating point arithmetic).
@vsrr83
That was too technical, I'm way behind. However I do get it that you programed it, which is impressive