+ All Categories
Home > Entertainment & Humor > Advanced Real-time Post-Processing using GPGPU techniques

Advanced Real-time Post-Processing using GPGPU techniques

Date post: 24-Jun-2015
Category:
Upload: johan-andersson
View: 2,919 times
Download: 1 times
Share this document with a friend
Description:
Master thesis about GPGPU post-processing by Per Lönroth and Mattias Unger from Linköping University, Department of Science and Technology.
Popular Tags:
26
Advanced Real-time Post-Processing using GPGPU techniques
Transcript
Page 1: Advanced Real-time Post-Processing using GPGPU techniques

Advanced Real-time Post-Processing using GPGPU techniques

Page 2: Advanced Real-time Post-Processing using GPGPU techniques

Presentation overview

∙ Problem description and objectives∙ Depth of field∙ Methods∙ GPGPU programming∙ Results∙ Conclusion∙ Questions

Page 3: Advanced Real-time Post-Processing using GPGPU techniques

Problem description and objectives

∙ Post processing filters∙ Different depth of field algorithms∙ Visual quality

∙ Implement using HLSL and CUDA∙ Performance∙ Usability

Page 4: Advanced Real-time Post-Processing using GPGPU techniques

Depth of field

∙ Depth cue∙ Focus plane

∙ Focus in area in front of and beyond∙ Different blurriness

Page 5: Advanced Real-time Post-Processing using GPGPU techniques

Depth of field

∙ Thin lens camera model∙ Circle of confusion

Page 6: Advanced Real-time Post-Processing using GPGPU techniques

Depth of field

∙ Calculate Circle of confusion∙ Depth value and lins parameters

Depth map COC map

Page 7: Advanced Real-time Post-Processing using GPGPU techniques

Methods

∙ Poisson disc blur∙ Multi-passed diffusion∙ Separable diffusion∙ Summed-area table

Page 8: Advanced Real-time Post-Processing using GPGPU techniques

Methods – Poisson disc blur

∙ Distribution function∙ COC defines scale∙ Downscaled image

Page 9: Advanced Real-time Post-Processing using GPGPU techniques

Methods – Poisson disc blur

∙ Calculate values and interpolate depending on COC

Page 10: Advanced Real-time Post-Processing using GPGPU techniques

Methods – Multi-passed diffusion

∙ Every pixel gets new value depending on the COC gradient

Iterations

Page 11: Advanced Real-time Post-Processing using GPGPU techniques

Methods – Separable diffusion

∙ Use a tridiagonal system to represent the heat conductivity

∙ Cyclic reduction can solve the matrices for each row

Page 12: Advanced Real-time Post-Processing using GPGPU techniques

Methods – Separable diffusion

∙ Each row is solved independently

∙ In each step a reduced tridiagonal matrix is calculated (and output value) until the system is solved

Page 13: Advanced Real-time Post-Processing using GPGPU techniques

GPGPU programming

∙ General∙ Better flexibility∙ Potential advantages

∙ CUDA∙ Extension of C∙ Large community

Page 14: Advanced Real-time Post-Processing using GPGPU techniques

GPGPU programming

∙ Executes in chunks of threads∙ User specified blocks

∙ Several memory types∙ Global∙ Texture∙ Shared∙ Constant

∙ More choices and possibilities∙ Hardware specific limits∙ Great potential

Page 15: Advanced Real-time Post-Processing using GPGPU techniques

GPGPU programming

∙ Gaussian blur timings

Page 16: Advanced Real-time Post-Processing using GPGPU techniques

GPGPU programming

∙ Implementation impact using CUDA∙ +

∙ Easy to get started (C)∙ Memory indexing (no more floating point texture indices)∙ Good support for timing on the GPU∙ Good control over computations (threads and memory)

∙ -∙ A lot of ”rules” (amount of threads, occupancy, etc)∙ Hard to optimize∙ Beta problems (lack of interop, slow operations)

Page 17: Advanced Real-time Post-Processing using GPGPU techniques

Results

∙ HLSL and CUDA for most methods∙ Exceptions

∙ Poisson disc (HLSL only)∙ Summed Area-Table (CUDA only)

∙ Timings in runs of 100 on recent hardware

Page 18: Advanced Real-time Post-Processing using GPGPU techniques

Results∙ Poisson disc timings

∙ Separable simluated diffusion timings

∙ Multi-passed diffusion timings

Page 19: Advanced Real-time Post-Processing using GPGPU techniques

Results

∙ Artifacts∙ Color leaking∙ Sharp edges

Page 20: Advanced Real-time Post-Processing using GPGPU techniques

Results

∙ Input data

Page 21: Advanced Real-time Post-Processing using GPGPU techniques

Results

∙ Poisson disc∙ Multi-passed diffusion ∙ Separable simulated diffusion

Page 22: Advanced Real-time Post-Processing using GPGPU techniques

∙ Poisson disc

Results

∙ Multi-passed diffusion∙ Separable simulated diffusion

Page 23: Advanced Real-time Post-Processing using GPGPU techniques

∙ Lens parameter settings

Results

Page 24: Advanced Real-time Post-Processing using GPGPU techniques

Conclusions

∙ Current depth of field filters are good enough∙ Not really, but better is too expensive∙ Cut scenes do get time for more computations

∙ GPGPU techniques have great potential∙ Not mature enough (hardware support etc.)∙ Maybe better for other things than image processing

∙ Future work∙ Diffusion based approach offers best visual quality∙ Compute shaders anyone?

Page 25: Advanced Real-time Post-Processing using GPGPU techniques

Videos

Page 26: Advanced Real-time Post-Processing using GPGPU techniques

End


Recommended