Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Graphics Topics in VR By Shaun Nirenstein.

Slides:



Advertisements
Similar presentations
Christian Lauterbach COMP 770, 2/16/2009. Overview  Acceleration structures  Spatial hierarchies  Object hierarchies  Interactive Ray Tracing techniques.
Advertisements

Optimized Stencil Shadow Volumes
Computer graphics & visualization Global Illumination Effects.
Intersection Testing Chapter 13 Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology.
Real-Time Rendering Self-Shadowing
Computer Graphics In4/MSc Computer Graphics Lecture Notes #15 Illumination III View Independent Rendering.
Collision Detection CSCE /60 What is Collision Detection?  Given two geometric objects, determine if they overlap.  Typically, at least one of.
Computer graphics & visualization Collisions. computer graphics & visualization Simulation and Animation – SS07 Jens Krüger – Computer Graphics and Visualization.
Geometry Primer Lines and rays Planes Spheres Frustums Triangles Polygon Polyhedron.
Ray Tracing CMSC 635. Basic idea How many intersections?  Pixels  ~10 3 to ~10 7  Rays per Pixel  1 to ~10  Primitives  ~10 to ~10 7  Every ray.
Week 10 - Monday.  What did we talk about last time?  Global illumination  Shadows  Projection shadows  Soft shadows.
3D Graphics Rendering and Terrain Modeling
Building a Dynamic Lighting Engine for Velvet Assassin Christian Schüler.
Two Methods for Fast Ray-Cast Ambient Occlusion Samuli Laine and Tero Karras NVIDIA Research.
CSE 381 – Advanced Game Programming Scene Management
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
Week 14 - Monday.  What did we talk about last time?  Bounding volume/bounding volume intersections.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2008 Alla Sheffer Advanced Rendering Week.
Bounding Volume Hierarchy “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presented by Mathieu Brédif.
Tomas Mőller © 2000 Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers.
Computer Graphics (Fall 2005) COMS 4160, Lecture 21: Ray Tracing
OBBTree: A Hierarchical Structure for Rapid Interference Detection Gottschalk, M. C. Lin and D. ManochaM. C. LinD. Manocha Department of Computer Science,
Bounding Volume Hierarchies and Spatial Partitioning Kenneth E. Hoff III COMP-236 lecture Spring 2000.
1 Advanced Scene Management System. 2 A tree-based or graph-based representation is good for 3D data management A tree-based or graph-based representation.
Collision Detection David Johnson Cs6360 – Virtual Reality.
02/04/03 Page 1 Rendering Visibility Lighting Texturing.
Presentation of LR2V Kadi Bouatouch IRISA
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
Computer Graphics Shadows
Hidden Surface Removal
12/4/2001CS 638, Fall 2001 Today Using separating planes/axes for collision testing Collision detection packages.
Shadows Computer Graphics. Shadows Shadows Extended light sources produce penumbras In real-time, we only use point light sources –Extended light sources.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
The Visibility Problem In many environments, most of the primitives (triangles) are not visible most of the time –Architectural walkthroughs, Urban environments.
10/16/2001CS 638, Fall 2001 Today Visibility –Overview –Cell-to-Cell –Cell-to-Region –Eye-To-Region –Occlusion Culling (maybe)
CSE 381 – Advanced Game Programming Quickhull and GJK.
-Global Illumination Techniques
09/11/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Graphics Pipeline Texturing Overview Cubic Environment Mapping.
CS447/ Realistic Rendering -- Radiosity Methods-- Introduction to 2D and 3D Computer Graphics.
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
Collision/Acceleration University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
PRESENTED BY – GAURANGI TILAK SHASHANK AGARWAL Collision Detection.
Real-time Graphics for VR Chapter 23. What is it about? In this part of the course we will look at how to render images given the constrains of VR: –we.
1 KIPA Game Engine Seminars Jonathan Blow Ajou University December 6, 2002 Day 10.
CIS 350 – I Game Programming Instructor: Rolf Lakaemper.
David Luebke11/26/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
10/07/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Spatial data structures.
Hierarchical Penumbra Casting Samuli Laine Timo Aila Helsinki University of Technology Hybrid Graphics, Ltd.
CSCE 552 Spring D Models By Jijun Tang. Triangles Fundamental primitive of pipelines  Everything else constructed from them  (except lines and.
Global Illumination. Local Illumination  the GPU pipeline is designed for local illumination  only the surface data at the visible point is needed to.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
Bounding Volume Hierarchy. The space within the scene is divided into a grid. When a ray travels through a scene, it only passes a few boxes within the.
Advanced topics Advanced Multimedia Technology: Computer Graphics Yung-Yu Chuang 2006/01/04 with slides by Brian Curless, Zoran Popovic, Mario Costa Sousa.
Honours Graphics 2008 Session 5. Today’s focus Rasterization Visibility determination Coarse / fine visibility determination.
Shadows David Luebke University of Virginia. Shadows An important visual cue, traditionally hard to do in real-time rendering Outline: –Notation –Planar.
David Luebke 3/5/2016 Advanced Computer Graphics Lecture 4: Faster Ray Tracing David Luebke
David Luebke3/12/2016 Advanced Computer Graphics Lecture 3: More Ray Tracing David Luebke
1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Shadows & occlusion  Shadow - occlusion duality  Floor shadows.
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
Bounding Volume Hierarchies and Spatial Partitioning
Collision Detection Spring 2004.
Bounding Volume Hierarchies and Spatial Partitioning
Today Visibility Overview Cell-to-Cell Cell-to-Region Eye-To-Region
Parts of these slides are based on
© University of Wisconsin, CS559 Fall 2004
(c) 2002 University of Wisconsin
Computer Animation Algorithms and Techniques
Collision Detection.
David Johnson Cs6360 – Virtual Reality
GPAT – Chapter 7 Physics.
Presentation transcript:

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Graphics Topics in VR By Shaun Nirenstein

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Overview Impact of graphics/geometric algorithms on VR Visibility in VR Rendering Topics in VR Collision Detection Animation (I won’t talk about this)

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Impact of graphics/geometric algorithms on VR Constrains the VR Visibility Scene complexity Performance Shadows Cues Soft shadows offer more information about the light source Shadows are difficult(slow), soft shadows are more difficult(slow)

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Impact of graphics/geometric algorithms on VR Constrains the VR (cont.) Illumination models Defines the set of surface materials available Global vs. local illumination What can be done at real-time? –Global specular? –Global diffuse? –Arbitrary BRDF (Bidirectional Reflectance Distribution Function)? Collision detection How accurate? How fast? (Agent/Avatar) Animation Scripted, captured, simulated

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Visibility Obvious application is to manage geometric complexity Don’t render what you cannot see Less obvious application is to manage global complexity Don’t “simulate” invisible objects Can X see Y (e.g. AI) Don’t illuminate invisible objects Predictive cache management!!! Could Y be visible from X soon –Invisible geometry, textures, bump maps, vertex/pixel programs do not have to be resident

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Visibility Algorithms From-point techniques: What is visible from view point X From-region techniques: What is visible from view region R I.e. Y is visible from R, if there exists a point P in R, which can see Y Can bind a visible set to time

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town From Point Visibility Occluder shadow volumes Invisible Occluder

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Occluder Fusion (from point) Occluder shadow volumes Invisible Occluder Invisible Invisible???

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Occluder Fusion (from point) Cells and portals

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Occluder Fusion (from point) Cells and portals

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Occluder Fusion (from point) Cells and portals

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Problems Cells and portals Only work (well) for “architectural scenes” Occluder Shadows Fusion is difficult Only works well for a small number of occluders Other techniques offer various improvements and trade-offs Hierarchical Occlusion Maps Occlusion bit testing Hierarchical Z-Buffer Many more…

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town From Region Visibility Occluder shadow volumes Invisible Occluder

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town From Region Visibility Area light source analogy Separating lines Supporting lines Umbra Penumbra

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town From Region Visibility Area light source analogy Umbra?

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Occluder Fusion (from region) Cells and portals

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Occluder Fusion (from region) Cells and portals

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Occluder Fusion (from region) Cells and portals (visible volume)

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Occluder Fusion (from region) Cells and portals (visible volume)

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Occluder Fusion (from region) Cells and portals (visible cell iff. stabbing line does exist)

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Finding a stabber (2D) Find a line which separates two set of points

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Finding a stabber (2D) Find a line which separates two set of points Left and right sets (defined by orientation)

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Finding a stabber (2D) Find a line which separates two set of points Left and right sets (defined by orientation)

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Finding a stabber (2D) Find a line which separates two set of points Left and right sets (defined by orientation) Solved using duality

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Finding a stabber (3D) Also solved with duality Lines in 3D go to points in 5D Pluecker coordinates

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Constructing Cells/Portals BSP Tree – Splits volume until leaves are convex Portals are sides of leaf nodes which do not correspond to scene polygons

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Constructing Cells/Portals Optimal portal finding is an open problem Portals / Cells (sectors) are usually defined by hand

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Soft and Hard Shadows Hard Shadows – small (points) or far Soft Shadows – area/volume light source HardSoft

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Soft and Hard Shadows Soft shadows != Blurring!!! Light Occluder Ground

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Soft and Hard Shadows Algorithms Point sources are easy! Clip shadow volume against scene Ray tracing Shadow map Shadow volume Soft shadows are difficult! Soft shadow volumes Point sampling of area light source Ray tracing Hard and soft shadows may be pre-computed by sampling surface geometry and applying lightmaps

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Lightmaps Can be used for shadows, lighting, diffuse illumination Need to be recomputed when geometry and/or lights move * =

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Global vs. Local Illumination Global looks better – local is faster Trade offs between complexity, performance, ability to move geometry, quality, etc. What do games do? Radiosity preprocess into light maps Light grid for dynamic objects Bump mapping is applied in addition Many passes: textures, bumps, lightmaps, shadow passes, etc. Doom III? No global illumination Not necessary for the “feel” of the game Allows for dynamic hard shadows (cast BY everything ONTO everything) Photo-realism does not add as much to mood as shadows in this context

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Photon Mapping

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Photon Mapping

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Photon Mapping

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Collision Detection Why? Need to know if movement results in solid bodies colliding Physics Visibility

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Collision Detection Broad Phase Conservative – only test whether or not further testing(narrow phase) is required Uses bounding volumes and bounding hierarchies

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Collision Detection Narrow Phase Accurate Triangle-triangle intersection Segment-triangle intersection Bounding-volume triangle intersection

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Collision Detection(cont.) What makes a good bounding box? Easy to test for collision Tightly represents the model – minimal extraneous volume More information implies better potential What about moving objects? On the fly creation? Conservative updates Tracking nearest geometry

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Collision Detection(cont.) AABB (Axially aligned bounding boxes) Two points in 3D (6 scalars) BS (Bounding Sphere ) Point and radius (4 scalars) Not always a good fit – may require OBB (Oriented bounding box) Three points in 3D (9 scalars ) Principal component analysis

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Collision Detection(cont.) Convex Hull Accurate Conservative bounding planes faster, but less accurate

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Collision Detection(cont.) k-dops (discrete oriented polytopes) Accurate – more planes AABB == 6-dop

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Collision Detection(cont.) 8-dop 45 o

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Collision Detection(cont.) Hierarchies – AABB Test top down

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Collision Detection(cont.) Hierarchies – OBBTree Test top down

Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Collision Detection(cont.) Polytope-polytope intersection (narrow phase) Assuming non-containment: Intersection is equivalent to the existence of an edge of one polytope which intersects the face of another Containment