Row Tracing with Hierarchical Occlusion Maps

Similar documents
Spatial Data Structures

INFOGR Computer Graphics. J. Bikker - April-July Lecture 11: Acceleration. Welcome!

CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella

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

Visibility and Occlusion Culling

Spatial Data Structures

Accelerating Ray Tracing

Spatial Data Structures

Speeding Up Ray Tracing. Optimisations. Ray Tracing Acceleration

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday

Real-Time Rendering (Echtzeitgraphik) Dr. Michael Wimmer

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

Ray Tracing. Computer Graphics CMU /15-662, Fall 2016

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Intersection Acceleration

Spatial Data Structures

Comparison of hierarchies for occlusion culling based on occlusion queries

Spatial Data Structures

Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

EFFICIENT BVH CONSTRUCTION AGGLOMERATIVE CLUSTERING VIA APPROXIMATE. Yan Gu, Yong He, Kayvon Fatahalian, Guy Blelloch Carnegie Mellon University

Computer Graphics. Bing-Yu Chen National Taiwan University

Acceleration Data Structures

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics

FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

improving raytracing speed

Graphics 2009/2010, period 1. Lecture 8: ray tracing

Accelerated Raytracing

Lecture 2 - Acceleration Structures

Interactive Ray Tracing: Higher Memory Coherence

CS580: Ray Tracing. Sung-Eui Yoon ( 윤성의 ) Course URL:

Ray Tracing: Intersection

Ray Tracing Acceleration Data Structures

INFOMAGR Advanced Graphics. Jacco Bikker - February April Welcome!

Speeding up your game

VIII. Visibility algorithms (II)

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

Lecture 4 - Real-time Ray Tracing

Improving Memory Space Efficiency of Kd-tree for Real-time Ray Tracing Byeongjun Choi, Byungjoon Chang, Insung Ihm

Solid Modeling. Thomas Funkhouser Princeton University C0S 426, Fall Represent solid interiors of objects

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

The Traditional Graphics Pipeline

Interpolation using scanline algorithm

Accelerating Shadow Rays Using Volumetric Occluders and Modified kd-tree Traversal

MSBVH: An Efficient Acceleration Data Structure for Ray Traced Motion Blur

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

Ray Genealogy. Raytracing: Performance. Bounding Volumes. Bounding Volume. Acceleration Classification. Acceleration Classification

Sung-Eui Yoon ( 윤성의 )

Ray Tracing with Multi-Core/Shared Memory Systems. Abe Stephens

Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.

Accelerating Ray-Tracing

LOD and Occlusion Christian Miller CS Fall 2011

Embree Ray Tracing Kernels: Overview and New Features

Shadows. COMP 575/770 Spring 2013

CS4620/5620: Lecture 14 Pipeline

CPSC GLOBAL ILLUMINATION

B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes

The Traditional Graphics Pipeline

INFOMAGR Advanced Graphics. Jacco Bikker - February April Welcome!

FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS

The Traditional Graphics Pipeline

CS535 Fall Department of Computer Science Purdue University

Enhancing Traditional Rasterization Graphics with Ray Tracing. March 2015

Real-Time Voxelization for Global Illumination

Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye

Computer Graphics. - Spatial Index Structures - Philipp Slusallek

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

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

CPSC / Sonny Chan - University of Calgary. Collision Detection II

Holger Dammertz August 10, The Edge Volume Heuristic Robust Triangle Subdivision for Improved BVH Performance Holger Dammertz, Alexander Keller

Fast BVH Construction on GPUs

Universiteit Leiden Computer Science

Spatial Data Structures for Computer Graphics

Mach band effect. The Mach band effect increases the visual unpleasant representation of curved surface using flat shading.

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

Ray Tracing. Outline. Ray Tracing: History

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences

Culling. Computer Graphics CSE 167 Lecture 12

Last Time: Acceleration Data Structures for Ray Tracing. Schedule. Today. Shadows & Light Sources. Shadows

Single Scattering in Refractive Media with Triangle Mesh Boundaries

Deep Coherent Ray Tracing

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

INFOGR Computer Graphics. J. Bikker - April-July Lecture 11: Visibility. Welcome!

Accelerating Geometric Queries. Computer Graphics CMU /15-662, Fall 2016

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Real-Time Ray Tracing Using Nvidia Optix Holger Ludvigsen & Anne C. Elster 2010

Spatial Data Structures and Acceleration Algorithms

6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, :05-12pm Two hand-written sheet of notes (4 pages) allowed 1 SSD [ /17]

Wed, October 12, 2011

A Model to Evaluate Ray Tracing Hierarchies

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University

Efficient Clustered BVH Update Algorithm for Highly-Dynamic Models. Kirill Garanzha

Spatial Data Structures. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017

Computer Graphics. - Ray-Tracing II - Hendrik Lensch. Computer Graphics WS07/08 Ray Tracing II

Dynamic Spatial Partitioning for Real-Time Visibility Determination. Joshua Shagam Computer Science

Ray Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner)

COMP 175: Computer Graphics April 11, 2018

Ray Tracing with Sparse Boxes

Lecture 11: Ray tracing (cont.)

Scanline Rendering 2 1/42

Transcription:

Row Tracing with Hierarchical Occlusion Maps Ravi P. Kammaje, Benjamin Mora August 9, 2008

Page 2 Row Tracing with Hierarchical Occlusion Maps Outline August 9, 2008 Introduction Related Work Row Tracing Concept Tree Traversal Leaf Node Processing HOMs Packet Row Tracing Results Conclusion

Page 3 Row Tracing with Hierarchical Occlusion Maps Introduction August 9, 2008 Rendering methods - Rasterization Widely used Brute force approach High per pixel complexity Very fast per pixel due to fast scanline intersections Exceptional performance for relatively small models due to hardware acceleration Visibility determination Z-buffer algorithms E. E. Catmull (1974), N. Green et al. (1993), M. Wand et al. (2001), etc Hierarchical Occlusion Maps (HOMs) Zhang et al. (1997)

Page 4 Row Tracing with Hierarchical Occlusion Maps Introduction August 9, 2008 Rendering methods - Ray Tracing Acceleration structures Spatial Subdivision Structures kd-trees, BSP trees, octrees, grids, etc Bounding Volume Hierarchies Scales well with increase in model size logarithmic complexity Parallelization Acceleration kd trees for ray tracing D. S. Fussell and K. R. Subramanian (1988), D. J. MacDonald and K. S. Booth (1988), V.Havran (2000), I. Wald et al. (2001) Packet Ray Tracing I.Wald et al. (2001), Reshetov et al. (2005), P.S.Heckbert and P.Hanrahan (1984), R.Overbeck et al.(2007), S.Boulos et al.(2006), I.Wald et al.(2007)

Row Tracing with Hierarchical Occlusion Maps Row Tracing August 9, 2008 Page 5 Row Tracing I Combines rasterization and ray tracing concepts I A form of Packet ray tracing Packets of rays spanning an entire row I Row can be I A 2D plane I I I Simpler traversal Easy row / triangle intersection per-pixel cost less than ray / triangle intersections A 1D line Simplifies clipping, occlusion testing and frustum testing

Page 6 Row Tracing with Hierarchical Occlusion Maps Row Tracing August 9, 2008 Comparison with other methods Rasterization Ray Tracing Row Tracing Logarithmic Complexity Cheaper per-pixel scanline algorithm Multi-core Parallelization Shadow Rays (with shadow mapping / shadow volumes) (with shadow mapping / shadow volumes)

Page 7 Row Tracing with Hierarchical Occlusion Maps Row Tracing August 9, 2008 Row Tracing High level algorithm Traverse row-plane through kd-tree or octree Rasterize leaf node triangles with scanline algorithm Very similar to Ray tracing Early ray termination not possible Use 1D Hierarchical Occlusion Maps to achieve this

Page 8 Row Tracing with Hierarchical Occlusion Maps Row Tracing August 9, 2008 Tree Traversal Similar to ray tree traversal Start traversal from root node Traverse nodes in front-to-back order Traversal stops if Row-plane does not intersect node Node s projection is occluded Node s projection is outside frustum (1D frustum) At leaf node rasterize leaf node triangles

Page 9 Row Tracing with Hierarchical Occlusion Maps Row Tracing August 9, 2008 Row-plane / Node intersection

Page 10 Row Tracing with Hierarchical Occlusion Maps Row Tracing August 9, 2008 Leaf node processing

Page 10 Row Tracing with Hierarchical Occlusion Maps Row Tracing August 9, 2008 Leaf node processing

Page 10 Row Tracing with Hierarchical Occlusion Maps Row Tracing August 9, 2008 Leaf node processing

Page 11 Row Tracing with Hierarchical Occlusion Maps Row Tracing August 9, 2008 Hierarchical Occlusion Maps (HOMs) Important optimization Indicates already occluded parts of a Row 1D version of HOM by Zhang, et al. (1997) HOM for Dragon model

Page 12 Row Tracing with Hierarchical Occlusion Maps Row Tracing August 9, 2008 HOMs Lowest level 1 pixel Each upper level 2 bits of lower level For a row with 1024 pixels, lowest level 128 chars Entire HOM 256 chars Example HOM for a 16 pixel row

Page 13 Row Tracing with Hierarchical Occlusion Maps Row Tracing August 9, 2008 HOMs Usage Initialize prior to traversal Set all bits to zero The entire row is unoccluded

Page 13 Row Tracing with Hierarchical Occlusion Maps Row Tracing August 9, 2008 HOMs Usage Initialize prior to traversal Set all bits to zero The entire row is unoccluded Updating the HOM Triangles rasterization Corresponding lowest level bits are set to 1

Page 13 Row Tracing with Hierarchical Occlusion Maps Row Tracing August 9, 2008 HOMs Usage Initialize prior to traversal Set all bits to zero The entire row is unoccluded Updating the HOM Triangles rasterization Corresponding lowest level bits are set to 1 Upper levels updated if necessary

Page 13 Row Tracing with Hierarchical Occlusion Maps Row Tracing August 9, 2008 HOMs Usage Initialize prior to traversal Set all bits to zero The entire row is unoccluded Updating the HOM Triangles rasterization Corresponding lowest level bits are set to 1 Upper levels updated if necessary Testing for Occlusion Skip occluded nodes Optimize rasterization

Page 14 Row Tracing with Hierarchical Occlusion Maps Row Tracing August 9, 2008 Node occlusion test Use HOM to find if node is occluded

Page 14 Row Tracing with Hierarchical Occlusion Maps Row Tracing August 9, 2008 Node occlusion test Use HOM to find if node is occluded Main challenge to find the pixels of the node projection Accurate projection Needs 8 vertices projection Too expensive 16 dot products and 8 divides Calculate an overestimate Much cheaper 4 dot products and 2 divides

Page 15 Row Tracing with Hierarchical Occlusion Maps Row Tracing August 9, 2008 Occlusion testing leaf node triangle projections

Page 16 Row Tracing with Hierarchical Occlusion Maps Packet Row Tracing August 9, 2008 Packet Row Tracing Row-Packet / Node intersection Case 1 All rows in packet hit the node Case 2 Row packet misses node Case 3 Divergence nodes - Trace individual rows from these nodes

Page 16 Row Tracing with Hierarchical Occlusion Maps Packet Row Tracing August 9, 2008 Packet Row Tracing Row-Packet / Node intersection Case 1 All rows in packet hit the node Case 2 Row packet misses node Case 3 Divergence nodes - Trace individual rows from these nodes Occlusion testing Test each row individually Leaf node All rows are rasterized with leaf node s triangles

Page 17 Row Tracing with Hierarchical Occlusion Maps Packet Row Tracing August 9, 2008 SSE and Muti-threading SSE used to optimize key parts of algorithm Triangle intersections Projection calculation Multi-threading Good load balancing essential to obtain best speed-ups Round robin allocation of work Load balancing for a Quad core processor.

Page 18 Row Tracing with Hierarchical Occlusion Maps Results August 9, 2008 Results Intel Core 2 Quad 2.4 GHz 4 threads Geforce 8800 GTX with 768 MB Video RAM Performance comparison Packet ray tracing (2 2, 4 4, 8 8, 16 16 rays) OpenGL with display lists

Page 19 Row Tracing with Hierarchical Occlusion Maps Results August 9, 2008 Results

Page 20 Row Tracing with Hierarchical Occlusion Maps Results August 9, 2008 Results Fastest version of Row tracing vs OpenGL

Page 21 Row Tracing with Hierarchical Occlusion Maps Results August 9, 2008 Results Fastest versions of Row tracing vs Ray tracing

Page 22 Row Tracing with Hierarchical Occlusion Maps Results August 9, 2008 Results - Performance on Octrees

Page 23 Row Tracing with Hierarchical Occlusion Maps Results August 9, 2008 Results - Scalability over number of Cores

Page 24 Row Tracing with Hierarchical Occlusion Maps Results August 9, 2008 Results - Performance vs Tree Size a) Sponza b) Sodahall

Page 25 Row Tracing with Hierarchical Occlusion Maps Conclusion August 9, 2008 Conclusion and Future work Conclusion Row tracing combines concepts from ray tracing and rasterization Low per pixel cost Excellent performance Works well on smaller trees Easy and effective parallelization near perfect speed-up achieved Future work Further optimization faster row packet occlusion testing Dynamic scenes combine row tracing with fast construction methods Shadow rays shadow mapping technique

Page 26 Row Tracing with Hierarchical Occlusion Maps Conclusion August 9, 2008 Acknowledgements I.Wald Models and information about importing models. Stanford Computer Graphics Laboratory Models. PLY import libraries. Eric Haines et al. Standard Procedural Databases set of models.

Page 27 Row Tracing with Hierarchical Occlusion Maps Conclusion August 9, 2008 Questions?