Visibility. Tom Funkhouser COS 526, Fall Slides mostly by Frédo Durand

Similar documents
Some Thoughts on Visibility

Visible Surface Detection. (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker)

Real-Time Rendering (Echtzeitgraphik) Dr. Michael Wimmer

Real-Time Shadows. André Offringa Timo Laman

Pipeline Operations. CS 4620 Lecture 10

Frédo Durand, George Drettakis, Joëlle Thollot and Claude Puech

Shadows. COMP 575/770 Spring 2013

Visibility and Occlusion Culling

Computer Graphics Shadow Algorithms

Computer Graphics. Rendering. by Brian Wyvill University of Calgary. cpsc/enel P 1

Computer Graphics 10 - Shadows

The 3D Visibility Complex: a unified data-structure for global visibility of scenes of polygons and smooth objects

Soft Shadows: Heckbert & Herf. Soft shadows. Heckbert & Herf Soft Shadows. Cornell University CS 569: Interactive Computer Graphics.

Photorealism vs. Non-Photorealism in Computer Graphics

Shadow Algorithms. CSE 781 Winter Han-Wei Shen

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms

Real-Time Shadows. Last Time? Today. Why are Shadows Important? Shadows as a Depth Cue. For Intuition about Scene Lighting

Level of Details in Computer Rendering

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

Real-Time Shadows. Last Time? Schedule. Questions? Today. Why are Shadows Important?

Texture Mapping II. Light maps Environment Maps Projective Textures Bump Maps Displacement Maps Solid Textures Mipmaps Shadows 1. 7.

Visible-Surface Detection Methods. Chapter? Intro. to Computer Graphics Spring 2008, Y. G. Shin

Real-Time Shadows. MIT EECS 6.837, Durand and Cutler

Computer Graphics. Shadows

Pipeline Operations. CS 4620 Lecture 14

CHAPTER 1 Graphics Systems and Models 3

Shadows in the graphics pipeline

Graphics and Interaction Rendering pipeline & object modelling

Computer Graphics 1. Chapter 7 (June 17th, 2010, 2-4pm): Shading and rendering. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2010

VISIBILITY & CULLING. Don t draw what you can t see. Thomas Larsson, Afshin Ameri DVA338, Spring 2018, MDH

Visibility Preprocessing with Occluder Fusion for Urban Walkthroughs

Occluder Simplification using Planar Sections

Creating soft shadows

MIT EECS 6.837, Teller and Durand 1

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!

Computer Graphics. Bing-Yu Chen National Taiwan University

Identifying those parts of a scene that are visible from a chosen viewing position, and only process (scan convert) those parts

Computing Visibility. Backface Culling for General Visibility. One More Trick with Planes. BSP Trees Ray Casting Depth Buffering Quiz

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important?

3D Rasterization II COS 426

Last Time. Reading for Today: Graphics Pipeline. Clipping. Rasterization

CS4620/5620: Lecture 14 Pipeline

Lahore University of Management Sciences. CS 452 Computer Graphics

Advanced Shading I: Shadow Rasterization Techniques

CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation

Motivation. Culling Don t draw what you can t see! What can t we see? Low-level Culling

Today. Anti-aliasing Surface Parametrization Soft Shadows Global Illumination. Exercise 2. Path Tracing Radiosity

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality.

Soft Shadow Volumes for Ray Tracing

CPSC GLOBAL ILLUMINATION

RASTERISED RENDERING

Image-Based Modeling and Rendering. Image-Based Modeling and Rendering. Final projects IBMR. What we have learnt so far. What IBMR is about

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Models and Architectures. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Rasterization. MIT EECS Frédo Durand and Barb Cutler. MIT EECS 6.837, Cutler and Durand 1

Image Precision Silhouette Edges

Fast Calculation of Soft Shadow Textures Using Convolution

Rasterization Overview

Welcome to COMP 770 (236) Introduction. Prerequisites. Prerequisites

Ray tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1

Efficient Visibility Processing for Projective Texture-mapping

REYES REYES REYES. Goals of REYES. REYES Design Principles

Reusing Shading for Interactive Global Illumination GDC 2004

Local vs. Global Illumination & Radiosity

A Fast Shadow Algorithm for Area Light Sources Using Backprojection

Texture Mapping. Michael Kazhdan ( /467) HB Ch. 14.8,14.9 FvDFH Ch. 16.3, , 16.6

Lahore University of Management Sciences. CS 452 Computer Graphics

Computergrafik. Matthias Zwicker. Herbst 2010

Ray Casting on Programmable Graphics Hardware. Martin Kraus PURPL group, Purdue University

3D graphics, raster and colors CS312 Fall 2010

TSBK03 Screen-Space Ambient Occlusion

Introduction to Computer Graphics with WebGL

Effects needed for Realism. Computer Graphics (Fall 2008) Ray Tracing. Ray Tracing: History. Outline

Topics and things to know about them:

Point based Rendering

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

The Rendering Equation & Monte Carlo Ray Tracing

Gaël Guennebaud Loïc Barthe, Mathias Paulin IRIT UPS CNRS TOULOUSE FRANCE Gaël Guennebaud Cyprus June 2006

Chapter 7 - Light, Materials, Appearance

COMP30019 Graphics and Interaction Rendering pipeline & object modelling

Lecture outline. COMP30019 Graphics and Interaction Rendering pipeline & object modelling. Introduction to modelling

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

CS 498 VR. Lecture 18-4/4/18. go.illinois.edu/vrlect18

Hidden surface removal. Computer Graphics

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

Presented by Konstantinos Georgiadis

Computer Graphics. Lecture 9 Hidden Surface Removal. Taku Komura

Shadow Rendering EDA101 Advanced Shading and Rendering

CSE528 Computer Graphics: Theory, Algorithms, and Applications

CS 354R: Computer Game Technology

Graphics Hardware and Display Devices

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

Computer Graphics. Lecture 02 Graphics Pipeline. Edirlei Soares de Lima.

CSE328 Fundamentals of Computer Graphics: Concepts, Theory, Algorithms, and Applications

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

Efficient Construction of Visibility Maps using Approximate Occlusion Sweep

Transcription:

Visibility Tom Funkhouser COS 526, Fall 2016 Slides mostly by Frédo Durand

Visibility Compute which part of scene can be seen

Visibility Compute which part of scene can be seen (i.e., line segment from source to point in scene)

Visibility Applications Computer graphics Hidden surface removal Shadow computation Global illumination Occlusion culling

Visibility Applications Computer graphics Hidden surface removal Shadow computation Global illumination Occlusion culling Drettakis

Visibility Applications Computer graphics Hidden surface removal Shadow computation Global illumination Occlusion culling L ( x', x") Le ( x', x") fr ( x, x', x") L( x, x') V ( x, x') G( x, x' ) da S Teller

Visibility Applications Computer graphics Hidden surface removal Shadow computation Global illumination Occlusion culling Luebke

Visibility Applications Computational Geometry Art galleries Computer vision Object recognition 3D scene reconstruction Next best view planning Robotics Motion planning Visibility-based pursuit-evasion Self-localization

Outline Hidden surface removal Visibility from viewpoint Shadow map Visibility from point light source Aspect graph Visibility from any point in space Visibility Skeleton Visibility between scene elements

Outline Hidden surface removal Visibility from viewpoint Shadow map Visibility from point light source Aspect graph Visibility from any point in space Visibility Skeleton Visibility between scene elements

Hidden Surface Removal Compute which part of every primitive can be seen from a point

Hidden Surface Removal Occlusion by a single occluder

Hidden Surface Removal Problem Cumulative occlusion by multiple occluders

Hidden Surface Removal Problem Sorting according to a distance is not enough

Hidden Surface Removal Methods Sutherland

Hidden Surface Removal Methods Image-space Z-buffer Scan-line Warnock subdivision Object-space Depth-sort Weiler-Atherton BSP Line-space Ray casting

Image-space Computation performed in the plane of the image E.g. is triangle inside rectangle? Usually discretized in pixels

Object-space 3D space where the scene is defined E.g., triangle is occluded if it is inside the pyramid

Line space Visibility expressed in terms of rays E.g. are all rays between the eye and the triangle blocked by the rectangle?

Typical advantages and drawbacks Image-space + Robust, easier to code, occluder fusion, can use hardware - Limited to one viewpoint, aliasing, needs hardware Object-space + Precision, can handle from-region visibility - Often robustness problems, occluder fusion is harder Line space + Natural space, simple atomic operation (ray-casting) - 4D, often requires approximation, or too complex

Outline Hidden surface removal Visibility from viewpoint Shadow map Visibility from point light source Aspect graph Visibility from any point in space Visibility Skeleton Visibility between scene elements

Shadow Maps Precompute image of depths from light Store image of distances from light Lookup depth of surface point in image when shade [Foley et al.]

Shadow Maps Suitable for hardware pipeline Projection into light coordinate system is 4x4 matrix Shadow map stored in texture Problems Field of view Aliasing Aliasing [Teller & Durand, MIT]

Outline Hidden surface removal Visibility from viewpoint Shadow map Visibility from point light source Aspect graph Visibility from any point in space Visibility Skeleton Visibility between scene elements

Aspect Graph There are many possible views of any 3D object

Aspect Graph Some produce topologically equivalent visibility solution Qualitatively equivalent (same aspect) Qualitatively different (different aspect)

Aspect Graph Characterization of the set of possible views of an object [Koenderink and Van Doorn 79, Plantinga and Dyer 90, Gigus et al. 90-91, Petitjean et al. 92] change of view generic view

Aspect Graph For a polygonal scene with n edges O(n 3 ) visual events O(n 6 ) for orthographic views O(n 9 ) for perspective views More reasonable estimate may be O(n 4 ) and O(n 6 ) Not practical to compute and store!

Outline Hidden surface removal Visibility from viewpoint Shadow map Visibility from point light source Aspect graph Visibility from any point in space Visibility Skeleton Visibility between scene elements

Visibility from Polygon Umbra and Penumbra [Nishita et Nakamae 85, Heckbert 92, Teller 92, Lischinski et al. 93, Drettakis et Fiume 94, Stewart et Ghali 94] source umbra penumbra

Visual event Appearance-disappearance of objects (qualitative change of a view) 1 2 e v 3

Visual event Appearance-disappearance of objects (qualitative change of a view) «Wedge» defined by a vertex and an edge Type EV e v

Visual event Appearance-disappearance of objects Limits of umbra e v

Critical line Line going through e and v e v

Critical lines 1D set of lines going through e and v (1 degree of freedom) e t v

Extremal stabbing line 1D set of lines going through e and v (1 degree of freedom) Extremity: extremal stabbing line (VV) (0 degree of freedom) v e v v"

Extremal stabbing line Type VEE (0 degree of freedom) e 2 e 1 v

Adjacent critical line set Generated by the second edge Same extremity ve 1 e 2 e 2 v e 1

Triple-edge event 1 e 2 3 2 e 1 v e 3

Visibility skeleton Scene Graph in line space Encodes adjacencies of extremal stabbing lines and critical line sets

Visibility Skeleton Extremal stabbing line = Node

Visibility Skeleton Extremal stabbing line = Node Critical line set = Arc

Visibility Skeleton Idea: Graph representation of visual events Complexity Memory: O(n 4 ) in theory, n 2 observed Time: O(n 5 ) in theory, n 2.4 observed Results Scenes up to 1500 polygons 1.2 million nodes 32 minutes for computation

Radiosity with Visibility Skeleton Exact computation of form-factors point-polygon Discontinuity meshing scene subdivision along shadow boundaries also for indirect lighting Refinement criterion perceptual metric error estimation

Radiosity with Visibility Skeleton 492 polygons : 10 minutes 23 seconds

Radiosity with Visibility Skeleton With skeleton [Gibson 96] 10 minutes 23 seconds 1 hour 57 minutes

Summary Object-space visibility Help understand the nature of visibility Offer insights about which algorithms will work well Generally difficult to code an make robust Image-space visibility Usually only for visibility from a point Can be implemented with graphics hardware Usual benefits/problems of image-precision computation