Visibility Map for Global Illumination in Point Clouds



Similar documents
A Short Introduction to Computer Graphics

Computer Graphics Global Illumination (2): Monte-Carlo Ray Tracing and Photon Mapping. Lecture 15 Taku Komura

Introduction to Computer Graphics

Vector storage and access; algorithms in GIS. This is lecture 6

A unified representation for interactive 3D modeling

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

A NEW METHOD OF STORAGE AND VISUALIZATION FOR MASSIVE POINT CLOUD DATASET

Consolidated Visualization of Enormous 3D Scan Point Clouds with Scanopy

Computer Graphics. Introduction. Computer graphics. What is computer graphics? Yung-Yu Chuang

The Essentials of CAGD

HIGH AND LOW RESOLUTION TEXTURED MODELS OF COMPLEX ARCHITECTURAL SURFACES

TEXTURE AND BUMP MAPPING

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

An introduction to Global Illumination. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

Dhiren Bhatia Carnegie Mellon University

Classifying Large Data Sets Using SVMs with Hierarchical Clusters. Presented by :Limou Wang

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.

Data Warehousing und Data Mining

INTRODUCTION TO RENDERING TECHNIQUES

Using Photorealistic RenderMan for High-Quality Direct Volume Rendering

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

Rendering Area Sources D.A. Forsyth

ASSESSMENT OF VISUALIZATION SOFTWARE FOR SUPPORT OF CONSTRUCTION SITE INSPECTION TASKS USING DATA COLLECTED FROM REALITY CAPTURE TECHNOLOGIES

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

Part-Based Recognition

Load Balancing and Data Locality in Adaptive Hierarchical N-body Methods: Barnes-Hut, Fast Multipole, and Radiosity

Off-line Model Simplification for Interactive Rigid Body Dynamics Simulations Satyandra K. Gupta University of Maryland, College Park

Introduction to Computer Graphics. Reading: Angel ch.1 or Hill Ch1.

How To Create A Surface From Points On A Computer With A Marching Cube

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

RIEGL VZ-400 NEW. Laser Scanners. Latest News March 2009

CSE452 Computer Graphics

Lecture Notes, CEng 477

Data Mining. Cluster Analysis: Advanced Concepts and Algorithms

Binary Search Trees. A Generic Tree. Binary Trees. Nodes in a binary search tree ( B-S-T) are of the form. P parent. Key. Satellite data L R

Persistent Data Structures and Planar Point Location

Self-Positioning Handheld 3D Scanner

NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect

Volume visualization I Elvins

Dual Marching Cubes: Primal Contouring of Dual Grids

Clustering on Large Numeric Data Sets Using Hierarchical Approach Birch

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

Physical Data Organization

CUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS

INTERACTIVE COMPUTER GRAPHICS Data Structures, Algorithms, Languages

Curves and Surfaces. Goals. How do we draw surfaces? How do we specify a surface? How do we approximate a surface?

Fundamentals of Computer Graphics

Computer Graphics AACHEN AACHEN AACHEN AACHEN. Public Perception of CG. Computer Graphics Research. Methodological Approaches

Pitfalls of Object Oriented Programming

Data Mining Cluster Analysis: Basic Concepts and Algorithms. Lecture Notes for Chapter 8. Introduction to Data Mining

Monte Carlo Path Tracing

Clustering & Visualization

MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem

Persistent Data Structures

Overview of Storage and Indexing

Big Data Analytics of Multi-Relationship Online Social Network Based on Multi-Subnet Composited Complex Network

3D Distance from a Point to a Triangle

R-trees. R-Trees: A Dynamic Index Structure For Spatial Searching. R-Tree. Invariants

Segmentation of building models from dense 3D point-clouds

A Virtual Machine Searching Method in Networks using a Vector Space Model and Routing Table Tree Architecture

SECONDARY STORAGE TERRAIN VISUALIZATION IN A CLIENT-SERVER ENVIRONMENT: A SURVEY

H.Calculating Normal Vectors

NVIDIA IndeX. Whitepaper. Document version June 2013

Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

PCL - SURFACE RECONSTRUCTION

Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.

Parallel Simplification of Large Meshes on PC Clusters

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list

Rendering Microgeometry with Volumetric Precomputed Radiance Transfer

Fast and Robust Normal Estimation for Point Clouds with Sharp Features

Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C

Sanjeev Kumar. contribute

3D Building Roof Extraction From LiDAR Data

VISUALIZING HIERARCHICAL DATA. Graham Wills SPSS Inc.,

Advanced Rendering for Engineering & Styling

Bernice E. Rogowitz and Holly E. Rushmeier IBM TJ Watson Research Center, P.O. Box 704, Yorktown Heights, NY USA

Deferred Shading & Screen Space Effects

SCALABILITY OF CONTEXTUAL GENERALIZATION PROCESSING USING PARTITIONING AND PARALLELIZATION. Marc-Olivier Briat, Jean-Luc Monnot, Edith M.

Thea Omni Light. Thea Spot Light. Light setup & Optimization

1.1. The Goal of Clustering

DAMAGED ROAD TUNNEL LASER SCANNER SURVEY

Fast Matching of Binary Features

Announcements. Active stereo with structured light. Project structured light patterns onto the object

Lezione 4: Grafica 3D*(II)

An Adaptive Hierarchical Next-Best-View Algorithm for 3D Reconstruction of Indoor Scenes

Echidna: Efficient Clustering of Hierarchical Data for Network Traffic Analysis

Computer Animation: Art, Science and Criticism

Simple Solution for a Location Service. Naming vs. Locating Entities. Forwarding Pointers (2) Forwarding Pointers (1)

Processing the point cloud with RiscanPro or Riprofile. CyberMapping Lab UT-Dallas

DM810 Computer Game Programming II: AI. Lecture 11. Decision Making. Marco Chiarandini

Hardware design for ray tracing

Data Structure with C

Previous Lectures. B-Trees. External storage. Two types of memory. B-trees. Main principles

I-SiTE - Laser Scanning Revolutionises Site Survey

Collision Detection Algorithms for Motion Planning

Transcription:

TIFR-CRCE 2008 Visibility Map for Global Illumination in Point Clouds http://www.cse.iitb.ac.in/ sharat Acknowledgments: Joint work with Rhushabh Goradia. Thanks to ViGIL, CSE dept, and IIT Bombay (Based on ACM Siggraph Graphite (2007) paper)

Overview 1 Introduction 2 Visibility Map What is a V-map? Construction of a V-map 3 Results 4 Conclusion and Future Work

Introduction Overview 1 Introduction 2 Visibility Map What is a V-map? Construction of a V-map 3 Results 4 Conclusion and Future Work

Introduction What are Point Models? Model surfaces as points Each point has attributes: [coordinates, normal, reflectance, emmisivity] Immediate question: Why not triangles, why points? And how do we get these points?

Introduction What are Point Models? Model surfaces as points Each point has attributes: [coordinates, normal, reflectance, emmisivity] Immediate question: Why not triangles, why points? And how do we get these points?

Introduction Polygons v/s points: The data Laser range scanners produce 3D data Creating a consistent polygon mesh is expensive Maintaining a consistent polygon mesh is expensive: Dynamic shapes (e.g., fluttering flag)

Introduction Polygons v/s points: The data Laser range scanners produce 3D data Creating a consistent polygon mesh is expensive Maintaining a consistent polygon mesh is expensive: Dynamic shapes (e.g., fluttering flag)

Introduction Polygons v/s points: The data Laser range scanners produce 3D data Creating a consistent polygon mesh is expensive Maintaining a consistent polygon mesh is expensive: Dynamic shapes (e.g., fluttering flag)

Introduction Polygons v/s points: The Illusion Polygons good for large, flat, or subtly curved regions Points better for models with details everywhere.

Introduction Polygons v/s points: The Illusion Polygons good for large, flat, or subtly curved regions Points better for models with details everywhere.

Introduction Polygons v/s points: Scan Conversion Smaller polygons lead to higher rasterization costs

Introduction Polygons v/s points: LOD Level of Detail (LOD) based hierarchy is simpler in point based models

Introduction Points Summary Although the triangle is the defacto standard in representing objects, points are good things to have. So why have points not been used all this while? Incidentally, images are now a third representation in computer graphics

Introduction Points Summary Although the triangle is the defacto standard in representing objects, points are good things to have. So why have points not been used all this while? Incidentally, images are now a third representation in computer graphics

Introduction Visibility Between Point Pairs VISIBILITY IN POLYGONAL MODELS VISIBILITY IN POINT MODELS Point representation implies holes

Introduction What are Global Illumination Algorithms? Global illumination algorithms are those which, when determining the light falling on a surface, take into account not only the light which has taken a path directly from a light source (direct illumination), but also light which has undergone reflection from other surfaces in the world (indirect illumination). GI is obviously needed: we see it all the time GI is expensive: The appearance at a point depends on receiving illumination from all other points, which in turn depends on other points

Introduction What are Global Illumination Algorithms? Global illumination algorithms are those which, when determining the light falling on a surface, take into account not only the light which has taken a path directly from a light source (direct illumination), but also light which has undergone reflection from other surfaces in the world (indirect illumination). GI is obviously needed: we see it all the time GI is expensive: The appearance at a point depends on receiving illumination from all other points, which in turn depends on other points

Introduction What are Global Illumination Algorithms? Global illumination algorithms are those which, when determining the light falling on a surface, take into account not only the light which has taken a path directly from a light source (direct illumination), but also light which has undergone reflection from other surfaces in the world (indirect illumination). GI is obviously needed: we see it all the time GI is expensive: The appearance at a point depends on receiving illumination from all other points, which in turn depends on other points

Introduction What are Global Illumination Algorithms? Global illumination algorithms are those which, when determining the light falling on a surface, take into account not only the light which has taken a path directly from a light source (direct illumination), but also light which has undergone reflection from other surfaces in the world (indirect illumination). GI is obviously needed: we see it all the time GI is expensive: The appearance at a point depends on receiving illumination from all other points, which in turn depends on other points

TIFR-CRCE 2008 Introduction Examples showing GI Effects

TIFR-CRCE 2008 Introduction Application Domains

Introduction Visibility Between Point Pairs View Independent Visibility calculation between point pairs is essential to give correct GI results as a point receives energy from other point only if it is visible

Introduction Visibility Between Point Pairs VISIBILITY IN POLYGONAL MODELS VISIBILITY IN POINT MODELS View dependent visibility versus view independent visibility Although view dependent visibility based point based rendering solutions exist, we present the first global illumination solution for point models based on the view independent paradigm

Introduction Visibility Between Point Pairs VISIBILITY IN POLYGONAL MODELS VISIBILITY IN POINT MODELS View dependent visibility versus view independent visibility Although view dependent visibility based point based rendering solutions exist, we present the first global illumination solution for point models based on the view independent paradigm

Introduction Visibility Between Point Pairs VISIBILITY IN POLYGONAL MODELS VISIBILITY IN POINT MODELS View dependent visibility versus view independent visibility Although view dependent visibility based point based rendering solutions exist, we present the first global illumination solution for point models based on the view independent paradigm

Introduction Visibility Between Point Pairs VISIBILITY IN POLYGONAL MODELS VISIBILITY IN POINT MODELS View dependent visibility versus view independent visibility Although view dependent visibility based point based rendering solutions exist, we present the first global illumination solution for point models based on the view independent paradigm

Introduction Hierarchical Visibility Hierarchical Visibility enables quick answers to visibility queries, thus enabling a faster GI solution Level 3 Level 2 Level 1

TIFR-CRCE 2008 Introduction Hierarchical Visibility Key Notion: We define a Visibility Map (V-map) for the resulting tree to enable quick answers to visibility queries.

Visibility Map Overview 1 Introduction 2 Visibility Map What is a V-map? Construction of a V-map 3 Results 4 Conclusion and Future Work

Visibility Map What is a V-map? What is a Visibility Map (V-map)? The visibility map for a tree is a collection of visibility links for every node in the tree Level 1 Level 2 Level 3 The visibility link for any node N is a set L of nodes Every point in any node in L is guaranteed to be visible from every point in N

Visibility Map What is a V-map? What is a Visibility Map (V-map)? The visibility map for a tree is a collection of visibility links for every node in the tree The visibility link for any node N is a set L of nodes Every point in any node in L is guaranteed to be visible from every point in N Level 3 Level 2 Level 1 Visible Visible NODE N Visible Visible NODE N V1 V2 V3 V4 VISIBILITY LINK

Visibility Map What is a V-map? What is a Visibility Map (V-map)? 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 0000000000 1111111111 00 11 00 11 000 111 000 111 000 111 LEVEL 0 (ROOT) LEVEL 1 With respect to000 111at any level, 000 111 COMPLETELY INVISIBLE COMPLETELY VISIBLE PARTIALLY VISIBLE

Visibility Map What is a V-map? What is a Visibility Map (V-Map)? 000 111 000 111 000 111 LEVEL 0 (ROOT) 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 000000 111111 00 11 00 11 LEVEL 1 00 11 00 11 LEVEL 2 With respect to000 111at any level, 000 111 COMPLETELY INVISIBLE COMPLETELY VISIBLE PARTIALLY VISIBLE

Visibility Map What is a V-map? What is a Visibility Map (V-Map)? 000 111 000 111 000 111 LEVEL 0 (ROOT) 000 111 000 111 000 111 000 111 00 11 00 11 LEVEL 1 00 11 00 11 LEVEL 2 With respect to000 111at any level, 000 111 COMPLETELY INVISIBLE COMPLETELY VISIBLE 00 11 00 11 LEVEL 3 (LEAF) PARTIALLY VISIBLE

Visibility Map What is a V-map? Visibility Map Queries? Visibility map entertain efficient answers: 1 Is point x visible from point y? 2 What is the visibility status of u points around x with respect to v points around y? Repeat a primitive point-point visibility query uv times V-map gives the answer with O(1) point-point visibility queries. 3 Given a point x and a ray R, determine the first object of intersection. 4 Is point x in the shadow (umbra) of a light source? All queries answered with a simple octree traversal

Visibility Map What is a V-map? Visibility Map Queries? Visibility map entertain efficient answers: 1 Is point x visible from point y? 2 What is the visibility status of u points around x with respect to v points around y? Repeat a primitive point-point visibility query uv times V-map gives the answer with O(1) point-point visibility queries. 3 Given a point x and a ray R, determine the first object of intersection. 4 Is point x in the shadow (umbra) of a light source? All queries answered with a simple octree traversal

Visibility Map What is a V-map? Visibility Map Queries? Visibility map entertain efficient answers: 1 Is point x visible from point y? 2 What is the visibility status of u points around x with respect to v points around y? Repeat a primitive point-point visibility query uv times V-map gives the answer with O(1) point-point visibility queries. 3 Given a point x and a ray R, determine the first object of intersection. 4 Is point x in the shadow (umbra) of a light source? All queries answered with a simple octree traversal

Visibility Map What is a V-map? Visibility Map Queries? Visibility map entertain efficient answers: 1 Is point x visible from point y? 2 What is the visibility status of u points around x with respect to v points around y? Repeat a primitive point-point visibility query uv times V-map gives the answer with O(1) point-point visibility queries. 3 Given a point x and a ray R, determine the first object of intersection. 4 Is point x in the shadow (umbra) of a light source? All queries answered with a simple octree traversal

Visibility Map Construction of a V-map Computational Complexity Visibility problem provides answer to pairwise queries, and visibility is not a transitive phenomenon. Our algorithm, results in an overall linear time algorithm w.r.t. N the number of such pairs, This is the best possible for any algorithm that builds the V-Map The overall algorithm consumes a small amount of extra overhead memory

Visibility Map Construction of a V-map Computational Complexity Visibility problem provides answer to pairwise queries, and visibility is not a transitive phenomenon. Our algorithm, results in an overall linear time algorithm w.r.t. N the number of such pairs, This is the best possible for any algorithm that builds the V-Map The overall algorithm consumes a small amount of extra overhead memory

Visibility Map Construction of a V-map Computational Complexity Visibility problem provides answer to pairwise queries, and visibility is not a transitive phenomenon. Our algorithm, results in an overall linear time algorithm w.r.t. N the number of such pairs, This is the best possible for any algorithm that builds the V-Map The overall algorithm consumes a small amount of extra overhead memory

Visibility Map Construction of a V-map Computational Complexity Visibility problem provides answer to pairwise queries, and visibility is not a transitive phenomenon. Our algorithm, results in an overall linear time algorithm w.r.t. N the number of such pairs, This is the best possible for any algorithm that builds the V-Map The overall algorithm consumes a small amount of extra overhead memory

Visibility Map Construction of a V-map V-map Construction Algorithm Initialize the old interaction list (o-il) of every node to be its seven siblings ROOT NODE 1 1 1 1 NODE 2 2 2 2 NODE 3 3 3 3 TILL THE LEAVES

Visibility Map Construction of a V-map V-map Construction Algorithm procedure OctreeVisibility(Node A) for each node B in old interaction list (o-il) of A do if NodetoNodeVisibility(A,B) == VISIBLE then 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 for each 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

Visibility Map Construction of a V-map V-map Construction Algorithm procedure OctreeVisibility(Node A) for each node B in old interaction list (o-il) of A do if NodetoNodeVisibility(A,B) == VISIBLE then 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 for each 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

Visibility Map Construction of a V-map V-map Construction Algorithm procedure OctreeVisibility(Node A) for each node B in old interaction list (o-il) of A do if NodetoNodeVisibility(A,B) == VISIBLE then 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 for each 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

Visibility Map Construction of a V-map V-map Construction Algorithm procedure OctreeVisibility(Node A) for each node B in old interaction list (o-il) of A do if NodetoNodeVisibility(A,B) == VISIBLE then 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 for each 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

Visibility Map Construction of a V-map V-map Construction Algorithm ROOT LEVEL 0 A B LEVEL L 4 LEVEL L 3 LEVEL L 2 LEVEL L 1 COMPUTE VISIBILITY LEVEL L

Visibility Map Construction of a V-map V-map Construction Algorithm ROOT LEVEL 0 A B LEVEL L 4 LEVEL L 3 LEVEL L 2 LEVEL L 1 LOOK UP LOOK UP LEVEL L

Visibility Map Construction of a V-map V-map Construction Algorithm ROOT LEVEL 0 A B LEVEL L 4 LEVEL L 3 LEVEL L 2 LEVEL L 1 LEVEL L

Visibility Map Construction of a V-map V-map Construction Algorithm COMPLETE VISIBILITY ROOT LEVEL 0 A B LEVEL L 4 LEVEL L 3 NEW VISIBILITY LINK LEVEL L 2 LEVEL L 1 LEVEL L

Visibility Map Construction of a V-map V-map Construction Algorithm PARTIAL VISIBILITY ROOT LEVEL 0 A B LEVEL L 4 LEVEL L 3 NEW VISIBILITY LINK LEVEL L 2 LEVEL L 1 LEVEL L

Visibility Map Construction of a V-map Leaf-Leaf Visibility Algorithm Consider centroid and NOT leaf center CENTROID C2 Level 3 Level 2 LEAF CENTER Level 1 CENTROID C1 LEAF CENTER

Visibility Map Construction of a V-map Leaf Pair Visibility Level 3 Level 2 q Level 1 p Finding Potential Occluders using the Bresenham algorithm Approximate visibility revisited

Visibility Map Construction of a V-map Leaf-Leaf Visibility Algorithm c 2 cz c 2 c 2 cz4 c1 c1 cz3 c1 c 2 c 2 c 1 cz1 c 1 cz2 R

Visibility Map Construction of a V-map Leaf-Leaf Visibility Algorithm Distance R is unique for each leaf and depends on distribution of points and not the size of leaf. R is not a user-input The strict visibility 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 no average normals defined for internal nodes of the tree.

Visibility Map Construction of a V-map Leaf-Leaf Visibility Algorithm Distance R is unique for each leaf and depends on distribution of points and not the size of leaf. R is not a user-input The strict visibility 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 no average normals defined for internal nodes of the tree.

Visibility Map Construction of a V-map Leaf-Leaf Visibility Algorithm Distance R is unique for each leaf and depends on distribution of points and not the size of leaf. R is not a user-input The strict visibility 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 no average normals defined for internal nodes of the tree.

Visibility Map Construction of a V-map Leaf-Leaf Visibility Algorithm Distance R is unique for each leaf and depends on distribution of points and not the size of leaf. R is not a user-input The strict visibility 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 no average normals defined for internal nodes of the tree.

Visibility Map Construction of a V-map Leaf-Leaf Visibility Algorithm Distance R is unique for each leaf and depends on distribution of points and not the size of leaf. R is not a user-input The strict visibility 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 no average normals defined for internal nodes of the tree.

Visibility Map Construction of a V-map Leaf-Leaf Visibility Algorithm Distance R is unique for each leaf and depends on distribution of points and not the size of leaf. R is not a user-input The strict visibility 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 no average normals defined for internal nodes of the tree.

Visibility Map Construction of a V-map Extending to Adaptive Octrees Level 3 Level 2 q Level 1 p Cornell room (160,000 points) with the Buddha model (534000 points) Potential Occluders using the Bresenham algorithm

Visibility Map Construction of a V-map Ray-Sphere Intersection Algorithm Figure: Ray-Sphere intersection algorithm to determine point-point visibility If node is not a leaf and pq intersects the node then traverse its children If node is a leaf then check whether tangent plane of that node intersects pq within radius R then node p and q are invisible otherwise declare p and q visible

Results Overview 1 Introduction 2 Visibility Map What is a V-map? Construction of a V-map 3 Results 4 Conclusion and Future Work

Results Qualitative Results: Visibility Correctness

Results Qualitative Results: Visibility Correctness

Results Qualitative Results: Visibility Correctness

Results Qualitative Results: Visibility Correctness

Results Qualitative Results: Visibility Correctness

Results Qualitative Results: Visibility Correctness

Results Qualitative Results: Comparisions

Results Qualitative Results: Comparisions

Results Qualitative Results: Comparisions

Results Qualitative Results: Global Illumination

Results Qualitative Results: Global Illumination

Results Qualitative Results: Global Illumination

Results Qualitative Results: Global Illumination

Results Quantitative Results Model Points N 2 links V-Map Links % Memory(MB) Memory(MB) Build V-Map (millions) (millions) (millions) Decrease N 2 links 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 Satyavati in a Cornell room

Results Quantitative Results Model Points N 2 links V-Map Links % Memory(MB) Memory(MB) Build V-Map (millions) (millions) (millions) Decrease N 2 links 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

Results Quantitative Results Model Points N 2 links V-Map Links % Memory(MB) Memory(MB) Build V-Map (millions) (millions) (millions) Decrease N 2 links 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 Satyavati in a Cornell room

Conclusion and Future Work Overview 1 Introduction 2 Visibility Map What is a V-map? Construction of a V-map 3 Results 4 Conclusion and Future Work

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 enables efficient answer to common rendering queries We have presented 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

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 enables efficient answer to common rendering queries We have presented 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

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 enables efficient answer to common rendering queries We have presented 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

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 enables efficient answer to common rendering queries We have presented 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

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 enables efficient answer to common rendering queries We have presented 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

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 enables efficient answer to common rendering queries We have presented 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

Conclusion and Future Work Thank You That s it!