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