1 / 49

FOGSHOP: Real-time Design and Rendering of Inhomogeneous, Single-Scattering Media

FOGSHOP: Real-time Design and Rendering of Inhomogeneous, Single-Scattering Media. Kun Zhou, MSRA Qiming Hou, Tsinghua Univ. Minmin Gong, MSRA John Snyder, MSR Baining Guo, MSRA Heung-Yeung Shum, MSRA. Previous Real-Time Techniques. homogeneous fog no spatial variation

dorian-chan
Download Presentation

FOGSHOP: Real-time Design and Rendering of Inhomogeneous, Single-Scattering Media

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FOGSHOP: Real-time Design and Rendering of Inhomogeneous, Single-Scattering Media Kun Zhou, MSRA Qiming Hou, Tsinghua Univ. Minmin Gong, MSRA John Snyder, MSR Baining Guo, MSRA Heung-Yeung Shum, MSRA

  2. Previous Real-Time Techniques homogeneous fog no spatial variation layered fog using textures vertical variation only immersed lights/objects volume rendering ignores halos/shadows from [Sun05] from DX10 volume fog demo

  3. RBF model supports large fog banks immersed viewer point lighting effects: media’s appearance and shadows environmental lighting effects: media’s appearance, approx. shadows surface reflectance effects due to immersion in media noise addition easy-to-use media design system Fogshop Features

  4. Modeling Inhomogeneous Media with RBFs optical density = sum of n 3D Gaussian blobs + constant: easy-to-control model compatible with particle systems analytic line integral viaerf(x) [Stam93] bi ci ai

  5. T(a,b) is optical depth between 3D points a and b: light from ab attenuated by exp(-T(a,b)) Attenuation by Inhomogeneous Fog integrate density  along path ab

  6. Computing Optical Depth via RBF Splatting single RBF splat multiple splats integrate optical depth draw bounding box for each RBF integrate analytically in pixel shader accumulate over n blobs using alpha blending

  7. airlight models lighted media’s direct appearance due to light scatter by fog particles includes self-shadowing and haloing Fog scatters, not just attenuates, light! fogshop (single scattering) volumetric blending (attenuation only)

  8. light scatters once off fog particle at x path consists of two segments exponential attenuation along each segment accurate for thin media, plausible for denser Single-Scattering Model for Airlight

  9. Single-Scattering Integral

  10. Single-Scattering Integral x(t): scattering location along view ray

  11. Single-Scattering Integral (x): optical density atx

  12. Single-Scattering Integral k() : phase function [constant]

  13. Single-Scattering Integral I0: light source intensity

  14. Single-Scattering Integral radiance reaching x, neglecting attenuation

  15. Single-Scattering Integral T(v,x), T(s,x): optical depths

  16. Single-Scattering Integral total attenuation along path

  17. Brute Force Numerical Integration

  18. Brute Force Numerical Integration

  19. Brute Force Numerical Integration

  20. Brute Force Numerical Integration • need manysamples xi along every view ray • each needs two optical depth integrals • too expensive for real-time!

  21. Our Approximation: Decompose by RBFs…

  22. Our Approximation: Decompose by RBFs…

  23. Our Approximation: Decompose by RBFs…

  24. Our Approximation: Decompose by RBFs…

  25. Our Approximation: Decompose by RBFs…

  26. … and compute Li with a single sample.

  27. … and compute Li with a single sample. • projected center is point of max densityalong view ray • assumes f (x) smoothwrt blob’s width • i integrated analytically

  28. use red light path through for blobi[per-ray varying] use blue light path through bi for other blobsj≠i[ray invariant] Computing Li : Separate Light Paths Reuse optical depth integrals over many view rays.

  29. Computing the constant term L0 • use similar light path separation trick • apply analytic method of [Sun05] • see paper for details

  30. Accuracy of Our Approximation ray traced fogshop

  31. Inaccuracy of Our Approximation not smooth when small (looking right at light) T(x,s) discontinuous (light shafts) ray traced fogshop

  32. Handling Environmental Airlight L : environment lighting in SH basis Tr : optical depth along view ray r from v∞ PSF : point spread function (for convolving environment) = * L*PSF (after scatter) L (before scatter) PSF

  33. Environmental Airlight: Results environment airlight point airlight

  34. Standard Slide without subtitle surfaces immersed in medium incident radiance affected by scattering subtle yet noticeable effects: softened shading blurred highlight media’s shadow can get away with lots of approximation Surface Reflectance: Why?

  35. Standard Slide without subtitle assume homogeneous medium of average density average varies at each pixel, creating inhomogeneous effects point light: average in single direction sp environment light: average all aroundp use SH lighting and PSF[Sun05] Surface Reflectance: How?

  36. Standard Slide without subtitle Surface Reflectance: Results point light environment light

  37. Standard Slide without subtitle break up RBF’s circular shape perturb view rays, indexed by be consistent when camera rotates add noise in world space Adding Noise with noise without noise

  38. Standard Slide without subtitle preliminary steps render depth maps from camera & lights (immersed) surface rendering airlight rendering Rendering Summary

  39. Standard Slide without subtitle compute T(s,p) for each point light s using RBF splatting to cube map compute average optical depth at object centers if using environmental lighting shade per-vertex render to scene target Surface Rendering

  40. Standard Slide without subtitle compute T(v,bi), T(s,v), T(s,bi) plane sweep algorithm on CPU accumulate airlight and screen optical depth T(v,p) perturb view rays if noise enabled computed on GPU attenuate scene target and add airlight Airlight Rendering ( ) scene target airlight optical depth +  = result

  41. Standard Slide without subtitle brush/eraser copy/paste particle emitter airbrush real-time light and camera change Interactive Media Design

  42. Standard Slide without subtitle scripted using a simple language parabolic path default Interactive Media Design: Particle Emitter

  43. Standard Slide without subtitle particles bounce off scene surfaces collision detection using kd-tree ray tracer Interactive Media Design: Airbrush

  44. Demos

  45. Performance 3.75 Ghz PC, 2GB memory, Nvidia 8800GTX

  46. Contributions • analytical model of single scattering for spatially-varying media • enables visually accurate, real-time rendering • easy-to-use tools for interactive media design • main new ideas: • decompose scattering integral, one term per RBF • sample term at peak of its RBF along view ray • optical depth integrals for other RBFs: • sampled at RBF center • precomputed and reused for multiple view rays

  47. Limitations • inaccurate approximation near lights • light shafts ignored • environmental lighting: • low-frequency and distant • very approximate shadows (averages in all directions) • use PRT for self-shadows on scene objects

  48. Future Work • light shafts • multiple scattering • mixed surface-surface and media-surface shadowing

  49. Thanks!

More Related