1 / 52

Interactive Rendering of Atmospheric Scattering Effects Using Graphics Hardware

Interactive Rendering of Atmospheric Scattering Effects Using Graphics Hardware. Hokkaido University. Yoshinori Dobashi. Tsuyoshi Yamamoto. Hokkaido University. Tomoyuki Nishita. Tokyo University. Overview. Introduction. motivation previous work. Rendering Light Beams. basic Idea

Download Presentation

Interactive Rendering of Atmospheric Scattering Effects Using Graphics Hardware

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. Interactive Rendering of Atmospheric Scattering Effects Using Graphics Hardware Hokkaido University Yoshinori Dobashi Tsuyoshi Yamamoto Hokkaido University Tomoyuki Nishita Tokyo University

  2. Overview • Introduction • motivation • previous work • Rendering Light Beams • basic Idea • problems • high quality rendering • Rendering the Earth’s Atmosphere • rendering sky • rendering the earth viewed from space • Results • Conclusion

  3. Introduction • motivation • previous work • Rendering Light Beams • basic Idea • problems • high quality rendering • Rendering the Earth’s Atmosphere • rendering sky • rendering the earth viewed from space Overview • Introduction • motivation • previous work • Rendering Light Beams • basic Idea • problems • high quality rendering • Rendering the Earth’s Atmosphere • rendering sky • rendering the earth viewed from space • Results • Results • Conclusion • Conclusion

  4. Overview • Introduction • motivation • previous work • Rendering Light Beams • basic Idea • problems • high quality rendering • Rendering the Earth’s Atmosphere • rendering sky • rendering the earth viewed from space • Results • Conclusion

  5. Motivation • Real-time rendering of realistic images • Atmospheric Scattering Effects • scattering and absorption of light due to small particles • spotlights • sunlight through windows • earth’s atmosphere requires long computation time • Our Goal: Real-time rendering of atmospheric effects

  6. Volume rendering [e.g. Behrens98, Westermann98] edges ofspotlight edges ofshadows Previous Work • use of voxels to store the intensity of light • consuming texture memory for volume data • difficult to capture the edges of shafts of light

  7. 2D texture based approach [Dobashi01, Everitt99] • Interleaved sampling [Keller01] Previous Work • use of shadow and projective texture mapping • artifacts due to sampling errors • a general and efficient solution to the sampling problem • not optimal for rendering atmospheric scattering • Earth’s atmosphere • no methods for real-time rendering of realistic images

  8. Proposed Method • Precise and efficient rendering of atmospheric effects • Rendering light beams • point/infinite light sources • uniform density of atmospheric particles • Rendering earth’s atmosphere • sky • the earth viewed from space • density decreases exponentially according to the height from the ground

  9. Overview • Introduction • motivation • previous work • Rendering Light Beams • basic Idea • problems • high quality rendering • Rendering the Earth’s Atmosphere • rendering sky • rendering the earth viewed from space • Results • Conclusion

  10. scattered light T ò l = l l I ( ) I ( t , ) H ( t ) g ( t , ) dt s l 0 Shading Model for Light Beams Intensity at viewpoint point source Ieye viewpoint

  11. Il H ( t ) :intensity of light l I ( t , ) l :visibility function t P :attenuation function l g ( t , ) T ò l = l l I ( ) I ( t , ) H ( t ) g ( t , ) dt s l 0 Shading Model for Light Beams Intensity at viewpoint point light Is viewpoint

  12. n å = = k 1 H ( t ) point light l I ( t , ) l l g ( t , ) viewpoint sampling plane T ò l = l l I ( ) I ( t , ) H ( t ) g ( t , ) dt screen s l 0 Basic Idea [Dobashi00] Intensity at viewpoint computed at lattices

  13. light map H ( t ) light map point light l I ( t , ) l texture mapping l g ( t , ) viewpoint T ò l = l l I ( ) I ( t , ) H ( t ) g ( t , ) dt s l 0 Basic Idea [Dobashi00] Intensity at viewpoint n å = = k 1

  14. H ( t ) object point light l I ( t , ) l shadow mapping l g ( t , ) viewpoint T ò l = l l I ( ) I ( t , ) H ( t ) g ( t , ) dt s l 0 Basic Idea [Dobashi00] Intensity at viewpoint n å = = k 1

  15. H ( t ) point light l I ( t , ) l l g ( t , ) viewpoint T ò l = l l I ( ) I ( t , ) H ( t ) g ( t , ) dt s l 0 Basic Idea [Dobashi00] Intensity at viewpoint n å = = k 1 object shadow mapping render sampling planes with additive blending

  16. number of planes number of lattice points • Accuracy pseudo-contours µ sampling errors number of planes number of lattice points µ • rendering time Problems • Many planes/lattices for high quality image • artifacts due to quantization errors • quantization with 8 bit precision in most hardware • accumulation of errors in proportion to number of sampling planes • increase in rendering time

  17. point light Il n å = t = k 1 P l DI ( t , ) s Dt Is + D t t ò k D l = l l I ( t , ) I ( t , ) H ( t ) g ( t , ) dt s k l t k T ò l = l l I ( ) I ( t , ) H ( t ) g ( t , ) dt s l 0 High Quality Rendering Intensity at viewpoint

  18. n å = = k 1 l DI ( t , ) s + D t t ò k D l = l l I ( t , ) I ( t , ) H ( t ) g ( t , ) dt s k l t k changes severely changes smoothly const. in Dt T ò l = l l I ( ) I ( t , ) H ( t ) g ( t , ) dt s l 0 High Quality Rendering point light Intensity at viewpoint Il t P Dt Is

  19. n å = = k 1 l DI ( t , ) s + D t t ò k D l = l l I ( t , ) I ( t , ) H ( t ) g ( t , ) dt s k l + D + D t t t t t ò ò k k k » l l x I ( t , ) H ( t ) dt g ( t , ) dt l t t k k fh fl T ò l = l l I ( ) I ( t , ) H ( t ) g ( t , ) dt s l 0 High Quality Rendering point light Intensity at viewpoint Il t P Dt Is

  20. n å = = k 1 l DI ( t , ) s scattered light + D t t ò k D l = l l I ( t , ) I ( t , ) H ( t ) g ( t , ) dt s k l + D + D t t t t t ò ò k k k » l l x I ( t , ) H ( t ) dt g ( t , ) dt l t t k k fh fl T ò l = l l I ( ) I ( t , ) H ( t ) g ( t , ) dt s l 0 High Quality Rendering point light Intensity at viewpoint = 1.0 Il Is scattering component

  21. object n å = = k 1 l DI ( t , ) s + D t t ò k D l = l l I ( t , ) I ( t , ) H ( t ) g ( t , ) dt s k l + D + D t t t t t ò ò k k k » l l x I ( t , ) H ( t ) dt g ( t , ) dt l t t k k fh fl T ò l = l l I ( ) I ( t , ) H ( t ) g ( t , ) dt s l 0 High Quality Rendering point light Intensity at viewpoint Il ratio of reached light Is Illumination component scattering component

  22. Scattering component fl: + D t t ò k l I ( t , ) H ( t ) dt l t k + D t t ò k l g ( t , ) dt t k • Illumination component fh: High Quality Rendering • changes smoothly • can be sampled at a large interval use of texture to store pre-integrated values • includes visibility H and intensity distribution Il • must be sampled at a short interval sub-planes for accurate sampling

  23. Scattering component fl: + D t t ò k l I ( t , ) H ( t ) dt l t k + D t t ò k l g ( t , ) dt t k • Illumination component fh: High Quality Rendering • changes smoothly • can be sampled at a large interval use of texture to store pre-integrated values • includes visibility H and intensity distribution Il • must be sampled at a short interval sub-planes for accurate sampling

  24. - br + + D t t exp( ( s t )) ò k c l = r a l f ( t , ) F ( , ) dt l k c 2 s t k point light rc :density b :attenuation ratio sampling plane k+1 :distance between viewpoint and P tk sampling plane k s F ( ) a, l s :distance between light and P’ t :distance between viewpoint and P’ t a tk :phase function P’ viewpoint P a :phase angle Dt Textures for Scattering Component (point light)

  25. - br + + D t t exp( ( s t )) ò k c l = r a l f ( t , ) F ( , ) dt l k c 2 s t k U Q = - + t u ' u t k V a = - cos u ' / s 2 2 2 = + s u ' v Textures for Scattering Component (point light) point light • local coordinate UV sampling plane k+1 sampling plane k s t a tk P’(u’, v) P’ viewpoint P(u, v) P Dt

  26. + D u t ò - 1 2 2 l = r - + l q ( u , v , ) F (cos ( u ' / u ' v ), ) c u 2 2 - br + + - exp( ( u ' v u ' u )) x c du ' c : constant for each sampling plane k 2 2 + u ' v l = l f ( u , v , ) c q ( u , v , ) l q ( u , v , ) l k : 2D texture = - br c exp( t ) k c k reducing quantization errors Textures for Scattering Component U point light sampling plane k+1 sampling plane k s Q t a V fl is evaluated precisely since texture stores integrated values tk P’(u’, v) viewpoint P(u, v) Dt

  27. Scattering component fl: + D t t ò k l I ( t , ) H ( t ) dt l t k + D t t ò k l g ( t , ) dt t k • Illumination component fh: High Quality Rendering • changes smoothly • can be sampled at a large interval use of texture to store pre-integrated values • includes visibility H and intensity distribution Il • must be sampled at a short interval sub-planes for accurate sampling

  28. + D t t ò light k l = l f ( t , ) I ( t , ) H ( t ) dt h k l t k - 1 m k 1 å l = l f ( t , ) I ( r , ) H ( r ) h k l j j m sub-plane k = 0 j rj:distance between viewpoint and sub-plane j strong intensity many sub-planes sampling plane Computation of Illumination Component • mk sub-planes between sampling planes k and k+1 viewpoint • mk is determined adaptively

  29. light use textures forscattering component sub-plane £ e Intensity of scattered light mk sampling plane :user-specified threshold e Computation of Illumination Component • Determining number of sub-planes, mk 1. shoot a ray 2. compute intensity of scattered light 3. generate sub-planes in proportion to intensity viewpoint same contribution of each sub-plane to pixel intensity

  30. Overview • Introduction • motivation • previous work • Rendering Light Beams • basic Idea • problems • high quality rendering • Rendering the Earth’s Atmosphere • rendering sky • rendering the earth viewed from space • Results • Conclusion

  31. atmosphere viewpoint earth Rendering Earth’s Atmosphere • No shadows of objects • Rendering Sky • extending method for light beams • Rendering the earth viewed from space

  32. Rendering Earth’s Atmosphere • No shadows of objects • Rendering Sky • extending method for light beams viewpoint atmosphere • Rendering the earth viewed from space • atmosphere is very thin layer covering the earth earth

  33. sampling spheres Rendering Earth’s Atmosphere • No shadows of objects • Rendering Sky • extending method for light beams viewpoint atmosphere • Rendering the earth viewed from space • atmosphere is very thin layer covering the earth earth • use of sampling spheres instead of sampling plane

  34. viewpoint atmosphere earth sampling spheres Rendering Earth’s Atmosphere • No shadows of objects • Rendering Sky • extending method for light beams • Rendering the earth viewed from space • atmosphere is very thin layer covering the earth • use of sampling spheres instead of sampling plane

  35. T ò l = l a l l l l I ( ) I ( ) F ( , ) r ( t , ) g ( s , ) g ( t , ) dt v sun l v I 0 sun Ps : intensity of sunlight atmosphere s t l l I ( ) g ( s , ) : attenuation ratio betweenPs and P sun l Pv : phase function viewpoint P : density of particles a : attenuation ratio betweenP and Pv l g ( t , ) v earth a l l F ( , ) r ( t , ) Rendering Sky • Intensity at viewpoint

  36. T ò l = l a l l l l I ( ) I ( ) F ( , ) r ( t , ) g ( s , ) g ( t , ) dt v sun l v 0 : intensity of sunlight atmosphere l l I ( ) g ( t , ) : attenuation ratio betweenPs and P sun v Pv : phase function viewpoint : density of particles : attenuation ratio betweenP and Pv l g ( s , ) l earth a l l F ( , ) r ( t , ) Rendering Sky • Intensity at viewpoint

  37. - 1 k n å Õ l = l a l l D l R I ( ) I ( ) F ( , ) ( t ) g ( s , ) g ( t , ) I v sun l v j sun = = 1 k 1 j k+1 : attenuation between sampling planes k and k+1 : intensity of sunlight atmosphere D l g ( t , ) v k k l l I ( ) g ( s , ) : attenuation ratio betweenPs and P sun l Pv : phase function : cumulative density of particles between sampling planes k and k+1 viewpoint earth R ( t ) a l F ( , ) Rendering Sky • Intensity at viewpoint Ps P

  38. - 1 k n å Õ l = l a l R l D l I ( ) I ( ) F ( , ) ( t ) g ( s , ) g ( t , ) v sun l v j = = 1 k 1 j Rendering Sky • Intensity at viewpoint • Algorithm • create textures of gl , Dgv , R Pv • for k = n to 1, repeat: viewpoint • map gl , Dgv , R textures onto sampling plane k earth

  39. - 1 k n å Õ l = l a l R l D l I ( ) I ( ) F ( , ) ( t ) g ( s , ) g ( t , ) v sun l v j = = 1 k 1 j Rendering Sky • Intensity at viewpoint • Algorithm • create textures of gl , Dgv , R Pv • for k = n to 1, repeat: viewpoint • map gl , Dgv , R textures onto sampling plane k earth • compute IsunF at lattice points

  40. - 1 k n å Õ l = l a l R l D l I ( ) I ( ) F ( , ) ( t ) g ( s , ) g ( t , ) v sun l v j = = 1 k 1 j FB = FB x Dgv + F x R x gl (FB: frame buffer) intensity of scattered light attenuation Rendering Sky • Intensity at viewpoint • Algorithm • create textures of gl , Dgv , R Pv • for k = n to 1, repeat: viewpoint • map gl , Dgv , R textures onto sampling plane k earth • compute IsunF at lattice points • draw plane with blending:

  41. - 1 k n å Õ l = l a l R l D l I ( ) I ( ) F ( , ) ( t ) g ( s , ) g ( t , ) v sun l v j = = 1 k 1 j FB = FB x Dgv + F x R x gl (FB: frame buffer) intensity of scattered light attenuation Rendering Sky • Intensity at viewpoint • Algorithm • create textures of gl , Dgv , R Pv • for k = n to 1, repeat: viewpoint • map gl , Dgv , R textures onto sampling plane k earth • compute IsunF at lattice points • draw plane with blending:

  42. PP ò s l = - b l r I g ( PP , ) exp( ( ) ( l ) dl ) sun l s 0 (a: const) s : extinction coefficient (constant) b r = - : density of particles r ( h ) exp( ah ) Rendering Sky • Textures of gl, Dgv , R Ps atmosphere Pv viewpoint P h earth

  43. PP ò s l = - b l r I g ( PP , ) exp( ( ) ( l ) dl ) sun l s 0 (a: const) ql : extinction coefficient (constant) b h r = - : density of particles r ( h ) exp( ah ) l Û q l g ( PP , ) g ( h , , ) l s l l Rendering Sky • Textures of gl, Dgv , R Ps atmosphere s Pv viewpoint P earth

  44. D l Û D q l g ( PP , ) g ( h , , ) l Û q l R ( PP , ) R ( h , , ) v v v v v v PP ò s l = - b l r I g ( PP , ) exp( ( ) ( l ) dl ) sun l s 0 (a: const) qv : extinction coefficient (constant) b r = - : density of particles r ( h ) exp( ah ) l Û q l g ( PP , ) g ( h , , ) l s l l store as 2D textures Rendering Sky • Textures of gl, Dgv , R Ps atmosphere Pv viewpoint P h earth

  45. Overview • Introduction • motivation • previous work • Rendering Light Beams • basic Idea • problems • high quality rendering • Rendering the Earth’s Atmosphere • rendering sky • rendering the earth viewed from space • Results • Conclusion

  46. Experimental Results previous method previous method proposed method #planes: 40 mesh: 60x60 #planes: 160 mesh: 60x60 #planes: 30 #sub-planes: 120 (ave.) mesh: 10x10 computer: Athlon 1.7GHz, GeForce3

  47. interleaved [Keller01] ray-tracing method previous proposed result # of planes (sub-planes) - 40 160 23 (174) - mesh 60x90 10x15 10x15 time 0.13 [sec.] 0.12 [sec.] 0.08 [sec.] 29 [sec.] Experimental Results computer: Athlon 1.7GHz, GeForce3 Image size: 300x450

  48. Experimental Results interleaved [Keller01] ray-tracing method previous proposed result # of planes (sub-planes) - 40 160 23 (174) - mesh 60x90 10x15 10x15 time 0.13 [sec.] 0.12 [sec.] 0.08 [sec.] 29 [sec.] computer: Athlon 1.7GHz, GeForce3 Image size: 300x450

  49. sampling plane: 9 sub-plane:309 sampling plane: 30 sub-plane:263 time: 0.32 [sec.] time: 0.12 [sec.] computer: Athlon 1.7GHz, GeForce3 Image size: 720x480 Results

  50. computer: Athlon 1.7GHz, GeForce3 Image size: 720x480 Results sampling plane: 100(sky) 30(shaft) sub-plane:135 sampling sphere: 10 time: 0.06 [sec.] time: 0.16 [sec.]

More Related