-
GIF
A glowing-hot box approaches the speed of light. The side is revealed by Terrell rotation as the color changes from doppler boosting.
-
GIF
A box passes by an observer as it approaches 99.9% the speed of light. Terrell rotation means you can see the sides of the box.
-
Cosmic Microwave background boosted to 0.7 the speed of light. Colour bar in units of micro-Kelvins.
-
GIF
Random star field boosted by velocities ranging from 0.01c to 0.99c.
-
GIF
Modulated and Aberrated all sky image. Demonstrates the beaming of light in the forward direction.
Inspiration
There has been an explosion of computing power thanks to the parallelism enabled by GPUs. However, GPUs specialize at linear transformations, as this is a good model for how cameras take photos. This cannot capture special relativity, which involves non-linear transformations. This is why ray-casting is necessary to capture images when objects are moving at an appreciable fraction of the speed of light. The latest GPUs now support some ray-tracing, meaning that it is time for computer graphics programmers to support fully relativistic graphics.
What it does
Performs ray-casting calculations against rectangular planes, with relativistic corrections to position. We also include corrections to the black-body spectrum due to relativity (so that, if the box is glowing hot, we can see how the apparent temperature of each face changes as it gets faster or slower). We also implement the boosting of an all sky image using Healpy, which shows the implementation for real data, such as Cosmic Microwave background (CMB) data from instruments such as Planck. This is a read signal due to the motion of the telescopes we use relative to the rest frame of the CMB.
What's next for Relativistic Computer Graphics with Ray Casting
Relativistic Lambertian scattering, so that we can have objects illuminated by other objects. Intersections with primitives other than planes (e.g. triangular planes would enable arbitrary 3D meshes, or spheres).





Log in or sign up for Devpost to join the conversation.