1/45 A Fast Rendering Method for Clouds Illuminated by Lightning Taking into Account Multiple...

Post on 27-Dec-2015

219 views 0 download

Transcript of 1/45 A Fast Rendering Method for Clouds Illuminated by Lightning Taking into Account Multiple...

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