View-dependent Polygonal Simplification

Size: px
Start display at page:

Download "View-dependent Polygonal Simplification"

Transcription

1 View-dependent Polygonal Simplification Pekka Kuismanen HUT Abstract This paper describes methods for view-dependent simplification of polygonal environments. A description of a refinement algorithm and different types of selective refinement criteria that the algorithm could be applied to is given. An imaginative scene helps to illustrate the workings of the algorithm together with selective refinement criteria in a more concrete way. Finally, there is a comparison of methods for constructing the vertex tree. 1 INTRODUCTION Since 1976 (Clark, 1976), techniques for simplifying polygonal objects and scenes have been developed. These techniques allowed displaying polygonal models at various resolutions and levels of detail. For example, early flight simulators used handcrafted multi-resolution models of airplanes and landscape to guarantee a constant framerate. In the recent years, polygonal simplification has become important in displaying complex models with a very large number of polygons. These complex models may be, e.g., CAD models, terrains generated from satellite data, and laser scanned models (see Figure 1). View-dependent polygonal simplification uses selective refinement criteria based on the position and orientation of the view frustum relative to the model. This means that objects closer to the viewer are displayed in more detail than others. Furhermore, objects outside the view frustum are simplified minimizing the amount of data entering the rendering pipeline. Also, since object silhuettes and contours are important in recognizing shape (Xia and Varshney, 1996), they are allocated more detail than planes perpendicular to the viewer (see Figure 1). This paper is an overview of methods for view dependent simplification. 1

2 Figure 1: Simplified laser scanned bunny-model of 10,528 (original 69,473) faces (Hoppe, 1997a). 2 VERTEX TREE AND ACTIVE TRIANGLE LIST There are a number of considerations concerning the algorithm performing the task of view dependent simplification. Mainly, the algorithm should enable dynamic simplification of the model at runtime. The model is assumed to consist of triangles. Simplification, i.e., lowering the amount of triangles in the model, is done on different parts of the model by a certain view-dependent factor. On the other hand, it should be possible to "desimplify" or add more triangles to the model, or parts of the model, gaining a higher level of detail. The considerations taken into account lead to the assumption that an optimal approach would be to have the model exist at various levels of detail. Also, it should be possible for parts of the model to have a higher level of detail and some to have a lower one. One approach is to store the vertices of the model in a vertex tree in which the nodes near the root of the tree represent the model at the coarsest levels of detail and the leaf nodes correspond to the model at a higher detail level (see Figure 2). Nodes in the vertex tree are labeled active, inactive or boundary. The algorithm traverses the active nodes to create a simplified scene. During simplification, nodes are collapsed and labeled inactive. When more detail is allocated to the model, inactive nodes are expanded, i.e., labeled active. The vertex tree is created at preprocessing stage. Depending on the technique of construction (see Section 5), the preprocessing takes time from a few seconds to some hours on a computer comparable to a 150MHz SGI (Hoppe, 1997a, Luebke and Erikson 1997). Due to the quite long preprocessing times, as with progressive meshes (several hours) and with the octree (several seconds or minutes) these techniques can be performed only on static models. At runtime the vertex tree is queried dynamically to create a simplified scene. The vertex tree controls the order in which vertices are collapsed and stores the data necessary to collapse and uncollapse these vertices quickly. An active triangle list is also maintained. This list is a sequence of visible triangles. 2

3 Figure 2: The vertex tree (Luebke and Erikson, 1997). Here is the datastructure of a node in the active triangle list. struct Tri { }; Node* Node* Tri corners[3]; proxies[3]; *prev, *next; In this data structure, the corners[] represent the original corners of the triangle at the highest level of detail. The proxies[] represent the triangle corners in the current simplification. Presenting the active triangle list as a doubly linked list assumes that the amount of triangles removed or added remains relatively small. Collapsing a node in the vertex tree collapses the corners of triangles that have two or three corners in the node, but not more than one corner within any child of the node into the representative vertex of the node. These triangles are called subtris of the node. When any two corners of a triangle are collapsed the triangle becomes redundant and can be removed from the triangle list. Expanding a node is a converse operation where removed subtris become visible again as their vertices are expanded and they are added to the active triangle list. Here is the data structure of a node in the vertex tree: struct Node { BitVec id; Byte depth; NodeStatus label; // inactive, border or active Coord repvert; // representative vertex of the node Coord center; float radius; Tri * tris; // triangles containing one corner in the node Tri * subtris; // triangles containing two or more corners in the node but 3

4 } ; //not anymore than one corner in the nodes children. Node * parent; Byte numchildren; Node** children; Here is the pseudocode of functions collapsenode and expandnode: collapsenode (Node *N) { N->label=boundary; Foreach child C of N //label all children inactive if (C->label=inactive) collapsenode(c); C->label=inactive; Foreach triangle T in N->tris //update tri proxies foreach corner c of {1, 2, 3} T->proxies[c]= FirstActiveAncestor(T->corners[c]); Foreach triangle T in N->subtris //remove subtris from active list removetri(t); } expandnode(node *N) { foreach child C of N C->label=boundary; N->label=inactive; Foreach triangle T in N->tris //update tri proxies foreach corner c of {1, 2, 3} T->proxies[c]= FirstActiveAncestor(T->corners[c]); Foreach triangle T in N->subtris // add subtris to active list addtri(t); } Here the proxies[] of the tris (triangles that have one corner in a node) are always moved to the representative vertex (repvert) of the first active ancestor of the corner. Note that the representative vertex is a coordinate defined during preprocessing of the triangle list. At the same time the subtris[] (triangles that have two corners in a node but not more than one corner in any child of the node) are added and removed from the active list depending whether the node is collapsed or expanded. When a node is expanded, the subtris proxies[] are also made to point to the representative vertices of their first active ancestors. The idea is that when nodes are collapsed triangles disappear so that the remaining triangles corners move to new positions, covering the surface occupied by the triangles that disappeared. On expansion, the removed triangles become 4

5 once again visible and all the triangles corners will move back to their previous positions. 3 SELECTIVE REFINEMENT CRITERIA As mentioned above, the main selective refinement criteria are the location of the object relative to the view frustum, the distance of the object from the viewer and the orientation of the surface of the object. 3.1 Screen-space geometric error threshold The first criterion concerns with screen-space geometric error threshold, that is a runtime strategy is to collapse vertices which occupy a small amount of the screen. This criterion is the most obvious one since objects far away from the viewer consist of only a few pixels on the screen, therefore it is not necessary to use a high level of detail. Consider a node that represents several nodes clustered together. The error introduced by collapsing the vertices can be thought of as the maximum distance a vertex can be shifted during the collapse operation, which equals the length of the vector between the two farthest vertices in the cluster. The extent of this vector on the screen is the screenspace error of the node. By unfolding exactly those nodes whose screenspace error threshold exceeds a user-specified threshold t, a quality constraint is enforced on the simplification: no vertex shall move by more than t pixels on the screen. A good approximation of determining the screenspace extent of a vertex cluster can be obtained by associating a bounding volume (for example, a sphere) with each node in the vertex tree. The screenspace extent of all nodes is projected to the screen and tested with t. If the size of the node exceeds t the node needs to be expanded. Conversely, if t is larger than the screenspace extent of a node, the node is collapsed. 3.2 View frustum The second criterion is to coarsen parts of the object outside the view frustum to reduce graphics load. As the viewer shifts his view, parts of the scene move out of sight. These parts can be simplified as much as possible. However, collapsing all the nodes outside the view frustum is not feasible. The node might contain a vertice of a visible triangle. Nodes outside the view frustum can be placed into two categories: invisible and irrelevant (see figure 3). An invisible node lies outside the view frustum but contains at least one vertex of one visible triangle. Therefore expanding or collapsing an invisible node has effect on the scene so they cannot be ignored. An irrelevant node is one which expansion or collapse cannot possibly effect the scene, so these nodes can be ignored. 5

6 Figure 3: Invisible nodes and irrelevant nodes (Luebke and Erikson, 1997). Figure 4: The cone of normals is tested against the view cone to determine the orientation of the node (Luebke and Erikson, 1997). 3.3 Silhuette preservation The third criterion is silhuette preservation (see figure 4). Detecting nodes along object silhuettes and allocating more detail to those regions increases the perceived quality of a simplification, therefore more detail is needed on surfaces almost parallel to the line of sight. By adding two fields to the datastructure of the node conenormal (which is a vector) and coneangle (which is a floating point scalar) a cone of normals, which contains all the normals of the vertices in the node, can be defined for the node. The cone of normals can be tested against the view cone to determine the orientation of the node. The node can be either completely frontfacing, completely backfacing or potentially on the silhuette. If a surface within a node is found to be potentially lying on 6

7 the silhuette, the node can be tested against a tighter screenspace error than nodes with frontfacing surfaces. 4 VIEW-DEPENDENT GEOMORPHING The function of the algorithm combined with the refinement criteria described above can be understood and visualized more easily through the concept of geomorphing. Imagine a scene where the viewer flies towards a mountain, like in a flight simulator. He sees it far away in the horizon as a small triangular shape. The mountain at this point exists at its lowest level of detail and is almost like a pyramid. As the viewer flies closer towards the mountain it starts to transform. Gradually, more adjacent triangles start to appear forming slopes on the mountainside. Of course, this gradual transformation is not perceptible (in optimal conditions) to the viewer because his screen resolution is limited. If at the same time there would be another viewer close to the mountain and whose position and orientation were completely ignored by the refinement algorithm, he would see these changes. Now as the viewer flies even closer, the mountain starts to have even more detail. The sides of the pyramid are no longer distinguishable. This is because the triangles constituting the sides of the mountain at its lowest level of detail have been expanded into their numerous subtriangles. The parts of the mountain near the silhuettes relative to the viewer have more detail than other parts of the mountain. Also, the side of the mountain frontfacing the viewer has more detail than the side backfacing him (see figure 5). The mountain gradually covers the entire view of the viewer as he flies even more closer. The viewer is now close enough to notice chasms, ledges and caves on the side of the mountain. At this proximity, parts of the mountain outside the viewer s sight start to decrease in level of detail. As he flies by a highly detailed cave, the triangles constituting the cave s highest level of detail are first expanded as viewer observes the cave and then collapsed once they re outside his view. Also, when the viewer starts circling around the mountain, chasms, ledges, caves and other detail disappear when they are on the other side of the mountain relative to the viewer and reappear when the viewer flies by them once more. Figure 5: The frontfacing side has more detail than the backfacing side (Hoppe, 1997a). 7

8 After this, as the viewer flies away unaware (hopefully) of any change, the mountain begins to coarsen while it s triangles gradually collapse until, when he has disappeared into the horizon, there is left only a simple triangular shape consisting of a few triangles. 5 CONSTRUCTING THE VERTEX TREE Any algorithm that can be expressed in terms of vertex collapse operations can be used to create the vertex tree. The construction of the vertex tree determines the order of the vertices collapsed. This also determines the quality of the simplification. Possible algorithms range from fast and simple approaches with moderate fidelity to slower, more sophisticated methods with high fidelity. 5.1 Spatial subdivision Spatial subdivision is a simple technique and good when viewing and reviewing CAD models, where the preprocessing time of many hours is not wanted. Vertices are ranked in importance depending on surface curvature and edge length. An octree (see Figure 6), which partitions the scene into boxes, is constructed. First the most important vertex is chosen as the representative vertex of the root node of the octree, that is, the biggest box. The vertices are then partitioned among the node s eight children and the process is repeated recursively. This approach assumes that the vertices of the model are uniformly distributed. However, vertices in a CAD model are seldom uniformly distributed, simplification on small parts of the model may have undesired effects on the larger elements of the model. For example, simplification done on a guitar model s frets might effect the shape of the neck, this is not wanted. A better approach for CAD models is to use a tight octree (Luebke and Erikson, 1997). This is similar to the octree described above but in which each node of the octree is tightened to the smallest axis aligned cube that encloses the relevant vertices before the node is subdivided. This way a better runtime performance is gained. Top-down spatial subdivision mechanisms are fast to preprocess, but no assumption is made about the polygon mesh of the model. Manifold topology is not preserved. Cracks, degeneracies, T-junctions and missing polygons may appear. However in practice tight octrees seem to work well (Luebke and Erikson, 1997). 5.2 Progressive mesh and hybrid approach An optimized approach is the progressive mesh algorithm. Each edge collapse corresponds to a node in the vertex tree with two children and one or two subtris. The stream of edge collapse records in a progressive mesh contains an implicit hierarchy that maps directly to the vertex tree (Luebke and Erikson, 1997). A progressive mesh never collapses more than two vertices together at a time, which may result in an unnecessary deep vertex tree. Also, progressive meshes collapse only vertices within a mesh. Therefore merging of different objects is not possible. Manifold topology is preserved which restricts the amount of simplification possible. The preprocessing time 8

9 of a progressive mesh is also very long, several hours on models with a million faces (Hoppe, 1997a). Figure 6: A model of a chair in an octree (Hoppe, 1997b). A hybrid approach is also possible by combining the progressive mesh algorithm and the spatial subdivision algorithm. In this approach the objects in the scene requiring more detail are first preprocessed into progressive meshes. The objects are then merged into a tight octree without regard to topology. This way, the final vertex tree exhibits both high fidelity at low levels of the tree and drastic simplification at high levels (Luebke and Erikson 1997). 6 CONCLUSIONS The methods described above, querying the vertex tree and maintaining an active triangle list depending on view-dependent criteria, perform well when viewing models with a large amount of polygons. They support view dependent factors such as the distance and orientation of the object. Also the viewer can move within the model, as it is geomorphed. Constructing the vertex tree with an octree algorithm requires much less preprocessing time than with a progressive mesh algorithm. Preprocessing with an octree results in lower fidelity at runtime (cracks, discontinuities and missing polygons) but allows drastic simplification. With progressive meshes drastic simplification is not possible because manifold topology is preserved. In practice a hybrid approach combining the progressive mesh and octree algorithms works well (Luebke and Erikson 1997). The surface attributes of the model can be added to the model. Such attributes are characterized as discrete and scalar attributes and associated with the faces of the model. 9

10 Common discrete attributes include material and texture identifiers. Common scalar attributes are color, normal and texture coordinates. REFERENCES Clark, J. H Hierarchical Geometric Models for Visible Surface Algorithms, Communications of the ACM, Vol 18, no 10, pp Hoppe, H Progressive Meshes, Computer Graphics (Siggraph 96), pp Hoppe, H. 1997a View-Dependent Refinement of Progressive Meshes, Computer Graphics (Siggraph 97), pp Hoppe, H. 1997b Robust Meshes from Multiple Range Maps, Proceedings of International Conference on Recent Advances in 3-D Digital Imaging and Modeling, pp Luebke, D. and Erikson, C View-Dependent Simplification Of Arbitrary Polygonal Environments, Computer Graphics (Siggraph 97), pp Xia J. and Varshney A Dynamic View-Dependent Simplification for Polygonal Models, in Proceedings of the IEEE Visualization 96, San Francisco, CA, pp

University of Virginia Technical Report CS-99-33:

University of Virginia Technical Report CS-99-33: University of Virginia Technical Report CS-99-33: ROBUST VIEW-DEPENDENT SIMPLIFICATION FOR VERY LARGE-SCALE CAD VISUALIZATION David P. Luebke Department of Computer Science University of Virginia, Thornton

More information

A Developer s Survey of Polygonal Simplification algorithms. CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005

A Developer s Survey of Polygonal Simplification algorithms. CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005 A Developer s Survey of Polygonal Simplification algorithms CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005 Some questions to ask Why simplification? What are my models like? What matters

More information

1. ABSTRACT. 2.2 Polygonal Simplification. 2.3 Motivation. 2. INTRODUCTION 2.1 Polygons In Computer Graphics

1. ABSTRACT. 2.2 Polygonal Simplification. 2.3 Motivation. 2. INTRODUCTION 2.1 Polygons In Computer Graphics View-Dependent Simplification Of Arbitrary Polygonal Environments David Luebke, Carl Erikson Department of Computer Science University of North Carolina at Chapel Hill 1. ABSTRACT Hierarchical dynamic

More information

1. ABSTRACT. 2.2 Polygonal Simplification. 2.3 Motivation. 2. INTRODUCTION 2.1 Polygons In Computer Graphics

1. ABSTRACT. 2.2 Polygonal Simplification. 2.3 Motivation. 2. INTRODUCTION 2.1 Polygons In Computer Graphics View-Dependent Simplification Of Arbitrary Polygonal Environments David Luebke, Carl Erikson Department of Computer Science University of North Carolina at Chapel Hill 1. ABSTRACT Hierarchical dynamic

More information

Geometric Modeling. Bing-Yu Chen National Taiwan University The University of Tokyo

Geometric Modeling. Bing-Yu Chen National Taiwan University The University of Tokyo Geometric Modeling Bing-Yu Chen National Taiwan University The University of Tokyo Surface Simplification Motivation Basic Idea of LOD Discrete LOD Continuous LOD Simplification Problem Characteristics

More information

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts MSc Computer Games and Entertainment Maths & Graphics II 2013 Lecturer(s): FFL (with Gareth Edwards) Fractal Terrain Based on

More information

A Real-time Rendering Method Based on Precomputed Hierarchical Levels of Detail in Huge Dataset

A Real-time Rendering Method Based on Precomputed Hierarchical Levels of Detail in Huge Dataset 32 A Real-time Rendering Method Based on Precomputed Hierarchical Levels of Detail in Huge Dataset Zhou Kai, and Tian Feng School of Computer and Information Technology, Northeast Petroleum University,

More information

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

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Chap. 5 Scene Management Overview Scene Management vs Rendering This chapter is about rendering

More information

CGAL. Mesh Simplification. (Slides from Tom Funkhouser, Adam Finkelstein)

CGAL. Mesh Simplification. (Slides from Tom Funkhouser, Adam Finkelstein) CGAL Mesh Simplification (Slides from Tom Funkhouser, Adam Finkelstein) Siddhartha Chaudhuri http://www.cse.iitb.ac.in/~cs749 In a nutshell Problem: Meshes have too many polygons for storage, rendering,

More information

Mesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Vertex Clustering. Mesh Simplification Overview

Mesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Vertex Clustering. Mesh Simplification Overview Mesh Simplification Mesh Simplification Adam Finkelstein Princeton University COS 56, Fall 008 Slides from: Funkhouser Division, Viewpoint, Cohen Mesh Simplification Motivation Interactive visualization

More information

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

CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella Introduction Acceleration Techniques Spatial Data Structures Culling Outline for the Night Bounding

More information

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz CS 563 Advanced Topics in Computer Graphics QSplat by Matt Maziarz Outline Previous work in area Background Overview In-depth look File structure Performance Future Point Rendering To save on setup and

More information

Project Gotham Racing 2 (Xbox) Real-Time Rendering. Microsoft Flighsimulator. Halflife 2

Project Gotham Racing 2 (Xbox) Real-Time Rendering. Microsoft Flighsimulator. Halflife 2 Project Gotham Racing 2 (Xbox) Real-Time Rendering Microsoft Flighsimulator Halflife 2 1 Motivation (1) Many graphics applications are dynamic Simulators (surgery, flight simulators, ) 3D computer games

More information

Ray Tracing Acceleration Data Structures

Ray Tracing Acceleration Data Structures Ray Tracing Acceleration Data Structures Sumair Ahmed October 29, 2009 Ray Tracing is very time-consuming because of the ray-object intersection calculations. With the brute force method, each ray has

More information

Hierarchical Structures For Dynamic Polygonal Simplification

Hierarchical Structures For Dynamic Polygonal Simplification Hierarchical Structures For Dynamic Polygonal Simplification TR 96-006 David Luebke Department of Computer Science University of North Carolina at Chapel Hill Chapel Hill, North Carolina Abstract This

More information

Spatial Data Structures

Spatial Data Structures CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration

More information

Culling. Computer Graphics CSE 167 Lecture 12

Culling. Computer Graphics CSE 167 Lecture 12 Culling Computer Graphics CSE 167 Lecture 12 CSE 167: Computer graphics Culling Definition: selecting from a large quantity In computer graphics: selecting primitives (or batches of primitives) that are

More information

Texture Mapping for View-Dependent Rendering

Texture Mapping for View-Dependent Rendering Mapping for View-Dependent Rendering Mario Sormann Christopher Zach Konrad Karner VRVis Research Center Abstract View-dependent multiresolution meshes allow smooth interactive animation and optionally

More information

Spatial Data Structures and Acceleration Algorithms

Spatial Data Structures and Acceleration Algorithms Spatial Data Structures and Acceleration Algorithms Real-time Rendering Performance Goals Spatial Structures Bounding Volume Hierarchies (BVH) Binary Space Partioning(BSP) Trees, Octrees Scene Graphs Culling

More information

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 4 due tomorrow Project

More information

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

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Spatial Data Structures and Speed-Up Techniques Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Spatial data structures What is it? Data structure that organizes

More information

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

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo Computer Graphics Bing-Yu Chen National Taiwan University The University of Tokyo Hidden-Surface Removal Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm

More information

Accelerating Ray Tracing

Accelerating Ray Tracing Accelerating Ray Tracing Ray Tracing Acceleration Techniques Faster Intersections Fewer Rays Generalized Rays Faster Ray-Object Intersections Object bounding volumes Efficient intersection routines Fewer

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie

More information

and Recent Extensions Progressive Meshes Progressive Meshes Multiresolution Surface Modeling Multiresolution Surface Modeling Hugues Hoppe

and Recent Extensions Progressive Meshes Progressive Meshes Multiresolution Surface Modeling Multiresolution Surface Modeling Hugues Hoppe Progressive Meshes Progressive Meshes and Recent Extensions Hugues Hoppe Microsoft Research SIGGRAPH 97 Course SIGGRAPH 97 Course Multiresolution Surface Modeling Multiresolution Surface Modeling Meshes

More information

Spatial Data Structures

Spatial Data Structures CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s/

More information

CSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling

CSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling CSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements Project 3 due Monday Nov 13 th at

More information

Universiteit Leiden Computer Science

Universiteit Leiden Computer Science Universiteit Leiden Computer Science Optimizing octree updates for visibility determination on dynamic scenes Name: Hans Wortel Student-no: 0607940 Date: 28/07/2011 1st supervisor: Dr. Michael Lew 2nd

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie

More information

3/1/2010. Acceleration Techniques V1.2. Goals. Overview. Based on slides from Celine Loscos (v1.0)

3/1/2010. Acceleration Techniques V1.2. Goals. Overview. Based on slides from Celine Loscos (v1.0) Acceleration Techniques V1.2 Anthony Steed Based on slides from Celine Loscos (v1.0) Goals Although processor can now deal with many polygons (millions), the size of the models for application keeps on

More information

LOD and Occlusion Christian Miller CS Fall 2011

LOD and Occlusion Christian Miller CS Fall 2011 LOD and Occlusion Christian Miller CS 354 - Fall 2011 Problem You want to render an enormous island covered in dense vegetation in realtime [Crysis] Scene complexity Many billions of triangles Many gigabytes

More information

Real-Time Rendering (Echtzeitgraphik) Dr. Michael Wimmer

Real-Time Rendering (Echtzeitgraphik) Dr. Michael Wimmer Real-Time Rendering (Echtzeitgraphik) Dr. Michael Wimmer wimmer@cg.tuwien.ac.at Visibility Overview Basics about visibility Basics about occlusion culling View-frustum culling / backface culling Occlusion

More information

Ray Tracing: Intersection

Ray Tracing: Intersection Computer Graphics as Virtual Photography Ray Tracing: Intersection Photography: real scene camera (captures light) photo processing Photographic print processing Computer Graphics: 3D models camera tone

More information

Processing 3D Surface Data

Processing 3D Surface Data Processing 3D Surface Data Computer Animation and Visualisation Lecture 12 Institute for Perception, Action & Behaviour School of Informatics 3D Surfaces 1 3D surface data... where from? Iso-surfacing

More information

Intersection Acceleration

Intersection Acceleration Advanced Computer Graphics Intersection Acceleration Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volume hierarchies uniform grids kd-trees octrees

More information

Speeding up your game

Speeding up your game Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers (adapted by Marc Levoy from a lecture by Tomas Möller, using material

More information

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment 3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment Özgür ULUCAY Sarp ERTÜRK University of Kocaeli Electronics & Communication Engineering Department 41040 Izmit, Kocaeli

More information

CS 465 Program 4: Modeller

CS 465 Program 4: Modeller CS 465 Program 4: Modeller out: 30 October 2004 due: 16 November 2004 1 Introduction In this assignment you will work on a simple 3D modelling system that uses simple primitives and curved surfaces organized

More information

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 CSE 167: Introduction to Computer Graphics Lecture #9: Visibility Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 Announcements Midterm Scores are on TritonEd Exams to be

More information

Realtime view-dependent isosurface visualization for regular volume data

Realtime view-dependent isosurface visualization for regular volume data Realtime view-dependent isosurface visualization for regular volume data Maxim V. Kazakov Moscow Institute of Physics and Technology Dolgoprudny, Russia Abstract The problem of the interactive visualization

More information

HLODs for Faster Display of Large Static and Dynamic Environments Carl Erikson Dinesh Manocha William V. Baxter III Department of Computer Science

HLODs for Faster Display of Large Static and Dynamic Environments Carl Erikson Dinesh Manocha William V. Baxter III Department of Computer Science HLODs for Faster Display of Large Static and Dynamic Environments Carl Erikson Dinesh Manocha William V. Baxter III Department of Computer Science ABSTRACT University of North Carolina at Chapel Hill {eriksonc,dm,baxter}@cs.unc.edu

More information

Computer Graphics. Bing-Yu Chen National Taiwan University

Computer Graphics. Bing-Yu Chen National Taiwan University Computer Graphics Bing-Yu Chen National Taiwan University Visible-Surface Determination Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm Scan-Line Algorithm

More information

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

Motivation. Culling Don t draw what you can t see! What can t we see? Low-level Culling Motivation Culling Don t draw what you can t see! Thomas Larsson Mälardalen University April 7, 2016 Image correctness Rendering speed One day we will have enough processing power!? Goals of real-time

More information

Accelerated Raytracing

Accelerated Raytracing Accelerated Raytracing Why is Acceleration Important? Vanilla ray tracing is really slow! mxm pixels, kxk supersampling, n primitives, average ray path length of d, l lights, 2 recursive ray casts per

More information

Spatial Data Structures

Spatial Data Structures Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) [Angel 9.10] Outline Ray tracing review what rays matter? Ray tracing speedup faster

More information

Lecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13

Lecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13 Lecture 17: Solid Modeling... a cubit on the one side, and a cubit on the other side Exodus 26:13 Who is on the LORD's side? Exodus 32:26 1. Solid Representations A solid is a 3-dimensional shape with

More information

COMP 175: Computer Graphics April 11, 2018

COMP 175: Computer Graphics April 11, 2018 Lecture n+1: Recursive Ray Tracer2: Advanced Techniques and Data Structures COMP 175: Computer Graphics April 11, 2018 1/49 Review } Ray Intersect (Assignment 4): questions / comments? } Review of Recursive

More information

Mesh Decimation Using VTK

Mesh Decimation Using VTK Mesh Decimation Using VTK Michael Knapp knapp@cg.tuwien.ac.at Institute of Computer Graphics and Algorithms Vienna University of Technology Abstract This paper describes general mesh decimation methods

More information

CSE 167: Introduction to Computer Graphics Lecture 11: Scene Graph 2. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

CSE 167: Introduction to Computer Graphics Lecture 11: Scene Graph 2. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 CSE 167: Introduction to Computer Graphics Lecture 11: Scene Graph 2 Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Homework project #5 due Nov. 8 th at 1:30pm

More information

Quick-VDR: Interactive View-Dependent Rendering of Massive Models

Quick-VDR: Interactive View-Dependent Rendering of Massive Models Quick-VDR: Interactive View-Dependent Rendering of Massive Models Sung-Eui Yoon Brian Salomon Russell Gayle Dinesh Manocha University of North Carolina at Chapel Hill {sungeui,salomon,rgayle,dm}@cs.unc.edu

More information

Computer Graphics. Prof. Feng Liu. Fall /21/2016

Computer Graphics. Prof. Feng Liu. Fall /21/2016 Computer Graphics Prof. Feng Liu Fall 2016 http://www.cs.pdx.edu/~fliu/courses/cs447/ 11/21/2016 Last time Polygon Mesh and Modeling 2 Today Modeling Technologies Final Exam: 12:30-2:00, December 7, 2016

More information

CPSC GLOBAL ILLUMINATION

CPSC GLOBAL ILLUMINATION CPSC 314 21 GLOBAL ILLUMINATION Textbook: 20 UGRAD.CS.UBC.CA/~CS314 Mikhail Bessmeltsev ILLUMINATION MODELS/ALGORITHMS Local illumination - Fast Ignore real physics, approximate the look Interaction of

More information

Collision Detection based on Spatial Partitioning

Collision Detection based on Spatial Partitioning Simulation in Computer Graphics Collision Detection based on Spatial Partitioning Matthias Teschner Computer Science Department University of Freiburg Outline introduction uniform grid Octree and k-d tree

More information

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public

More information

9. Visible-Surface Detection Methods

9. Visible-Surface Detection Methods 9. Visible-Surface Detection Methods More information about Modelling and Perspective Viewing: Before going to visible surface detection, we first review and discuss the followings: 1. Modelling Transformation:

More information

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T Copyright 2018 Sung-eui Yoon, KAIST freely available on the internet http://sglab.kaist.ac.kr/~sungeui/render

More information

Visibility and Occlusion Culling

Visibility and Occlusion Culling Visibility and Occlusion Culling CS535 Fall 2014 Daniel G. Aliaga Department of Computer Science Purdue University [some slides based on those of Benjamin Mora] Why? To avoid processing geometry that does

More information

Advanced Computer Graphics

Advanced Computer Graphics Advanced Computer Graphics Lecture 2: Modeling (1): Polygon Meshes Bernhard Jung TU-BAF, Summer 2007 Overview Computer Graphics Icon: Utah teapot Polygon Meshes Subdivision Polygon Mesh Optimization high-level:

More information

Overview of Quadtree-based Terrain Triangulation and Visualization

Overview of Quadtree-based Terrain Triangulation and Visualization Overview of Quadtree-based Terrain Triangulation and Visualization Renato Pajarola UCI-ICS Technical Report No. 02-01 Department of Information & Computer Science University of California, Irvine January

More information

Simulation in Computer Graphics Space Subdivision. Matthias Teschner

Simulation in Computer Graphics Space Subdivision. Matthias Teschner Simulation in Computer Graphics Space Subdivision Matthias Teschner Outline Introduction Uniform grid Octree and k-d tree BSP tree University of Freiburg Computer Science Department 2 Model Partitioning

More information

Advanced 3D-Data Structures

Advanced 3D-Data Structures Advanced 3D-Data Structures Eduard Gröller, Martin Haidacher Institute of Computer Graphics and Algorithms Vienna University of Technology Motivation For different data sources and applications different

More information

An Algorithm of 3D Mesh Reconstructing Based on the Rendering Pipeline

An Algorithm of 3D Mesh Reconstructing Based on the Rendering Pipeline 3rd International Conference on Mechatronics and Information Technology (ICMIT 2016) An Algorithm of 3D Mesh Reconstructing Based on the Rendering Pipeline Zhengjie Deng1, a, Shuqian He1,b, Chun Shi1,c,

More information

Topics. Ray Tracing II. Intersecting transformed objects. Transforming objects

Topics. Ray Tracing II. Intersecting transformed objects. Transforming objects Topics Ray Tracing II CS 4620 Lecture 16 Transformations in ray tracing Transforming objects Transformation hierarchies Ray tracing acceleration structures Bounding volumes Bounding volume hierarchies

More information

Processing 3D Surface Data

Processing 3D Surface Data Processing 3D Surface Data Computer Animation and Visualisation Lecture 17 Institute for Perception, Action & Behaviour School of Informatics 3D Surfaces 1 3D surface data... where from? Iso-surfacing

More information

A Three Dimensional Image Cache for Virtual Reality

A Three Dimensional Image Cache for Virtual Reality A Three Dimensional Image Cache for Virtual Reality Gernot Schaufler and Wolfgang Stürzlinger GUP, Johannes Kepler Universität Linz, Altenbergerstr.69, A- Linz, Austria/Europe schaufler@gup.uni-linz.ac.at

More information

Ray Tracing Acceleration. CS 4620 Lecture 20

Ray Tracing Acceleration. CS 4620 Lecture 20 Ray Tracing Acceleration CS 4620 Lecture 20 2013 Steve Marschner 1 Will this be on the exam? or, Prelim 2 syllabus You can expect emphasis on topics related to the assignment (Shaders 1&2) and homework

More information

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

Ray Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner) CS4620/5620: Lecture 37 Ray Tracing 1 Announcements Review session Tuesday 7-9, Phillips 101 Posted notes on slerp and perspective-correct texturing Prelim on Thu in B17 at 7:30pm 2 Basic ray tracing Basic

More information

Topic 10: Scene Management, Particle Systems and Normal Mapping. CITS4242: Game Design and Multimedia

Topic 10: Scene Management, Particle Systems and Normal Mapping. CITS4242: Game Design and Multimedia CITS4242: Game Design and Multimedia Topic 10: Scene Management, Particle Systems and Normal Mapping Scene Management Scene management means keeping track of all objects in a scene. - In particular, keeping

More information

Hierarchical surface fragments *

Hierarchical surface fragments * Hierarchical surface fragments * HUA Wei**, BAO Hujun, PENG Qunsheng (State Key Laboratory of CAD & CG, Zhejiang University, Hangzhou 310027, China) Abstract A new compact level-of-detail representation,

More information

Let s start with occluding contours (or interior and exterior silhouettes), and look at image-space algorithms. A very simple technique is to render

Let s start with occluding contours (or interior and exterior silhouettes), and look at image-space algorithms. A very simple technique is to render 1 There are two major classes of algorithms for extracting most kinds of lines from 3D meshes. First, there are image-space algorithms that render something (such as a depth map or cosine-shaded model),

More information

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

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms Visible Surface Determination Visibility Culling Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms Divide-and-conquer strategy:

More information

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

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday Announcements Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday 1 Spatial Data Structures Hierarchical Bounding Volumes Grids Octrees BSP Trees 11/7/02 Speeding Up Computations

More information

Clipping & Culling. Lecture 11 Spring Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling

Clipping & Culling. Lecture 11 Spring Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling Clipping & Culling Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling Lecture 11 Spring 2015 What is Clipping? Clipping is a procedure for spatially partitioning geometric primitives,

More information

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

Spatial Data Structures. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017 Spatial Data Structures Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017 Ray Intersections We can roughly estimate the time to render an image as being proportional to the number of ray-triangle

More information

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology Point Cloud Filtering using Ray Casting by Eric Jensen 01 The Basic Methodology Ray tracing in standard graphics study is a method of following the path of a photon from the light source to the camera,

More information

Spatial Data Structures and Acceleration Algorithms

Spatial Data Structures and Acceleration Algorithms Spatial Data Structures and Acceleration Algorithms Real-time Renderg Performance Goals Spatial Structures Boundg Volume Hierarchies (BVH) Bary Space Partiong(BSP) Trees, Octrees Scene Graphs Cullg Techniques

More information

Topics. Ray Tracing II. Transforming objects. Intersecting transformed objects

Topics. Ray Tracing II. Transforming objects. Intersecting transformed objects Topics Ray Tracing II CS 4620 ations in ray tracing ing objects ation hierarchies Ray tracing acceleration structures Bounding volumes Bounding volume hierarchies Uniform spatial subdivision Adaptive spatial

More information

Mesh and Mesh Simplification

Mesh and Mesh Simplification Slide Credit: Mirela Ben-Chen Mesh and Mesh Simplification Qixing Huang Mar. 21 st 2018 Mesh DataStructures Data Structures What should bestored? Geometry: 3D coordinates Attributes e.g. normal, color,

More information

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight Three-Dimensional Object Reconstruction from Layered Spatial Data Michael Dangl and Robert Sablatnig Vienna University of Technology, Institute of Computer Aided Automation, Pattern Recognition and Image

More information

View-dependent Refinement of Multiresolution Meshes Using Programmable Graphics Hardware <CGI special issue>

View-dependent Refinement of Multiresolution Meshes Using Programmable Graphics Hardware <CGI special issue> The Visual Computer manuscript No. 642 (will be inserted by the editor) JUNFENG JI 1,3,4, ENHUA WU 1,2, SHENG LI 1,5, XUEHUI LIU 1 View-dependent Refinement of Multiresolution Meshes Using Programmable

More information

CS535 Fall Department of Computer Science Purdue University

CS535 Fall Department of Computer Science Purdue University Spatial Data Structures and Hierarchies CS535 Fall 2010 Daniel G Aliaga Daniel G. Aliaga Department of Computer Science Purdue University Spatial Data Structures Store geometric information Organize geometric

More information

RECENT advances in acquisition, modeling, and simulation

RECENT advances in acquisition, modeling, and simulation IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 11, NO. 4, JULY/AUGUST 2005 369 Quick-VDR: Out-of-Core View-Dependent Rendering of Gigantic Models Sung-Eui Yoon, Brian Salomon, Russell Gayle,

More information

Spatial Data Structures for Computer Graphics

Spatial Data Structures for Computer Graphics Spatial Data Structures for Computer Graphics Page 1 of 65 http://www.cse.iitb.ac.in/ sharat November 2008 Spatial Data Structures for Computer Graphics Page 1 of 65 http://www.cse.iitb.ac.in/ sharat November

More information

Triangle meshes I. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2017

Triangle meshes I. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2017 Triangle meshes I CS 4620 Lecture 2 2017 Steve Marschner 1 spheres Andrzej Barabasz approximate sphere Rineau & Yvinec CGAL manual 2017 Steve Marschner 2 finite element analysis PATRIOT Engineering 2017

More information

All the Polygons You Can Eat. Doug Rogers Developer Relations

All the Polygons You Can Eat. Doug Rogers Developer Relations All the Polygons You Can Eat Doug Rogers Developer Relations doug@nvidia.com Future of Games Very high resolution models 20,000 triangles per model Lots of them Complex Lighting Equations Floating point

More information

Processing 3D Surface Data

Processing 3D Surface Data Processing 3D Surface Data Computer Animation and Visualisation Lecture 15 Institute for Perception, Action & Behaviour School of Informatics 3D Surfaces 1 3D surface data... where from? Iso-surfacing

More information

Polygonization of Implicit Surfaces

Polygonization of Implicit Surfaces Polygonization of Implicit Surfaces Hongxin Zhang and Jieqing Feng 2007-01-11 State Key Lab of CAD&CG Zhejiang University Contents Polygonization of Implicit Surfaces Other Methods for Displaying Implicit

More information

Triangle meshes I. CS 4620 Lecture 2

Triangle meshes I. CS 4620 Lecture 2 Triangle meshes I CS 4620 Lecture 2 2014 Steve Marschner 1 spheres Andrzej Barabasz approximate sphere Rineau & Yvinec CGAL manual 2014 Steve Marschner 2 finite element analysis PATRIOT Engineering 2014

More information

DiFi: Distance Fields - Fast Computation Using Graphics Hardware

DiFi: Distance Fields - Fast Computation Using Graphics Hardware DiFi: Distance Fields - Fast Computation Using Graphics Hardware Avneesh Sud Dinesh Manocha UNC-Chapel Hill http://gamma.cs.unc.edu/difi Distance Fields Distance Function For a site a scalar function f:r

More information

Segmentation of Images

Segmentation of Images Segmentation of Images SEGMENTATION If an image has been preprocessed appropriately to remove noise and artifacts, segmentation is often the key step in interpreting the image. Image segmentation is a

More information

Adaptive Point Cloud Rendering

Adaptive Point Cloud Rendering 1 Adaptive Point Cloud Rendering Project Plan Final Group: May13-11 Christopher Jeffers Eric Jensen Joel Rausch Client: Siemens PLM Software Client Contact: Michael Carter Adviser: Simanta Mitra 4/29/13

More information

Out of Core continuous LoD-Hierarchies for Large Triangle Meshes

Out of Core continuous LoD-Hierarchies for Large Triangle Meshes Out of Core continuous LoD-Hierarchies for Large Triangle Meshes Hermann Birkholz Research Assistant Albert-Einstein-Str. 21 Germany, 18059, Rostock hb01@informatik.uni-rostock.de ABSTRACT In this paper,

More information

Interactive View-Dependent Rendering with Conservative Occlusion Culling in Complex Environments

Interactive View-Dependent Rendering with Conservative Occlusion Culling in Complex Environments Interactive View-Dependent Rendering with Conservative Occlusion Culling in Complex Environments Sung-Eui Yoon Brian Salomon Dinesh Manocha University of North Carolina at Chapel Hill http://gamma.cs.unc.edu/vdr

More information

Mesh Representations & Geometry Processing

Mesh Representations & Geometry Processing Lecture 10/11: Mesh Representations & Geometry Processing Computer Graphics and Imaging UC Berkeley A Small Triangle Mesh 8 vertices, 12 triangles A Large Triangle Mesh David Digital Michelangelo Project

More information

Multiresolution model generation of. texture-geometry for the real-time rendering 1

Multiresolution model generation of. texture-geometry for the real-time rendering 1 Multiresolution model generation of texture-geometry for the real-time rendering 1 Contents Contents...i Figures...iv 1. Introduction...1 1.1. Real-time rendering for complex object...1 1.2. Background...3

More information

Interactive Ray Tracing: Higher Memory Coherence

Interactive Ray Tracing: Higher Memory Coherence Interactive Ray Tracing: Higher Memory Coherence http://gamma.cs.unc.edu/rt Dinesh Manocha (UNC Chapel Hill) Sung-Eui Yoon (Lawrence Livermore Labs) Interactive Ray Tracing Ray tracing is naturally sub-linear

More information

Rasterization Overview

Rasterization Overview Rendering Overview The process of generating an image given a virtual camera objects light sources Various techniques rasterization (topic of this course) raytracing (topic of the course Advanced Computer

More information

Real-Time Voxelization for Global Illumination

Real-Time Voxelization for Global Illumination Lecture 26: Real-Time Voxelization for Global Illumination Visual Computing Systems Voxelization to regular grid Input: scene triangles Output: surface information at each voxel in 3D grid - Simple case:

More information

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

Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11. Chapter 11 Global Illumination Part 1 Ray Tracing Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.3 CG(U), Chap.11 Part 1:Ray Tracing 1 Can pipeline graphics renders images

More information

Comparison of hierarchies for occlusion culling based on occlusion queries

Comparison of hierarchies for occlusion culling based on occlusion queries Comparison of hierarchies for occlusion culling based on occlusion queries V.I. Gonakhchyan pusheax@ispras.ru Ivannikov Institute for System Programming of the RAS, Moscow, Russia Efficient interactive

More information