LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO - - PowerPoint PPT Presentation

lineao lineao lineao lineao lineao lineao lineao lineao
SMART_READER_LITE
LIVE PREVIEW

LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO - - PowerPoint PPT Presentation

LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO


slide-1
SLIDE 1

LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO LineAO

Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Improved Three-dimensional Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering Line Rendering

Sebastian Eichelbaum1 Mario Hlawitschka2 Gerik Scheuermann1

1

Image and Signal Processing Group, University of Leipzig, Germany

2

Scientific Visualization Group, University of Leipzig, Germany

slide-2
SLIDE 2

Why? — State-of-the-Art

  • Isn’t standard line rendering sufficient for line data exploration?

Sebastian Eichelbaum

slide-3
SLIDE 3

Why? — Plain Coloring

(a) Side (b) Front

Figure : Tractography data of a human brain: 5m single lines — Do you see relations between bundles of lines? Do you see lobes and fissures?

Sebastian Eichelbaum

slide-4
SLIDE 4

Why? — Plain Coloring - The Problem

  • Colors can provide coarse directional information:
  • IFF you are used to the coloring and know its meaning
  • What to do if the color encodes some other feature in the data?
  • IFF you are used to this certain type of dataset
  • What to do if not?

→ Because you have a mental image of this data

  • Spatial relations and shape can only be seen by interacting with the scene!

Sebastian Eichelbaum

slide-5
SLIDE 5

Why? — Plain Coloring - The Problem

  • Possible solution: shape from shading.
  • See Ramachandran et al.
  • Shading in computer graphics?
  • local illumination provides structure
  • global illumination provides relative, spatial information

→ Let’s try!

  • V. S. Ramachandran. Perception of shape from shading. Nature, 331:163–166, 1988.

Sebastian Eichelbaum

slide-6
SLIDE 6

Why? — Phong Lighting

(a) Side (b) Front

Figure : The illuminated lines approach (Zöckler et al. 1996, Mallo et al. 2005) can help to grasp global structures due to specular highlights, but provides no spatial relations.

Sebastian Eichelbaum

slide-7
SLIDE 7

Why? — Screen Space Ambient Occlusion

(a) Side (b) Front

Figure : The ambient occlusion approach from CryEngine 2 (Mittring 2007) provides some spatial information, but is not able to handle very thin objects accurately.

Sebastian Eichelbaum

slide-8
SLIDE 8

Why? — Limitations

  • Spatial relations only via interaction
  • Current SSAO approaches do not work properly with thin geometry

⇒ LineAO provides a solution!

Sebastian Eichelbaum

slide-9
SLIDE 9

What? — LineAO Introduced

(a) Side (b) Front

Figure : LineAO provides global and local structure as well as spatial relations in bundles and between bundles without the need for interaction.

Sebastian Eichelbaum

slide-10
SLIDE 10

How? — Ambient Occlusion

  • Defined for each point P on each surface of

the scene

  • Surface normal n at P defines hemisphere Ω
  • AO is the amount of hemisphere surface
  • ccluded by other objects
  • AO(P, n) = 1

π

  • Ω(1 − V(ω, P))ω, ndω,
  • Calculation of visibility function V costly

Sebastian Eichelbaum

slide-11
SLIDE 11

How? — Screen Space Ambient Occlusion

  • Discretized problem to solve in screen

space

  • Randomly sample the hemisphere S-times

at multiple ωi

  • Utilize depth difference for visibility check

→ V(ω, P) =

  • 1

if d(P) − d(P + ω) < 0 else,

→ AOs(P, n) = 1

s

s

i=1(1 − V(ωi, P))ωi, n

Sebastian Eichelbaum

slide-12
SLIDE 12

Why? — Screen Space Ambient Occlusion

(a) Side (b) Front

Figure : The ambient occlusion approach from CryEngine 2 (Mittring 2007) provides some spatial information, but is not able to handle very thin objects accurately.

Sebastian Eichelbaum

slide-13
SLIDE 13

What? — LineAO Introduced

(a) Side (b) Front

Figure : LineAO provides global and local structure as well as spatial relations in bundles and between bundles without the need for interaction.

Sebastian Eichelbaum

slide-14
SLIDE 14

How? — LineAO Described

LineAOsr,sh,r0(P) = sr−1

j=0

AO sh

j+1 ,j(P, r0 + jz(P))

AOs,l(P, r) = 1

s

s

i=1 [(1 − Vl(rωi, P))gl(rωi, P)]

Vl(ω, P) =

  • 1

if dl(P) − dl(P + ω) < 0 else, gl(ω, P) = gdepth

l

(ω, P) · glight

l

(ω, P) ∆dl(ω, P) = dl(P) − dl(P + ω) ∈ [−1, 1] δ(l) =

  • 1 −

l sr

2 ∈ (0, 1]

h(x) = 3x2 − 2x3, ∀x ∈ [0, 1] : h(x) ∈ [0, 1] gdepth

l

(ω, P) =     

0, if ∆dl(ω, P) > δ(l) 1, if ∆dl(ω, P) < δ0 1 − h( dl(ω,P)−δ0

δ(l)−δ0

),

else. Ll(ω, P) =

s∈Lights BRDF(Ls, Is, nl(P), ω)

g❧✐❣❤t

l

(ω, P) = 1 − min(Ll(ω, P), 1)

Sebastian Eichelbaum

slide-15
SLIDE 15

How? — LineAO Described

ND-map Color-map Zoom-map ND-map pyramid Render to Textures Iterative Gauss Filtering LineAO Final Image Lines Tangents provided by the application

  • Prepare: lines and tangent data
  • LineAO: for each pixel do:
  • Sample surrounding using multiple hemispheres
  • Classify occluders whether they are local or distant occluders
  • Weight according to distance, surface properties and illumination
  • Sum up all weighted occluders

Sebastian Eichelbaum

slide-16
SLIDE 16

Results — Features

  • Greatly improved structural and spatial perception for the rendered line

data in a very intuitive and natural way

  • Simultaneous depiction of local and global line structures
  • Renders in real time without pre-computation
  • Consistency under modification and interaction

Sebastian Eichelbaum

slide-17
SLIDE 17

Results — Limitations

  • LineAO is not suited for coarse line data
  • LineAO does not work for two dimensional and quasi two dimensional data

Sebastian Eichelbaum

slide-18
SLIDE 18

Results — Performance

  • LineAO does not depend on dataset complexity
  • LineAO works in constant time when compared to dataset complexity
  • LineAO only depends on the size of the screen
  • Bottleneck is the GPU’s line geometry processing power

Sebastian Eichelbaum

slide-19
SLIDE 19

Results — Radiosity versus LineAO

(a) Radiosity - 0.0000185FPS (15h per Frame) (b) LineAO - 17FPS

Sebastian Eichelbaum

slide-20
SLIDE 20

Results — Combined with Tube Rendering

(c) Tube Rendering (d) Tube Rendering with LineAO

Sebastian Eichelbaum

slide-21
SLIDE 21

Results — Combined with Illuminated Streamlines

(e) Illuminates Lines (f) Combined with LineAO

Sebastian Eichelbaum

slide-22
SLIDE 22

Results — Video

Sebastian Eichelbaum

slide-23
SLIDE 23

Results — Future Work

  • Combination of LineAO with illustrative approaches.
  • Adaptive sampling depending on line density in a pixel’s surrounding, while

estimating the density in screen-space.

Sebastian Eichelbaum

slide-24
SLIDE 24

Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You! Thank You!

Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions? Questions?

slide-25
SLIDE 25

Details — Weighting

LineAOsr,sh,r0(P) = sr−1

j=0

AO sh

j+1 ,j(P, r0 + jz(P))

AOs,l(P, r) = 1

s

s

i=1 [(1 − Vl(rωi, P))gl(rωi, P)]

Vl(ω, P) =

  • 1

if dl(P) − dl(P + ω) < 0 else, gl(ω, P) = gdepth

l

(ω, P) · glight

l

(ω, P) ∆dl(ω, P) = dl(P) − dl(P + ω) ∈ [−1, 1] δ(l) =

  • 1 −

l sr

2 ∈ (0, 1]

h(x) = 3x2 − 2x3, ∀x ∈ [0, 1] : h(x) ∈ [0, 1] gdepth

l

(ω, P) =     

0, if ∆dl(ω, P) > δ(l) 1, if ∆dl(ω, P) < δ0 1 − h( dl(ω,P)−δ0

δ(l)−δ0

),

else. Ll(ω, P) =

s∈Lights BRDF(Ls, Is, nl(P), ω)

g❧✐❣❤t

l

(ω, P) = 1 − min(Ll(ω, P), 1)

  • Weight each occluder with gl(rωi, P)
  • Classify and weight according to

distance and used hemisphere

  • Incorporate local light reflected

towards occluder, opposing the

  • cclusion due to the added

"light-energy"

Sebastian Eichelbaum