46
1/45 A Fast Rendering Method for Clouds Illuminated by Lightning Taking into Account Multiple Scattering Yoshinori Dobashi (Hokkaido Un iversity) Yoshihiro Enjyo (Hokkaido Un iversity) Tsuyoshi Yamamoto (Hokkaido Unive rsity) Tomoyuki Nishita (The Univers ity of Tokyo)

1/45 A Fast Rendering Method for Clouds Illuminated by Lightning Taking into Account Multiple Scattering Yoshinori Dobashi (Hokkaido University) Yoshihiro

Embed Size (px)

Citation preview

1/45

A Fast Rendering Method for Clouds Illuminated by Lightning Taking into Account Multiple Scattering

A Fast Rendering Method for Clouds Illuminated by Lightning Taking into Account Multiple Scattering

Yoshinori Dobashi (Hokkaido University)Yoshihiro Enjyo (Hokkaido University)Tsuyoshi Yamamoto (Hokkaido University)Tomoyuki Nishita (The University of Tokyo)

2/45

OverviewOverview

Introduction Previous Work Basic Idea of Our Method Precomputation of Basis Intensities Real-time Rendering Process Examples Conclusions & Future Work

3/45

Introduction (1/3)Introduction (1/3)

Realistic Image Synthesis Visual Assessment, flight simulators, etc… Assuming under fine weather conditions

Simulation under bad weather conditions Rainfalls, windstorm, lightning, clouds, etc… Flight simulation/computer games Real-time rendering Reality

4/45

Introduction (2/3)Introduction (2/3)

Example image

clouds illuminated by lightning

5/45

Introduction (3/3)Introduction (3/3)

Multiple scattering Enhancing reality High computation

cost Difficult to achieve

real-time rendering

clouds

viewpoint

lightning

6/45

Features of Proposed MethodFeatures of Proposed Method

Real-time rendering of clouds illuminated by lightning Arbitrary shapes of lightning Anisotropic multiple scattering Consisting of preprocess and real-time process Use of wavelet transform for drastically

accelerating intensity calculation

Assumption: Static clouds

7/45

OverviewOverview

Introduction Previous Work Basic Idea of Our Method Precomputation of Basis Intensities Real-time Rendering Process Examples Conclusions & Future Work

8/45

Previous Work on LightningPrevious Work on Lightning

Visual simulation of lightning [ Reed94] Use of random numbers to create shape of lightning strokes

Probabilistic modeling of lightning [Kruszewski99] Allowing user to control shapes

Physically-based animation of lightning [Kim04] Calculating propagation of lightning via physical simulation

Focusing on modeling shape of lightning Illumination on clouds are not considered.

9/45

Previous Work on Fast Rendering of Clouds/SmokePrevious Work on Fast Rendering of Clouds/Smoke Rendering of clouds using GPU [Dobashi00]

Clouds/atmosphere illuminated by lightning Use of GPU for acceleration Single scattering only

Precomputed radiance transfer [Sloan02] Real-time rendering of clouds as well as glossy ob

jects Assuming light sources far from clouds Lihgtning is not considered.

[Dobashi01]

10/45

OverviewOverview

Introduction Previous Work Basic Idea of Our Method Precomputation of Basis Intensities Real-time Rendering Process Examples Conclusions & Future Work

11/45

Basic Idea of Our Method (1/7)Basic Idea of Our Method (1/7)

Shape of lightning Polylines generated

by Reed’s method [Reed94]

Density distribution of clouds Represented by 3D grid Use of Dobashi’s method

[Dobashi00]lightning

clouds

12/45

Basic Idea of Our Method (2/7)Basic Idea of Our Method (2/7)

Intensity calculation of clouds Point sources on strokes Illuminations due to each

point source Multiple scattering Accumulation of illuminations

due to all point sources Preprocess and

real-time process point source

illuminate

lightning

clouds

13/45

Basic Idea of Our Method (3/7)Basic Idea of Our Method (3/7)

simulation space

grid for clouds

grid for simulation space

Two separate grids

clouds

14/45

Basic Idea of Our Method (4/7)Basic Idea of Our Method (4/7)

Virtual point sources at each grid point

clouds

simulation space

grid for clouds

grid for simulation space

virtual point source

15/45

Basic Idea of Our Method (5/7)Basic Idea of Our Method (5/7)

Preprocess : computation of basis intensities

virtual point source (intensity = 1.0)

intensity calculation taking into account multiple scattering

save

16/45

Basic Idea of Our Method (6/7)Basic Idea of Our Method (6/7)

Preprocess : computation of basis intensities

17/45

Basic Idea of Our Method (6/7)Basic Idea of Our Method (6/7)

Preprocess : computation of basis intensities

18/45

basis intensities

Basic Idea of Our Method (6/7)Basic Idea of Our Method (6/7)

Preprocess : computation of basis intensities

Repeating for all grid points

19/45

Basic Idea of Our Method (7/7)Basic Idea of Our Method (7/7)

Real-time process : rendering of cloudsbasis intensities

intensity of virtual point sources

multiplication

accumulation

generating lightning

Fast but cost proportional to number of grid points Further acceleration by using wavelets

×

×

×

×

20/45

OverviewOverview

Introduction Previous Work Basic Idea of Our Method Precomputation of Basis Intensities Real-time Rendering Process Examples Conclusions & Future Work

21/45

Subdivision of Simulation SpaceSubdivision of Simulation Space

Contribution of virtual point source

clouds

r

intensity due to point source

1.0r2

virtual point source

simulation space

22/45

Subdivision of Simulation SpaceSubdivision of Simulation Space

Adaptive subdivision

clouds

rl

rl+1

2

12

11

ll rr

2

12

11

ll rrsimulation space

23/45

Precompuation of Basis IntensitiesPrecompuation of Basis Intensities

Intensity calculation due to virtual point source

virtual source l

grid point i : intensity at grid point i due to virtual source l

bil

ncld : number of grid points for clouds

bil

calculation of multiple scattering

(b1l, b2l, …, bncld,l)

24/45

Precompuation of Basis IntensitiesPrecompuation of Basis Intensities

Intensity calculation due to virtual point source

virtual source l

grid point i basis intensitiesdue to virtual light lbil

calculation of multiple scattering

ncld : number of grid points for clouds

(b1l, b2l, …, bncld,l)

25/45

Precompuation of Basis IntensitiesPrecompuation of Basis Intensities

Intensity calculation due to virtual point source

virtual source l

grid point i

ncld : number of grid points for clouds

bil

calculation of multiple scattering

wavelet transform

(b1l, b2l, …, bncld,l)

(B1l, B2l, …, Bncld,l)

basis intensitiesdue to virtual light l

26/45

cldn

kikklil Bb

1

)(x

Precompuation of Basis IntensitiesPrecompuation of Basis Intensities

basis intensity at grid point i due to virtual source l

number of basis functions (= number of grid points for clouds)

coefficient after wavelet transform

basis function (Haar basis)

Basis intensities due to virtual source l

27/45

Basis intensities due to virtual source l

Many of Bij are nearly zero. Discarding if |Bil| < ( : threshold)

Precompuation of Basis IntensitiesPrecompuation of Basis Intensities

ln

kikklil Bb

1

)(x

cldn

kikklil Bb

1

)(x

28/45

Basis intensities due to virtual source l

Many of Bij are nearly zero. Discarding if |Bil| < ( : threshold)

cldn

kikklil Bb

1

)(x

Precompuation of Basis IntensitiesPrecompuation of Basis Intensities

ln

kikklil Bb

1

)(x

nl << ncld

Reducing memory requirement Accelerating intensity calculation

29/45

OverviewOverview

Introduction Previous Work Basic Idea of Our Method Precomputation of Basis Intensities Real-time Rendering Process Examples Conclusions & Future Work

30/45

Real-time Rendering Process (1/7)Real-time Rendering Process (1/7)

Calculation of intensities of virtual source

generating lightning

placing point sources on strokes

distributing to neighboring grid points

31/45

Real-time Rendering Process (2/7)Real-time Rendering Process (2/7)

Calculation of intensity of virtual source

virtual source l intensity el

32/45

Real-time Rendering Process (3/7)Real-time Rendering Process (3/7)

Weighted sum of basis intensities

basis intensities

e1

e2

e3

e4

final image

33/45

Real-time Rendering Process (4/7)Real-time Rendering Process (4/7)

Final intensity Ii at grid point i for clouds

number of virtual sources with non-zero intensities

tn

llili ebI

lg

1

intensity Iigrid point i

virtual source lintensity el

basis intensity

34/45

Real-time Rendering Process (5/7)Real-time Rendering Process (5/7)

Intensity Ii at grid point i for clouds

tn

llili ebI

lg

1

basis intensity

ln

kikklil Bb

1

)(x

coefficient after wavelet transform

number of virtual sources with non-zero intensities

basis intensity

35/45

Real-time Rendering Process (6/7)Real-time Rendering Process (6/7)

Intensity Ii at grid point i for clouds

tn

lkllk BeH

lg

1

lt l n

kikk

n

l

n

kikklli HBeI

11 1

)()(lg

xx

1. Calculation of Hk

2. Inverse wavelet transform

wavelet transform of intensity distribution of clouds

36/45

with wavelet

Real-time Rendering Process (7/7)Real-time Rendering Process (7/7)

Calculation of Intensities at all grid points for clouds

without wavelet

tn

lkllk BeH

lg

1

(k = 1, 2,…, nl)

tn

llili ebI

lg

1

(i = 1, 2,…, ncld)

nl << ncld (1/10)

+inversewavelet transform

O(ncld)

37/45

OverviewOverview

Introduction Previous Work Basic Idea of Our Method Precomputation of Basis Intensities Real-time Rendering Process Examples Conclusions & Future Work

38/45

ExamplesExamples

Simulation condition

simulation space20x20x7

Memory requirement for basis intensities without wavelet compression : 1137.5 MB with wavelet compression : 86 MB

compression to 1/13

intensity calculation : 32x32x4

cloud volume: 128x128x16

39/45

Previous Method vs. Proposed MethodPrevious Method vs. Proposed Method

same visual quality

previous method[Max94] proposed method

40/45

Previous Method vs. Proposed MethodPrevious Method vs. Proposed Method

0

10%

previous

proposed

difference image

(100 % = 255 difference in intensity)

41/45

Previous Method vs. Proposed MethodPrevious Method vs. Proposed Method

Computation time Precomputation: 60 min (proposed method only) Real-time process:

computer:   Pentium 3.5GHz,Ⅳ   GeForece 7800 GTX

35 times faster

提案手法

0.2 秒Proposed method

0.06 sec.

Previous method

2.12 sec.

42/45

Various examplesVarious examples

43/45

DemoDemo

44/45

AnimationAnimation

45/45

ConclusionsConclusions

Real-time rendering of clouds illuminated by lightning Taking into account multiple scattering Precomputation of basis intensities Acceleration by using Haar wavelet transfor

m 16 frames per second on CPU

46/45

Future WorkFuture Work

Further acceleration using GPU

Real-time rendering of realistic rain

Dynamic clouds