Realishtime Radiosity And Next Shooter Selection
description
Transcript of Realishtime Radiosity And Next Shooter Selection
Realishtime RadiosityAnd Next Shooter Selection
Jeff PoolCOMP 870 Final
December 4, 2008UNC Dept. of Computer Science
Approaches to Radiosity
• CPU matrix solving
• GPU gathering• GPU scattering• GPU scatter/gathering
• Hemicubes• Hemispheres
I tried:
• GPU gathering• Hemicubes – 5 renders per subelement– No form factor calculations, though
• FBOs• Hemispheres• Scatter/Gather
Approach 1 - Hemicubes
• Gathering– 50x50 elements
• Hemicubes– 5 renders per element
• CPU processing– Bandwidth issues
~24 hours
Approach 2 – Hemicubes w/ FBO
• Gathering• Hemicubes• FBO– No sending data
back and forth
~5 minutes
Approach 3 – Coombe, et al.
• Scatter/Gather• Hemispheres• FBO
~1/2 second
Key Points
• ID Buffer• Hemispheres• Progressive refinement– Next shooter selection– (fp MipMap generation)
• Texture packing for residual/full textures– (HW now has MRT)
ID Buffer
• Elements rendered with ID colors for visibility (hard part of form factors)
• Correlated to hemisphere rendered by shooter
Hemispheres
• Only one pass, not 5• Can be some distortion,
so target framebuffer must be large for accurate visibility
ID texture size
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
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
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
Problem #1
Importance of color over brightness6 shots over 64x64 (~0.3 seconds)
Problem #2
Note the flickering as the light source descends, which can be pretty distracting
Problem #2 (2)
Different Preference Measures
• Sum of components• Max of components• Variance (+mean)• Luminance
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