Презентация dof presentation dice

Скачать презентацию  dof presentation dice Скачать презентацию dof presentation dice

dof_presentation_dice.ppt

  • Размер: 15.1 Mегабайта
  • Количество слайдов: 26

Описание презентации Презентация dof presentation dice по слайдам

Advanced Real-time Post-Processing using GPGPU techniques Advanced Real-time Post-Processing using GPGPU techniques

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

Problem description and objectives ∙ Post processing filters ∙ Different depth of field algorithms ∙ VisualProblem description and objectives ∙ Post processing filters ∙ Different depth of field algorithms ∙ Visual quality ∙ Implement using HLSL and CUDA ∙ Performance ∙ Usability

Depth of field ∙ Depth cue ∙ Focus plane ∙ Focus in area in front ofDepth of field ∙ Depth cue ∙ Focus plane ∙ Focus in area in front of and beyond ∙ Different blurriness

Depth of field ∙ Thin lens camera model ∙ Circle of confusion Depth of field ∙ Thin lens camera model ∙ Circle of confusion

Depth of field ∙ Calculate Circle of confusion ∙ Depth value and lins parameters Depth mapDepth of field ∙ Calculate Circle of confusion ∙ Depth value and lins parameters Depth map COC map

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

Methods – Poisson disc blur ∙ Distribution function ∙ COC defines scale ∙ Downscaled image Methods – Poisson disc blur ∙ Distribution function ∙ COC defines scale ∙ Downscaled image

Methods – Poisson disc blur ∙ Calculate values and interpolate depending on COC Methods – Poisson disc blur ∙ Calculate values and interpolate depending on CO

Methods – Multi-passed diffusion ∙ Every pixel gets new value depending on the COC gradient IterationsMethods – Multi-passed diffusion ∙ Every pixel gets new value depending on the COC gradient Iterations

Methods – Separable diffusion ∙ Use a tridiagonal system to represent the heat conductivity ∙ CyclicMethods – Separable diffusion ∙ Use a tridiagonal system to represent the heat conductivity ∙ Cyclic reduction can solve the matrices for each row

Methods – Separable diffusion ∙ Each row is solved independently ∙ In each step a reducedMethods – Separable diffusion ∙ Each row is solved independently ∙ In each step a reduced tridiagonal matrix is calculated (and output value) until the system is solved

GPGPU programming ∙ General ∙ Better flexibility ∙ Potential advantages ∙ CUDA ∙ Extension of CGPGPU programming ∙ General ∙ Better flexibility ∙ Potential advantages ∙ CUDA ∙ Extension of C ∙ Large community

GPGPU programming ∙ Executes in chunks of threads ∙ User specified blocks ∙ Several memory typesGPGPU 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

GPGPU programming ∙ Gaussian blur timings GPGPU programming ∙ Gaussian blur timings

GPGPU programming ∙ Implementation impact using CUDA ∙ + ∙ Easy to get started (C) ∙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)

Results ∙ HLSL and CUDA for most methods ∙ Exceptions ∙ Poisson disc (HLSL only) ∙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

Results ∙ Poisson disc timings ∙ Separable simluated diffusion timings ∙ Multi-passed diffusion timings Results ∙ Poisson disc timings ∙ Separable simluated diffusion timings ∙ Multi-passed diffusion timings

Results ∙ Artifacts ∙ Color leaking ∙ Sharp edges Results ∙ Artifacts ∙ Color leaking ∙ Sharp edges

Results ∙ Input data Results ∙ Input data

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

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

∙ Lens parameter settings. Results ∙ Lens parameter settings. Results

Conclusions ∙ Current depth of field filters are good enough ∙ Not really, but better isConclusions ∙ 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?

Videos Videos

End End