Interactive rendering of atmospheric scattering effects using graphics hardware
Download
1 / 52

Interactive Rendering of Atmospheric Scattering Effects Using Graphics Hardware - PowerPoint PPT Presentation


  • 113 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Interactive Rendering of Atmospheric Scattering Effects Using Graphics Hardware' - jescie-stein


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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 Using Graphics Hardware

  • 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


  • 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


Overview Using Graphics Hardware

  • 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


Motivation Using Graphics Hardware

  • 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


[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


[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


Proposed Method Using Graphics Hardware

  • 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


Overview Using Graphics Hardware

  • 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


scattered light Using Graphics Hardware

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


I Using Graphics Hardwarel

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


n Using Graphics Hardware

å

=

=

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


light map Using Graphics Hardware

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


H Using Graphics Hardware

(

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


H Using Graphics Hardware

(

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


number of planes Using Graphics Hardware

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


point light Using Graphics Hardware

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


n Using Graphics Hardware

å

=

=

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


n Using Graphics Hardware

å

=

=

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


n Using Graphics Hardware

å

=

=

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


object Using Graphics Hardware

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


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


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


- Using Graphics Hardware

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)


- Using Graphics Hardware

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


+ Using Graphics Hardware

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


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


+ Using Graphics Hardware

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


light Using Graphics Hardware

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


Overview Using Graphics Hardware

  • 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


atmosphere Using Graphics Hardware

viewpoint

earth

Rendering Earth’s Atmosphere

  • No shadows of objects

  • Rendering Sky

  • extending method for light beams

  • Rendering the earth viewed from space


Rendering Earth’s Atmosphere Using Graphics Hardware

  • 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


sampling spheres Using Graphics Hardware

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


viewpoint Using Graphics Hardware

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


T Using Graphics Hardware

ò

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


T Using Graphics Hardware

ò

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


- Using Graphics Hardware

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


- Using Graphics Hardware

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


- Using Graphics Hardware

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


- Using Graphics Hardware

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:


- Using Graphics Hardware

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:


PP Using Graphics Hardware

ò

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


PP Using Graphics Hardware

ò

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


D Using Graphics Hardware

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


Overview Using Graphics Hardware

  • 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


Experimental Results Using Graphics Hardware

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


interleaved Using Graphics Hardware

[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


Experimental Results Using Graphics Hardware

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


sampling plane: 9 Using Graphics Hardware

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


computer: Athlon 1.7GHz, GeForce3 Using Graphics Hardware

Image size: 720x480

Results

sampling plane: 100(sky)

30(shaft)

sub-plane:135

sampling sphere: 10

time: 0.06 [sec.]

time: 0.16 [sec.]


DEMO Using Graphics Hardware

  • Real-time Animation Using Note PC

  • Pentium III (1.2 GHz)

  • Nvidia GeForce 2 Go


Conclusion Using Graphics Hardware

  • Fast rendering of atmospheric effects

  • Rendering of light beams

  • 2D textures to store intensities of scattered light

  • sub-planes for precise sampling of shadows

  • Extension to rendering earth’s atmosphere

  • rendering of sky

  • rendering of earth viewed from space


ad