Download presentation source
Download
Report
Transcript Download presentation source
CS 551/651:
LOD Wrapup & Silhouettes
David Luebke
[email protected]
http://www.cs.virginia.edu/~cs551dl
DPL
7/27/2016
Administrivia
Exercise 2
– Use particle-system API to produce a
cool effect
– Up to 3 extra credit points for
assignments (only one 3)
– Due May 4
Makeup class
– A.k.a. Glunch tomorrow: I3D review
DPL
7/27/2016
Particle Systems
Basic idea: animate a physical
system as a collection of particles
moving about the scene
– Independent: usually, particles don’t
affect each other
– Physical simulation: model particles as
infinitesimal masses being pushed
around by forces
– Ex: waterfall, tree, fire, tornado
DPL
7/27/2016
Particle Systems
Waterfall example
– Show demo
– Q: What do particles respond to?
Gravity
Objects to bounce off
– Can characterize the system as a
bunch of particles and an environment
which can impart forces to particles
DPL
Other examples
7/27/2016
Particle System API
Dave McAllister (UNC-Chapel Hill)
An API for specifying this
environment
A sample program demonstrating
many such environments and
rendering the particles using
OpenGL
Somewhat opaque documentation
DPL
7/27/2016
LOD Wrapup
We’ve talked about creating LODs
But what about choosing which LOD
to render?
Q: What criteria might you use to
choose which of multiple LODs
should represent an object?
DPL
7/27/2016
Choosing LOD
Some possible answers:
– Distance
– Screen coverage (How to calculate?)
– Eccentricity (center vs. periphery)
– Angular velocity (motion across screen)
– Depth of field (w/ stereo convergence)
– Semantic importance
– To meet a budget
DPL
7/27/2016
Choosing LOD
Q: What kind of budget are we
choosing LODs to meet?
– Triangles? Time?
– Generically: cost
Q: What do we want to optimize
within that budget?
– All of the above, possibly
– Generically: benefit
DPL
7/27/2016
Choosing LOD
Q: How can we pose this optimization
problem?
– SubQ: Does it remind you of anything?
Funkhouser & Sequin, SIGGRAPH 93:
variation of the knapsack problem
Q: So what’s the knapsack problem?
What’s the variation?
Q: How hard is this problem?
DPL
7/27/2016
Funkhouser & Sequin
Knapsack problem is NP-Complete
– But a simple greedy approach is
guaranteed to get within 50% of
optimal (What is it?)
– In practice, usually get even closer
– Funkhouser:
Benefit = weighted average of all criteria
discussed so far
Cost = function of # triangles, object size
DPL
7/27/2016
Funkhouser & Sequin
Funkhouser, continued
– Create LODs by hand
Cleverness: treat different levels of
radiosity solution as different LODs
– Assign LOD benefits by hand
– Pre-compile LODs into memorymapped data files
DPL
7/27/2016
Funkhouser & Sequin
Multi-stage algorithm:
– Determine object & cell visibility (Teller)
– Choose object LODs
– Render chosen LODs
Can do these on different
processors, pipelining frames
Use Teller’s view-independent
visibility to prefetch objects & cells
DPL
7/27/2016
And Now For Something
Completely Different…
Outlining silhouette edges
– Can make shape much easier to see
(ex: book, video)
– Q: How might you implement this?
DPL
Hint: lots of possible answers, some better
than others
7/27/2016