Interactive Volume Rendering Aurora on the GPU

30
1 Interactive Volume Rendering Aurora on the GPU Orion Sky Lawlor, Jon Genetti University of Alaska Fairbanks 2011-02-01 http://www.cs.uaf.edu/ 8

description

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? - PowerPoint PPT Presentation

Transcript of Interactive Volume Rendering Aurora on the GPU

Page 1: Interactive Volume Rendering  Aurora on the GPU

1

Interactive Volume Rendering Aurora on the GPU

Orion Sky Lawlor, Jon GenettiUniversity of Alaska Fairbanks

2011-02-01

http://www.cs.uaf.edu/

8

Page 2: Interactive Volume Rendering  Aurora on the GPU

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

Page 3: Interactive Volume Rendering  Aurora on the GPU

(1) What are the Aurora?

Page 4: Interactive Volume Rendering  Aurora on the GPU

Charged particles from the Sun

Image credit: NASA

Page 5: Interactive Volume Rendering  Aurora on the GPU

Particles intersect Magnetosphere

Image credit: Wikipedia

Page 6: Interactive Volume Rendering  Aurora on the GPU

What are the Aurora?Sheets of electrons coming down

Earth's magnetic field lines, and

hitting the upper atmosphere

Page 7: Interactive Volume Rendering  Aurora on the GPU

What are the Aurora?electrons: 1-20kV, millions of amps

magnetic field: inclined to surface

atmosphere: 50-500km up

Page 8: Interactive Volume Rendering  Aurora on the GPU

Aurora: Best Viewed From Orbit

Image credit: NASA (ISS)

Page 9: Interactive Volume Rendering  Aurora on the GPU

(2) Representing Auroraon the GPU

Page 10: Interactive Volume Rendering  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)

Page 11: Interactive Volume Rendering  Aurora on the GPU

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

Page 12: Interactive Volume Rendering  Aurora on the GPU

2D Curtain Footprints: Fluids Hack

Page 13: Interactive Volume Rendering  Aurora on the GPU

Deposition Function: MSIS Atmosphere

Page 14: Interactive Volume Rendering  Aurora on the GPU

Deposition Function vs Altitude

Page 15: Interactive Volume Rendering  Aurora on the GPU

“Height” includes Magnetic Inclination

Page 16: Interactive Volume Rendering  Aurora on the GPU

(3) Speeding up Rendering

Page 17: Interactive Volume Rendering  Aurora on the GPU

Explicit list of compositing orders

Don't use Recursive Raytracing!

Page 18: Interactive Volume Rendering  Aurora on the GPU

Begin with 2D Curtain Footprints

Page 19: Interactive Volume Rendering  Aurora on the GPU

Build Distance Field to find Curtains

Algorithm:Jump Flooding[Rong & Tan]

Page 20: Interactive Volume Rendering  Aurora on the GPU

Algorithm:Proximity Clouds[Cohen & Sheffer]

Use Distance Field to Render Curtains

Page 21: Interactive Volume Rendering  Aurora on the GPU

Measured “Performance Image”

White = 200ns/pixel Black = 10ns/pixel

Page 22: Interactive Volume Rendering  Aurora on the GPU

Compounding Speedups

Factor 3D into 2D + height: 2xUse GPU instead of CPU: 100xNon-recursive raytracer: 3xDistance field acceleration: 3.5x

Old version: 10 minutes/frame

New version: 20-60 frames/sec

Page 23: Interactive Volume Rendering  Aurora on the GPU

(4) MPIglut &

1x109 rays/second

Powerwall Aurora Rendering

Page 24: Interactive Volume Rendering  Aurora on the GPU

Sequential OpenGL Application

Page 25: Interactive Volume Rendering  Aurora on the GPU

Parallel Powerwall Application

Page 26: Interactive Volume Rendering  Aurora on the GPU
Page 27: Interactive Volume Rendering  Aurora on the GPU

Compounding Speedups

Factor 3D into 2D + height: 2xUse GPU instead of CPU: 100xNon-recursive raytracer: 3xDistance field acceleration: 3.5xUse ten GPUs with MPIglut: 8x

Old version: 10 minutes/frame @ 1080p

New version: 30 frames/sec @ 8400x4200

Page 28: Interactive Volume Rendering  Aurora on the GPU

Powerwall Aurora Rendering

Demo Movie

Page 29: Interactive Volume Rendering  Aurora on the GPU

(5) Future Work:Moving curtains!

Red slow-glow

Terrain Geometry

Clouds & Sunrise

Planetarium Show

Page 30: Interactive Volume Rendering  Aurora on the GPU

Questions?