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).

Built With

+ 1 more
Share this project:

Updates