Level of detail (LOD)

advertisement
4.4. LEVEL OF DETAIL
Exploration of 3D mesh level-of-detail approaches
Exploration of 3D mesh level-of-detail approaches
Level of Detail (LOD)
Level of detail (LOD) involves decreasing the complexity of a
rendered object as it moves away from the viewer (or according to
some other metric, e.g. importance, eye-space speed, etc.).
Using LOD, the workload on the graphical pipeline is reduced
(usually in terms of vertex transformations)
The reduced visual quality of the
model is often unnoticed because
of the small effect on object
appearance when distant or
moving fast.
Types of LOD
Three core types of LOD technique can be defined:
• Discrete LOD:
constructing a number
of discrete models of
varying level of detail
• Continuous LOD:
encoding a continuous
spectrum of detail from
coarse to fine
• View-dependent LOD:
adjusting detail across
the model in response
to the viewpoint
Discrete LOD
This is the simplest approach – at run-time the appropriate LOD need only
be selected and rendered.
The approach works well with current GPUs as each LOD can be stored in a
GPU friendly manner (triangle strips, cache-aware vertex arrays) which
render faster than the immediate-mode triangles often used in CLOD.
The downside of DLOD is the potential for popping when swapping
between LODs. Also, in theory, CLOD has higher fidelity. Finally, DLOD is
not particularly suitable for large objects or small object combination.
Continuous LOD
Whilst DLOD builds a number of preprocessed static views of the object,
continuous LOD (CLOD) builds a data
structure from which a desired level
of detail can be extracted at run time.
The advantages of CLOD include
better fidelity (as the LOD is explicitly
built, not preselected from some precreated options). CLOD also provides
better granularity (i.e. smoother
transitions, visual pops are less of an
issue).
View-Dependent LOD
View-Dependent LOD can be viewed as a type of CLOD which takes into
account the viewing angle, i.e. the algorithm allocates polygons where
they are most needed, within as well as among objects, based on where
the viewpoint is currently focussed.
The key advantage of
view-dependent LOD is
that is permit very large
objects to have high
detail for those portions
close to the viewpoint
and less detail for those
portions far away from
the camera.
LOD Selection Criteria
When selecting which LOD to use, relevant selection criteria can include:
•
•
•
•
distance
on-screen pixel size
environment factors
view point
Distance
The distance from the view point to the object (nearest point or simply mid
point) is simple and quick to compute.
LOD Selection Criteria
Size
Select resolution based upon the
projected screen size (or area) of
an element. Objects appear
smaller as they move further
away. This requires a 3D to 2D
projection in order to determine
the screen projection.
DLOD Preventing Popping
Different techniques
can be used to lessen
the visual impact of
DLOD popping,
including:
• hysteresis (the
lagging of an effect
behind its cause)
• geomorphs
• alpha-blending
DLOD Preventing Popping
Hysteresis
Different trigger points (e.g. distances)
are used to determine when to switch
up/down between LODs. This reduces
the effects of models continuously
switching at a threshold.
Priority Schemes
A priority is assigned to each object
based on the semantic importance of
the object (likely significance/focal
point for the user). High priority objects
will use a higher LOD than less
significance objects.
DLOD Preventing Popping
Alpha-Blending
By blending between two LODs (in image space) it provides a means of
fading in the new LOD whilst fading out the old LOD, thereby reducing the
visual impact of changing LOD from a visual pop to a more gradual morph.
Other areas of LOD application
The concept of LOD can applied to more than geometric detail.
For example, mipmapping is a form of texture based LOD which provides
higher rendering quality by avoiding aliasing effects when a large texture is
applied to a small screen area.
Other areas of LOD application
LOD techniques can also be applied to shader management to reduce the
render cost of distance pixels, e.g. bump mapping, etc. can be removed,
multiple textures can be reduced to a single texture (or even colour), etc.
Improved LOD
using normal mapping
Original model
(250k triangles)
Improved LOD
using normal mapping
Phong Shading
(8k triangles)
15 pixel error
Improved LOD
using normal mapping
Normal Mapping
(8k triangles)
15 pixel error
Improved LOD
using normal mapping
Phong Shading
(1k triangles)
78 pixel error
Improved LOD
using normal mapping
Normal Mapping
(1k triangles)
78 pixel error
Exploration of different terrain LOD techniques
Terrain LOD Techniques
Terrain rendering provids an
obvious target for LOD
techniques given the typical
terrain size and the need to
provide up-close detail
alongside far-off terrain
features.
Development of terrain LOD
algorithms has included:
• ROAM
• Geomipmaps
• Chunked LOD
• Geometry clipmaps
Real-time optimally adapting mesh (ROAM)
ROAM is a CLOD algorithm for
terrain meshes.
It uses pre-processed bintree
triangles alongside a split and
merge process to construct the
terrain mesh.
ROAM is CPU intensive and, for
current hardware, the cost benefit
of using ROAM to reduce the
number of polygons sent to be
rendered is typically not justified
(i.e. it is faster to save CPU time
and send some unneeded
polygons to the GPU).
Geomipmaps
Geomipmaps applies the notion of a image mipmap to a geometric
representation (typically using a heightmap texture)
The heightmap (or a square portion of the height map) is scaled down to
provide coarser representations (parallel image mipmapping).
At run time, the geomipmap
is selected based on the onscreen LOD error using the
current viewport.
Geomorphing is often used
(morphing from one LOD to
another) to avoid the visual
‘popping’ of terrain when the
selected LOD fragment
changes.
Chunked LOD
Chunked LOD extends geoclipmaps by constructing
a quad-tree of terrain chunks, which provides more
detail as the leaves of the tree are approached.
Chunked LOD improves upon geomipmapping as it
reduces the number of individual mesh renders that
must be performed.
Geometry clipmaps
Geometry clipmaps (which parallel texture clipmaps) use a set of nested
regular grids centered about the viewer.
The grids are stored in video memory as vertex buffers and contain filtered
versions of the terrain at power-of-two resolutions. As the viewpoint
moves, the clipmap levels shift and are incrementally refilled with data
Video not available in on-line slides
Directed reading concerning LOD and terrain rendering
Directed reading: General LOD
• Read Chapter 2 (Mesh Simplification)
from Level of Detail for 3D Graphics –
for general mesh LOD techniques
• Read Chapter 3 (Simplification Error
Metrics) from Level of Detail for 3D
Graphics – for information on how to
measure LOD differences
• Read Chapter 4 (Runtime
Frameworks) from Level of Detail for
3D Graphics – for information on how
LOD can be implemented at runtime
Directed reading: Terrain LOD
• Read ROAMing Terrain: Real-time
Optimally Adapting Meshes – for
information on ROAM
• Read Fast Terrain Rendering Using
Geometrical MipMappings – exploring
geomipmapping
• Read Rendering Massive Terrains
Using Chunked Level of Detail Control
– explore chunked LOD
• Read Geometry Clipmaps: Terrain
Rendering Using Nested Regular
Grids – for information on geoclipmaps
Directed reading: Terrain LOD
• Read Survey on Semi-Regular
Multiresolution Models for Interactive
Terrain Rendering – for a comparative
review of some terrain LOD techniques.
• Read GPU Gems 2 - Terrain Rendering
Using GPU-Based Geometry Clipmaps
– for more information on geoclipmaps
• Read Terrain Rendering using
Spherical Clipmaps – for a spherical
approach to geoclipmaps
Summary
Today we
explored:
 Different
types mesh
LOD technique
 Terrain LOD
techniques
Download