Realishtime Radiosity And Next Shooter Selection

18
Realishtime Radiosity And Next Shooter Selection Jeff Pool COMP 870 Final December 4, 2008 UNC Dept. of Computer Science

description

Realishtime Radiosity And Next Shooter Selection. Jeff Pool COMP 870 Final December 4, 2008 UNC Dept. of Computer Science. Approaches to Radiosity. CPU matrix solving GPU gathering GPU scattering GPU scatter/gathering Hemicubes Hemispheres. I tried:. GPU gathering Hemicubes - PowerPoint PPT Presentation

Transcript of Realishtime Radiosity And Next Shooter Selection

Page 1: Realishtime Radiosity And Next Shooter Selection

Realishtime RadiosityAnd Next Shooter Selection

Jeff PoolCOMP 870 Final

December 4, 2008UNC Dept. of Computer Science

Page 2: Realishtime Radiosity And Next Shooter Selection

Approaches to Radiosity

• CPU matrix solving

• GPU gathering• GPU scattering• GPU scatter/gathering

• Hemicubes• Hemispheres

Page 3: Realishtime Radiosity And Next Shooter Selection

I tried:

• GPU gathering• Hemicubes – 5 renders per subelement– No form factor calculations, though

• FBOs• Hemispheres• Scatter/Gather

Page 4: Realishtime Radiosity And Next Shooter Selection

Approach 1 - Hemicubes

• Gathering– 50x50 elements

• Hemicubes– 5 renders per element

• CPU processing– Bandwidth issues

~24 hours

Page 5: Realishtime Radiosity And Next Shooter Selection

Approach 2 – Hemicubes w/ FBO

• Gathering• Hemicubes• FBO– No sending data

back and forth

~5 minutes

Page 6: Realishtime Radiosity And Next Shooter Selection

Approach 3 – Coombe, et al.

• Scatter/Gather• Hemispheres• FBO

~1/2 second

Page 7: Realishtime Radiosity And Next Shooter Selection

Key Points

• ID Buffer• Hemispheres• Progressive refinement– Next shooter selection– (fp MipMap generation)

• Texture packing for residual/full textures– (HW now has MRT)

Page 8: Realishtime Radiosity And Next Shooter Selection

ID Buffer

• Elements rendered with ID colors for visibility (hard part of form factors)

• Correlated to hemisphere rendered by shooter

Page 9: Realishtime Radiosity And Next Shooter Selection

Hemispheres

• Only one pass, not 5• Can be some distortion,

so target framebuffer must be large for accurate visibility

Page 10: Realishtime Radiosity And Next Shooter Selection

ID texture size

Page 11: Realishtime Radiosity And Next Shooter Selection

Shooting Pass

• Scene rendered into hemisphere by shooter• Each element is rendered as a quad• Per fragment:– Form factor computation– Visibility = Idcolor==hemisphere(projectedPos) – Energy = FF * Reflectance * Visibility

Page 12: Realishtime Radiosity And Next Shooter Selection

Updating the elements

• Easy: Blend 1 + 1 (src + dst) = additive rendering

• Render to multiple targets – residual AND full• Shooter’s residual framebuffer is simply

cleared

Page 13: Realishtime Radiosity And Next Shooter Selection

Next Shooter Selection

• Trivial to select element with most energy left– Multiply lowest mipmap level by area

• HOWEVER, two things to consider– Visual impact of color bleeding– Frame-frame coherence

Page 14: Realishtime Radiosity And Next Shooter Selection

Problem #1

Importance of color over brightness6 shots over 64x64 (~0.3 seconds)

Page 15: Realishtime Radiosity And Next Shooter Selection

Problem #2

Note the flickering as the light source descends, which can be pretty distracting

Page 16: Realishtime Radiosity And Next Shooter Selection

Problem #2 (2)

Page 17: Realishtime Radiosity And Next Shooter Selection

Different Preference Measures

• Sum of components• Max of components• Variance (+mean)• Luminance

Page 18: Realishtime Radiosity And Next Shooter Selection

SO:

• Radiosity at realtime framerates (1-10 fps)

• Quality tradeoffs for speed:– Size of hemisphere

texture– Subdivision size– Aggregate shooting

• Preferential next shooter selection– Brightness– Color– Coherence