…and other cool graphics stuff David Luebke University of Virginia Overview I’ll talk about a bunch of current projects: – – – – – – Scanning Monticello Immersive display Level of detail GPGPU Interactive ray tracing Graphics architectures Scanning Monticello Fairly new technology: scanning the world Scanning Monticello Want a flagship project to showcase this Idea: scan Thomas Jefferson’s Monticello – Historic preservation – Virtual tours – Archeological and architectural research, documentation, and dissemination – Great driving problem for scanning & rendering research Scanning Monticello—Demo Scanning Monticello: Where To Next? Building structured light scanner – Idea: Shine bars of light at object Discern its shape from their shape – Jeff Peirson is building a portable structuredlight rig for scanning objects, friezework, and so on at Monticello Scanning Monticello: Where To Next? Capture high dynamic range color to go with scanned geometry – Show HDR, tone mapping examples – Idea: Scan w/ laser, then take lots of pictures Lots of pictures, different exposures, different locations (maybe even video?) Figure out camera location very accurately For all “correct” pixels in each image: Project onto geometry Store for that location and direction – Might work with Rhythm & Hues on this Immersive Display: New Orleans Museum of Art Jefferson’s America & Napoleon’s France – Major exhibition commemorating bicentennial of the Louisiana Purchase Included a “Virtual Monticello” exhibit – Virtual window – Barrier stereogram Show NOMA videos Immersive Display: Here at UVA We have the pieces of a cool virtualreality immersive display system – – – – – Screens (3 silver, 2 rear-projection) Projectors (6 dedicated, 3 others) Head tracker Spatial audio Even part of the NOMA “window”! Need to bring all the pieces together – Got a good start already Immersive Display: Research Design and conduct experiments with perception lab – Study the perceptual/cognitive effects of added layers of realism – Almost guaranteed to produce papers Also fits into other research efforts – Perceptual level of detail/animation – Perceptual interactive ray tracing – Chromium Level of Detail A recurring theme in computer graphics: trade fidelity for performance – Reduce level of detail of distant, small, or unimportant objects 249,924 polys 62,480 polys 7,809 polys 975 polys Level of Detail A recurring theme in computer graphics: trade fidelity for performance – Reduce level of detail of distant, small, or unimportant objects Level of Detail: Big models! – David: 56 million polygons – St. Matthew: 372 million polygons Courtesy Digital Michelangelo Project Motivation Level of Detail Research: VDSlib Comparatively recent technique: continuous level of detail – Adapt LOD continuously, not discrete chunks Better fidelity/triangle Hard to make fast on today’s hardware – VDSlib: efficient view-dependent LOD Cool data structures & algorithms Could make a big difference in 3D game design Still work to be done to make fast enough Level of Detail Research: GLOD GLOD: – High-level library for LOD in OpenGL Goal: make high-quality LOD easy to integrate in games and other graphics applications Includes and interfaces with VDSlib Cool software (interface design) issues Free membership in the Church of Glöd – Show GLOD video GPGPU General-purpose computation on graphics hardware (GPUs) Modern GPUs are fantastically capable – Extremely programmable – Full floating-point precision – Fast, so fast (20 GFLOPS sustained on GFX 5900) We want to harness that power for scientific computing – But it’s harder than it sounds GPGPU: CA Simulations on GPU Promising domain: cellular automata (CA) simulations – Ex: Conway’s “Game of life” Application: modeling cardiac tissue fibrillation – Collab with Don Jordan, MAE, and med school personnel Possible application: simulate microvascular remodeling – Collab with Tom Skalak, BME GPGPU: Other domains Fluid mechanics simulation – – – – Flow across a flapping wing Modeling viscoelastic fluids Joint work with Hossein Haj-Hariri, MAE Cool math (PDEs) Heat transfer – Simulating heat propagating across chip – Joint work with Kevin Skadron, Mircea Stan Others… The Big Question How should we evaluate and regulate the visual fidelity of our simplifications? Measuring Fidelity Fidelity of a simplification to the original model is often measured geometrically: METRO by Visual Computing Group, CNR-Pisa Measuring Visual Fidelity However… – The most important measure of fidelity is usually not geometric but perceptual: does the simplification look like the original? Therefore: – We are developing a principled framework for LOD, based on perceptual measures of visual fidelity Perceptual LOD Idea: measure local simplification measures against a perceptual model to predict whether the user can could see the effect of simplification Model: contrast sensitivity function Perception 101: Contrast Sensitivity Function Contrast grating tests produce a contrast sensitivity function – Threshold contrast vs. spatial frequency – CSF predicts the minimum detectable static stimuli Your Personal CSF Campbell-Robson Chart by Izumi Ohzawa Perceptual Graphics: Where To Next? Incorporate eccentricity, velocity (attention?) Protect copyrighted media: imperceptible “watermarking” via mesh distortion Interactive ray tracing… Interactive Ray Tracing Interactive ray tracing – Once a joke, now a reality – Interesting opportunity: prioritized pixel sampling for perceptually driven rendering Sample edges, center of gaze, etc more Requires reconstruction of sparse samples! Cool perceptual, signal processing issues System: OpenRT – Would like to install on our 24-node cluster – Cool systems hacking issues Graphics Architecture We are exploring research topics in computer graphics architecture – Thermal-aware graphics Joint work with Kevin Skadron – Building a simulator to explore these and other issues My Projects: Proposed projects: – – – – – – – Scanning Monticello Immersive display Level of detail GPGPU Perceptual graphics Interactive ray tracing Graphics architecture Summary Proposed projects: – Scanning Monticello – – – – – – Structured light HDR capture Immersive display Level of detail GPGPU Perceptual graphics Interactive ray tracing Graphics architecture Summary Proposed projects: – Scanning Monticello – Immersive display – – – – – System building Perception expts Level of detail GPGPU Perceptual graphics Interactive ray tracing Graphics architecture Summary Proposed projects: – Scanning Monticello – Immersive display – Level of detail – – – – VDSlib GLOD GPGPU Perceptual graphics Interactive ray tracing Graphics architecture Summary Proposed projects: – – – – Scanning Monticello Immersive display Level of detail GPGPU CA sims Fluid/heat sims – Perceptual graphics – Interactive ray tracing – Graphics architecture Summary Proposed projects: – – – – – Scanning Monticello Immersive display Level of detail GPGPU Perceptual graphics LOD/ray tracing Watermarking Integrate w/ display – Interactive ray tracing – Graphics architecture Summary Proposed projects: – – – – – – Scanning Monticello Immersive display Level of detail GPGPU Perceptual graphics Interactive ray tracing Perceptual heuristics Sampling/recon – Graphics architecture Summary Proposed projects: – – – – – – – Scanning Monticello Immersive display Level of detail GPGPU Perceptual graphics Interactive ray tracing Graphics architecture Summary Proposed projects: – – – – – – – Scanning Monticello Immersive display Level of detail GPGPU Perceptual graphics Interactive ray tracing Graphics architecture Desired student attributes: – Willing to commit 10-15 hours per week – Self-starter – Good discipline & time management skills – Here over summer – Good programmer – Intro graphics (or equiv) – Hardware capable – Strong math skills – Intro perception knowledge