Graphics Reference
In-Depth Information
reused in successive frames; moreover, this cache can even be down-
loaded to the graphics hardware as a display list to eliminate its being
redundantly sent across the CPU/GPU boundary.
- As another example, consider 16.4.2.1(b). Simplified meshes computed
through algorithms such as those listed above should also be cached,
and, here again, there is the opportunity for either client-side (CPU) or
server-side (GPU) storage.
Cache the data that is used in the performance of these computations.
- For example, consider 16.4.2.1(a). View-frustum culling is typically
performed by organizing the candidate primitives into a BVH (see
Chapter 37), cached and reused across frames; moreover, the longevity
of this cached data structure can be extended by ensuring that it is
selectively updated as needed when changes are made to the scene's
geometry.
- As another example, consider 16.4.2.1(b). The decision-making logic
for the various types of conditional simplification is typically per-
formed through computation of the cost (a measurement of the geom-
etry's complexity and thus of the cost associated with rendering it) and
value (a measurement of how much screen real estate its image will
take up) for each graphics object. The value:cost ratio is then used by
the algorithm that determines how much simplification of a particular
object is tolerable. The value/cost information can be cached, of course,
keeping in mind that the “value” parts of the cache will need to be inval-
idated as POV changes occur.
The software that maintains an acceleration data structure is often nontrivial
in design; we address this topic further in Section 16.4.3.
As you were reading the above list of common AMIP tasks, you may have
been creating a mental image of a well-defined sequential pipeline such as that
shown in Figure 16.9.
It's important to note again that this is a highly conceptual view of the com-
plete AM-to-rendered-image graphics pipeline. Real-world implementations vary
from this abstract view in several ways.
CPU
Extract
scene
from AM
Reduce
scene to the
minimal PVS
Reduce the
cost of
geometry
Calculate
efficient IM-
layer spec
Drive GPU
GPU
GPU
optimization
GPU
rendering
Figure 16.9: Sample sequence of components in a typical AMIP.
 
 
Search WWH ::




Custom Search