• No results found

Visibility Map for Global Illumination in Point Clouds

N/A
N/A
Protected

Academic year: 2022

Share "Visibility Map for Global Illumination in Point Clouds"

Copied!
42
0
0

Loading.... (view fulltext now)

Full text

(1)

Visibility Map for Global Illumination in Point Clouds

R. Goradia1 A. Kanakanti1 S. Chandran1 A. Datta2

1Indian Institute of Technology, Bombay Mumbai, India

{rhushabh, kanil, sharat}@cse.iitb.ac.in

2University of Western Australia Perth, Australia [email protected]

2.12.2007

(2)

Overview

1 Problem Definition

2 Visibility Map

What is a V-map?

Construction of a V-map

3 Results

4 Conclusion and Future Work

(3)

Problem Definition

Overview

1 Problem Definition

2 Visibility Map

What is a V-map?

Construction of a V-map

3 Results

4 Conclusion and Future Work

(4)

Problem Definition

Problem Definition

Problem Statement

To compute aVisibility Map(V-map) for complex scenes represented aspoint-models, for the purpose ofglobal illumination.

(5)

Problem Definition

Application Domains

(6)

Problem Definition

Visibility Between Point Pairs

View Independent Visibilitycalculation between point pairs is essentialto givecorrectGI results as a point recieves energy from other point only if it isvisible

(7)

Problem Definition

Visibility Between Point Pairs

VISIBILITY IN POLYGONAL MODELS VISIBILITY IN POINT MODELS

(8)

Problem Definition

Hierarchical Visibility

Hierarchical Visibilityapproach helps in achieving faster GI solution (eg. hierarchical radiosity).

Level 2 Level 3

Level 1

(9)

Problem Definition

Points N2links V-Map Links % Memory(MB) Memory(MB) Build V-Map Model

(millions) (millions) (millions) Decrease N2links V-Map links Time(secs)

ECR 0.1 1.4 0.27 79.5% 5.35 1.09 20.6

PCR 0.14 3.85 0.67 82.62% 15.43 2.68 23.8

BUN 0.15 1.53 0.38 74.64% 6.09 1.5 21.7

DRA 0.55 2.75 0.43 84.54% 11.0 1.7 23.5

BUD 0.67 1.58 0.39 74.75% 6.33 1.6 23.9

GAN 0.15 1.56 0.38 75.64% 6.2 1.55 22.0

GOD 0.17 1.62 0.4 75.31% 6.4 1.63 22.9

ECR – Empty Cornell room PCR – Packed Cornell room BUN – Bunny in Cornell room DRA – Dragon in Cornell room BUD – Buddha in Cornell room

GAN – Indian God Ganesha in a Cornell room GOD – Indian Goddess Satya in a Cornell room

(10)

Visibility Map

Overview

1 Problem Definition

2 Visibility Map

What is a V-map?

Construction of a V-map

3 Results

4 Conclusion and Future Work

(11)

Visibility Map What is a V-map?

What is a Visibility Map (V-map)?

Thevisibility mapfor a tree is a collection of visibility links for every node in the tree

Thevisibility linkfor any node pis a listLof nodes

Every point in any node inLis guaranteed to be visible from every point inp

Level 2 Level 3

Level 1

(12)

Visibility Map What is a V-map?

What is a Visibility Map (V-map)?

Thevisibility mapfor a tree is a collection of visibility links for every node in the tree

Thevisibility linkfor any node pis a listLof nodes

Every point in any node inLis guaranteed to be visible from every point inp

Level 2 Level 3

Level 1

Visible Partial

NODE P

Invisible

(13)

Visibility Map What is a V-map?

What is a Visibility Map (V-Map)?

000000 000 111111 111

0000 1111

0000 1111

0000 1111

000000 000 111111 111

0000 1111

0000 1111

0000 1111 0000 1111 LEVEL 3 (LEAF) LEVEL 2 LEVEL 1 LEVEL 0 (ROOT)

With respect to at any level,

−− PARTIALLY VISIBLE

−− COMPLETELY INVISIBLE

−− COMPLETELY VISIBLE

(14)

Visibility Map What is a V-map?

Visibility Map Queries?

Visibility maps entertain efficient answers to the following queries.

1 Is pointxvisible to pointy?

2 What is the visibility status ofupoints aroundxwith respect tovpoints aroundy?

Repeat a “primitive” point-point visibility queryuvtimes V-Map gives the answer withO(1)point-point visibility queries.

3 Given a pointxand a rayR, determine the first object of intersection.

4 Is pointxin the shadow (umbra) of a light source?

All the above queries are done with a simple traversal of the octree.

(15)

Visibility Map

Construction of a V-map

V-map Construction Algorithm

Initialize the o-IL of every node to be its seven siblings

ROOT

TILL THE LEAVES

1 1 1

2 2 2

3 3 3 NODE 1

NODE 2

NODE 3

(16)

Visibility Map

Construction of a V-map

V-map Construction Algorithm

procedureOctreeVisibility(Node A)

foreach node B in old interaction list (o-IL) of Ado ifNodetoNodeVisibility(A,B) == VISIBLEthen

add B in new interaction list (n-IL) of A add A in new interaction list (n-IL) of B end if

remove A from old interaction list (o-IL) of B end for

foreach C in children(A)do OctreeVisibility(C) end for

V-map constructed by calling initially for the root, which sets up the relevant visibility links in n-IL

NodetoNodeVisibility(A,B) constructs the visibility links for all descendants of A w.r.t all descendants of B (and vice-versa) at the best (i.e. highest) possible level. This ensures an optimal structure for hierarchical radiosity as well as reduces redundant computations

(17)

Visibility Map

Construction of a V-map

V-map Construction Algorithm

ROOT

VISIBILITY COMPUTE

LEVEL L−4

LEVEL L−3

LEVEL L−2

LEVEL L−1

LEVEL L LEVEL 0

A B

(18)

Visibility Map

Construction of a V-map

V-map Construction Algorithm

ROOT

LEVEL L−4

LEVEL L−3

LEVEL L−2

LEVEL L−1

LEVEL L LEVEL 0

LOOK−UP LOOK−UP

B A

(19)

Visibility Map

Construction of a V-map

V-map Construction Algorithm

ROOT

LEVEL L−4

LEVEL L−3

LEVEL L−2

LEVEL L−1

LEVEL L LEVEL 0

B A

(20)

Visibility Map

Construction of a V-map

V-map Construction Algorithm

ROOT

LEVEL L−4

LEVEL L−3

LEVEL L−2

LEVEL L−1

LEVEL L LEVEL 0

NEW VISIBILITY LINK

COMPLETE VISIBILITY

B A

(21)

Visibility Map

Construction of a V-map

V-map Construction Algorithm

ROOT

LEVEL L−4

LEVEL L−3

LEVEL L−2

LEVEL L−1

LEVEL L LEVEL 0

NEW VISIBILITY LINK

PARTIAL VISIBILITY

B A

(22)

Visibility Map

Construction of a V-map

Leaf-Leaf Visibility Algorithm

Consider centroid andNOTleaf center

Level 2 Level 3

Level 1

CENTROID C1

LEAF CENTER

LEAF CENTER

CENTROID C2

(23)

Visibility Map

Construction of a V-map

Leaf-Leaf Visibility Algorithm

c1

c 2 cZ

cZ3 c1

c2

c1

c2 cZ4

c 1

c 2

c 1

c 2 cZ1

cZ2

(24)

Visibility Map

Construction of a V-map

Leaf-Leaf Visibility Algorithm

DistanceRis unique for each leaf and depends on distribution of points in the leaf (Ris not a user-input) Imposing astrictvisibility condition balances the leniency introduced

Faster, as we exit on finding the first potential occluder Dense point models help in achieving better results

NOTE:We perform this visibility computation (with help of averaged normals) only for the leaves. There are noaverage normalsdefined for internal nodes of the tree.

(25)

Visibility Map

Construction of a V-map

Point Pair Visibility

n

x2 n

n n

n

2

3

np

q

x5

4

5

p

q x3

x4

>R

R n1 x1

Visibility between pointspandq

Level 2 Level 3

Level 1

p

q

Finding Potential Occluders using bresenham line algorithm

(26)

Visibility Map

Construction of a V-map

Computational Complexity

AssumeN= Θ(n2),n= points in input model.

Visibility problem provides answer toNpairwise queries. Hence we measure the efficiency w.r.tN

Octree Visibility has the recurrence:T(h) = 8T(h1) +N(for a NodeAat heighth)

Complexity forNodetoNodeVisibility(A,B)is determined by the calls to point-pair visibility algorithm

Assuming the latter to beO(1), the recurrence relation for the former is T(h) = 64T(h1) +O(1).

The overall algorithm consumes a small amount of memory (for storingM) during runtime.

(27)

Results

Overview

1 Problem Definition

2 Visibility Map

What is a V-map?

Construction of a V-map

3 Results

4 Conclusion and Future Work

(28)

Results

Qualitative Results: Visibility Correctness

(29)

Results

Qualitative Results: Visibility Correctness

(30)

Results

Qualitative Results: Visibility Correctness

(31)

Results

Qualitative Results: Visibility Correctness

(32)

Results

Qualitative Results: Visibility Correctness

(33)

Results

Qualitative Results: Visibility Correctness

(34)

Results

Qualitative Results: Global Illumination

(35)

Results

Qualitative Results: Global Illumination

(36)

Results

Qualitative Results: Global Illumination

(37)

Results

Qualitative Results: Global Illumination

(38)

Results

Quantitative Results

(39)

Conclusion and Future Work

Overview

1 Problem Definition

2 Visibility Map

What is a V-map?

Construction of a V-map

3 Results

4 Conclusion and Future Work

(40)

Conclusion and Future Work

Conclusion

The lack of surface information in point models creates difficulties in operations like generating global illumination effects and computing point-pair visibility Point-to-Point Visibility is arguably one of the most difficult problems in rendering since the interaction between two primitives depends on the rest of the scene One way to reduce the difficulty is to consider clustering of regions such that their mutual visibility is resolved at a group level (V-Map)

Visibility Map data structure we propose enables efficient answer to common rendering queries

In this paper, we have given a novel, provably efficient, hierarchical, visibility determination scheme for point based models

By viewing this visibility map as a ’preprocessing’ step, photo-realistic global illumination rendering of complex point-based models have been shown If analyzed properly, the visibility algorithm isembarrassingly parallel

(41)

Conclusion and Future Work

Marc Levoy, Kari Pulli, Brian Curless, Szymon

Rusinkiewicz, David Koller, Lucas Pereira, Matt Ginzton, Sean Anderson, James Davis, Jeremy Ginsberg, Jonathan Shade, and Duane Fulk.

The digital michelangelo project: 3D scanning of large statues.

In Kurt Akeley, editor,Siggraph 2000, Computer Graphics Proceedings, pages 131–144. ACM Press / ACM

SIGGRAPH / Addison Wesley Longman, 2000.

Marc Levoy and Turner Whitted.

The use of points as a display primitive.

Technical Report TR 85-022, University of North Carolina at Chapel Hill, 1985.

(42)

Conclusion and Future Work

Thank you for your time !

Questions ?

References

Related documents

• Implicit surface representation of point models: We design a GPU optimized data struc- ture for rendering surfaces represented by point models, which gives us better speed and

We exploited the parallel computing power of GPUs for implementation of the Fast Multipole Method based radiosity kernel as well as the point-pair visibility determination

Further, the global illumination algorithm should handle point models with any of diffuse or specular material properties, there by capturing all known light reflections,

Color Quantization Point Models Visibility Map Space Filling Curves..

Downward Pass: For each level (starting from the second), the local coefficients at each node b are calculated by converting the multipole coefficients of boxes in the interaction

● Noise: Any deviation of the sampled point data from the true surface. ● Can be random (often assumed to be

We now aim to exploit the parallel computing power of GPUs for implementation of the Fast Multipole Method based radiosity kernel as well as the point-pair visibility

 Define color for each point on object surface.  Map 2D texture to