True Impostors - Eric Risser
True Impostors - Eric Risser
True Impostors - Eric Risser
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Figure 5: The same impostor is shown from multiple arbitrary viewing directions. <strong>True</strong> <strong>Impostors</strong> is the first technique which has successfully<br />
been able to render view directions which significantly deviate from the profile, as shown in the third and last image.<br />
Figure 7: A visible crease is shown along the intersection of two<br />
surfaces. Due to averaging normal values.<br />
surfaces. As a proof of concept a sphere is rendered using reflection<br />
in figure 8.<br />
Figure 8: Reflective impostor.<br />
The method performs similarly to other per-pixel displacement<br />
mapping techniques; however, there are concerns unique to <strong>True</strong><br />
<strong>Impostors</strong>. Performance is fill-rate dependent. Since billboards can<br />
occlude neighbors it is crucial to perform depth sorting on the CPU<br />
to avoid overdraw. Since <strong>True</strong> <strong>Impostors</strong> is fill-rate dependent, level<br />
of detail is intrinsic, and this is a great asset.<br />
With <strong>True</strong> <strong>Impostors</strong> it is possible to represent more geometry on<br />
screen at once then could be achieved using standard polygonal<br />
means, an example is shown on the first page where a model of<br />
Jupiter is rendered using a quarter of a million asteroids to comprise<br />
its ring. <strong>True</strong> <strong>Impostors</strong> was implemented in C++ using DirectX<br />
9. All benchmarks were taken using a GeForce 6800Go and two<br />
GeForce 7800’s run in SLI. Although the vertex processor is crucial<br />
to <strong>True</strong> <strong>Impostors</strong>, the resulting operations do not put a heavy<br />
workload on the vertex processing unit and do not result in noticeable<br />
drops in performance. The performance of this technique is<br />
primarily determined by the fragment processing unit, the number<br />
of pixels on the screen, the number of search steps taken for<br />
each pixel, and which rendering technique is used. When performing<br />
ray casting the performance mirrored that of Relief Mapping<br />
of Non-Height-Field Surface Details [Policarpo et al. 2006] due to<br />
the similar ray casting technique used in both methods. The Jupiter<br />
model consisting of a quarter of a million impostors with a linear<br />
search size of 10 steps and a binary search size of 8 steps rendered<br />
in a 1024x768 window at 10 frames per second on the 6800Go and<br />
35 - 40 frames per second on the 7800SLI. The ray tracing technique<br />
was rendered in a 800x600 window using 20 search steps and<br />
achieved on average 7-8 frames per second on the 6800Go and 25-<br />
30 frames per second on the 7800SLI. No comparisons are made<br />
between the performances of the two techniques due to the fundamentally<br />
different rendering solutions they both offer. The only<br />
generalized performance statement made about the two techniques<br />
is that they both have been shown to achieve real time frame-rates<br />
on modern graphics hardware.<br />
5 Discussion<br />
<strong>True</strong> <strong>Impostors</strong> offer a quick, efficient method for rendering large<br />
numbers of animated opaque, reflective or refractive objects on the<br />
GPU. It generates impostors with very little rendering error and offers<br />
inherent per-pixel level of detail. These results are achieved<br />
by building upon the concepts laid out in Relief Mapping of Non-<br />
Height-Field Surface Details [Policarpo et al. 2006] and Parallax<br />
Occlusion Mapping [Tatarchuk. 2006]. By representing volume<br />
data as multiple height fields stored in traditional texture maps,<br />
the vector processing nature of modern GPUs is exploited and a<br />
high frame rate is achieved along with a low memory requirement.<br />
By abandoning the restrictions inherent in keeping per-pixel displacement<br />
mapping a subsurface detail technique, a new method for<br />
rendering staggering amounts of faux-geometry has been achieved,<br />
not by blurring the line between rasterization and ray tracing, but<br />
through a hybrid approach, taking advantage of the best each has<br />
to offer. This method is ideal for video games as it improves an<br />
already widely used technique.