300 likes | 512 Views
Orion Sky Lawlor, Jon Genetti University of Alaska Fairbanks 2011-02-01 http://www.cs.uaf.edu/. Interactive Volume Rendering Aurora on the GPU. 8. Structure of talk: (1) What are the Aurora? (2) How do we represent Aurora on the GPU? (3) How do we render Aurora efficiently?
E N D
Orion Sky Lawlor, Jon Genetti University of Alaska Fairbanks 2011-02-01 http://www.cs.uaf.edu/ Interactive Volume Rendering Aurora on the GPU 8
Structure of talk: (1) What are the Aurora? (2) How do we represent Aurora on the GPU? (3) How do we render Aurora efficiently? (4) How do we render Aurora on a powerwall? (5) Conclusions & future work
Charged particles from the Sun Image credit: NASA
Particles intersect Magnetosphere Image credit: Wikipedia
What are the Aurora? Sheets of electrons coming down Earth's magnetic field lines, and hitting the upper atmosphere
What are the Aurora? electrons: 1-20kV, millions of amps magnetic field: inclined to surface atmosphere: 50-500km up
Aurora: Best Viewed From Orbit Image credit: NASA (ISS)
(2) Representing Aurora on the GPU
Prior Aurora Representations • Nonphysical hacks [e.g., screensavers] • 100% phemonological • No planet, no units, no atmosphere, etc. • But it looks good • Individual Charged Particles [Baranoski, Rokne, et al] • Easy to physically transport through magnetosphere • Nearly zero data storage requirements • Difficult to render from arbitrary viewpoint (sampling!) • Volume-Rendered Voxel Grid [Genetti] • Easy to render from arbitrary viewpoint (raycasting) • 10000 km * 10000 km * 500 km thick = serious RAM! • Only feasible with hierarchical storage (slow render)
Our Aurora Representation • Factor 3D aurora display into 2D * height • 2D is electron intensity map: “curtain footprints” • Stored as 163842 2D texture (polar coordinates) • Currently generated with phenomological fluid hack • Working on output from a real HPC simulation • Height-dependent electron deposition function • Given electron intensity and height, return emission • Also stored as a 2D texture, 10242 • Computed from particle scattering laws [Lazarev] • Uses MSIS upper atmosphere model • Auroral electrons are moving at relativistic speeds (60000 km/s for 10KeV), so this approximation is quite accurate
Explicit list of compositing orders Don't use Recursive Raytracing!
Build Distance Field to find Curtains Algorithm: Jump Flooding [Rong & Tan]
Use Distance Field to Render Curtains Algorithm: Proximity Clouds [Cohen & Sheffer]
Measured “Performance Image” White = 200ns/pixel Black = 10ns/pixel
Compounding Speedups Factor 3D into 2D + height: 2x Use GPU instead of CPU: 100x Non-recursive raytracer: 3x Distance field acceleration: 3.5x Old version: 10 minutes/frame New version: 20-60 frames/sec
(4) MPIglut & 1x109 rays/second Powerwall Aurora Rendering
Compounding Speedups Factor 3D into 2D + height: 2x Use GPU instead of CPU: 100x Non-recursive raytracer: 3x Distance field acceleration: 3.5x Use ten GPUs with MPIglut: 8x Old version: 10 minutes/frame @ 1080p New version: 30 frames/sec @ 8400x4200
Powerwall Aurora Rendering Demo Movie
(5) Future Work: Moving curtains! Red slow-glow Terrain Geometry Clouds & Sunrise Planetarium Show