View-dependent Polygonal Simplification
|
|
- Diana Beasley
- 5 years ago
- Views:
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: ROBUST VIEW-DEPENDENT SIMPLIFICATION FOR VERY LARGE-SCALE CAD VISUALIZATION David P. Luebke Department of Computer Science University of Virginia, Thornton
More informationA 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 information1. 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 information1. 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 informationGeometric 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 informationSubdivision 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 informationA 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 informationScene 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 informationCGAL. 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 informationMesh 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 informationCS 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 informationCS 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 informationProject 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 informationRay 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 informationHierarchical 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 informationSpatial 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 informationCulling. 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 informationTexture 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 informationSpatial 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 informationCSE 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 informationSpatial 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 informationComputer 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 informationAccelerating 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 informationSpatial 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 informationand 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 informationSpatial 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 informationCSE 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 informationUniversiteit 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 informationSpatial 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 information3/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 informationLOD 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 informationReal-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 informationRay 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 informationProcessing 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 informationIntersection 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 informationSpeeding 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 information3-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 informationCS 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 informationCSE 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 informationRealtime 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 informationHLODs 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 informationComputer 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 informationMotivation. 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 informationAccelerated 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 informationSpatial 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 informationLecture 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 informationCOMP 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 informationMesh 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 informationCSE 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 informationQuick-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 informationComputer 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 informationCPSC 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 informationCollision 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 informationLecture 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 information9. 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 informationS 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 informationVisibility 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 informationAdvanced 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 informationOverview 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 informationSimulation 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 informationAdvanced 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 informationAn 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 informationTopics. 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 informationProcessing 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 informationA 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 informationRay 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 informationRay 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 informationTopic 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 informationHierarchical 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 informationLet 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 informationPage 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 informationAnnouncements. 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 informationClipping & 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 informationSpatial 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 informationPoint 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 informationSpatial 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 informationTopics. 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 informationMesh 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 informationcoding 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 informationView-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 informationCS535 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 informationRECENT 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 informationSpatial 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 informationTriangle 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 informationAll 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 informationProcessing 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 informationPolygonization 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 informationTriangle 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 informationDiFi: 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 informationSegmentation 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 informationAdaptive 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 informationOut 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 informationInteractive 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 informationMesh 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 informationMultiresolution 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 informationInteractive 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 informationRasterization 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 informationReal-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 informationChapter 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 informationComparison 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