non-bijectivity, it does bring additional requirements
in terms of storing and handling past data in memory.
For further details and history about temporal co-
herence and reprojection, as well as for reviewing a
multitude of other ways of accelerating ray tracing
to an interactive/real-time level, we refer the reader
to (Wald and Slusallek, 2001) and (Scherzer et al.,
2012).
Nowadays reprojection is used by modern real-
time denoisers for stochastic sampling (Koskela et al.,
2019; Schied et al., 2018; Schied et al., 2017; Mara
et al., 2017), in order to generate a better quality input
before the actual denoising filter. Moreover, reprojec-
tion is used extensively in rasterized game graphics.
One of the most commonly used reprojection meth-
ods is called Temporal Anti-Aliasing (TAA) (Karis,
2014), which generates an anti-aliased image without
extra spatial samples. Instead, the temporal samples
are reprojected and used for smoothing the edges in
the image. With TAA, the camera is typically sub-
pixel jittered with a Halton sequence for achieving the
same smoothing effect even with a static camera.
2.2 Stereo Reprojection
In stereo reprojection, we reproject samples from one
spatial viewpoint to another at the same time instant.
In the standard stereoscopic case, the eyes can be
thought of as two distinct cameras that are separated
by approximately 6.5 centimeters (the eye separation
of an average human), and we reproject samples from
one camera’s viewpoint to the other.
There are two well-established methods for set-
ting up stereoscopic cameras: a parallel or sensor-
shift camera setup, where the two virtual cameras are
translated only horizontally, and a converged or toe-in
camera setup, which additionally introduces a slight
inward rotation for convergence. Converged camera
setups have been shown to produce visual distortions
such as keystoning (Woods et al., 1993), and thus par-
allel stereoscopic cameras are preferred for viewing
comfort (Allison, 2007).
Stereo reprojection can be thought of as a special
case of temporal reprojection (Adelson and Hodges,
1993). Specifically, if there is only camera move-
ment and the scene remains otherwise static, there is
no fundamental difference whether the camera move-
ment is interpreted as a change in viewpoint spatially
or temporally.
An early example of stereo reprojection (Ezell
and Hodges, 1990) built on the work of (Badt, 1988)
and combined it with a calculation of stereo dispar-
ity information in order to do the reprojection. With
their method, between 20% and 50% of the pixels
in the target frame needed to be ray traced after re-
projection. A more optimized method (Adelson and
Hodges, 1993) made a simplifying observation that
they could only reproject the x-coordinates of the
samples, based on an assumption that the observer’s
eyes are level (i.e., their head is not tilted). They ob-
tain an estimate of 93% reduction in the amount of
rays that need to be traced for the second eye, albeit
they do not address all problems related to the dispar-
ity between the two views (Ip et al., 1997).
A more general approach that does not assume
horizontally level eyes, introduced in (Ip et al., 1997),
leveraged coherence in the epipolar geometry of a
stereo image pair, subdividing the space with epipolar
planes; their algorithm ran in 30–50% of the time of
their comparison algorithm.
Reprojection based methods can also support ani-
mated rigid objects (Rosado, 2007). If there is a way
to compute the screen space motion vector for an an-
imated object, it can be both forward and backward
reprojected. The motion vectors can be computed for
common rigid body animations such as translation,
rotation and scaling.
With the modern rise in popularity of 3D con-
tent, stereoscopic ray tracing and reprojection algo-
rithms have also evolved to cover more general multi-
view synthesis; see, e.g., (Andersson et al., 2011)
and the references therein. However, as even mono-
scopic real-time ray tracing is only now becoming
tractable, enabling stereoscopic real-time ray tracing
remains a challenge for the near future. The recent
NVIDIA Turing architecture offers hardware acceler-
ation for rendering up to four views in a single render
pass, allowing discrepancy between the eyes also in
the y-coordinate, whereas the acceleration introduced
in their earlier Pascal architecture only supported two
views (implying a narrower field of view) and discrep-
ancy only in the x-coordinate, assuming horizontally
level eyes (Bhonde and Shanmugam, 2018). How-
ever, its potential in combination with their ray tracing
hardware is not detailed. Nevertheless, as we high-
light in this paper, sample reprojection provides one
practical way of reducing the computational complex-
ity of stereoscopic real-time ray tracing.
3 QUALITY EVALUATION
As seen in Section 2, the advantage of sample repro-
jection is often expressed in terms of the percentage
of saved rendering time, or especially in ray tracing,
as the percentage of reduction in the amount of traced
rays. While such statistics are useful and descriptive,
they do not convey information about the quality of
Reducing Computational Complexity of Real-Time Stereoscopic Ray Tracing with Spatiotemporal Sample Reprojection
369