Efficient Computation of Ob ject Boundary Intersection and Error Tolerance in VRCC-3D +

Size: px
Start display at page:

Download "Efficient Computation of Ob ject Boundary Intersection and Error Tolerance in VRCC-3D +"

Transcription

1 Proceedings of the 18h International Conference on Distributed Multimedia Systems (DMS 12), Miami, FL, pp , Efficient Computation of Ob ject Boundary Intersection and Error Tolerance in VRCC-3D + Nathan Eloe nwe5g8@mst.edu Jennifer Leopold leopoldj@mst.edu Zhaozheng Yin yinz@mst.edu Missouri University of Science and Technology Chaman Sabharwal chaman@mst.edu Abstract Computational geometry is a field that is relevant to computer graphics rendering, computational physical simulation, and countless other problem domains involving the use of image data. Efficiently determining the intersection of the boundaries, interiors, and exteriors of two 3D objects can mean the difference between a realistic and relevant simulation, and a slow program that produces results to that do not keep pace with user interaction with the object. However, the speed of these calculations is not the only area of concern. Taking into consideration the finite unit of resolution in a computer display (the pixel), the minimum change in distance the human eye can perceive, and error in the floating-point representation of numbers, it may be the case that the perceived correctness of these computations does not necessarily correspond to the accuracy with which the calculations are carried out. In this paper, we examine two of the most well-known methods of determining such intersections, as well as various programming language libraries available to perform these calculations. These existing approaches are considered with respect to limitations in human perception, display resolution, and floating point error. We also propose a new method which lends itself to exploiting the inherently parallel nature of these calculations. 1. Introduction VRCC-3D + [11, 12, 6, 5, 7] is a mathematical model that describes relations between three dimensional objects in space in terms of the connectivity and obscuration between each pair of objects in a scene. The system facilitates knowledge discovery by determining possible intermediate configurations of the object from one state to another. However, in implementing the VRCC-3D mathematical model, computational inefficiencies were exposed, resulting in an unacceptable delay between the initial loading of an image file and the calculation of the spatial relations between all pairs of objects in the scene. Our investigation of a more efficient method to perform these computations focused on determination of the intersections between the interiors, exteriors, and boundaries of the objects. concerned. 2. VRCC-3D + Intersections The VRCC-3D + system distinguishes eight 3D spatial relations computed using eight intersections that 1

2 2

3 compare involve the boundary, interior, and/or exterior of one object and with those of another (see Table 1). The intersection of exteriors is disregarded because we are not bounding the universe of our physical system; the intersection of the exteriors of any two bounded objects always will be non-empty. VRCC-3D + uses a hierarchical structure to determine the three dimensional intersections of the objects [11] (see Figure 1). A pair of objects, A and B, can be either disconnected (DC(A,B)) or connected (C(A,B)). If connected, they may be Externally Connected (EC(A,B)), Partially Overlapping (PO(A,B)), Equivalent (EQ(A,B)), or one of the objects may be a proper part (completely inside) of the other. We define the converse relation Proper Part Converse (PPc(A,B)) such that if B is a proper part of A (PP (B, A)), then P P c(a, B). If P P (A, B) holds, then the objects can either be tangential or non-tangential (TPP(A,B), NTPP(A,B)). If P P c(a, B) holds, then we can have the TPPc(A,B) or NTPPc(A,B) relations. Connectivity in 3D is only one part of each (composite) VRCC-3D + relation. The other part of each 3

4 Table 1. Definition of 3D Spatial Relationships Using Intersection Predicates: Φ denotes empty intersection set, Φ denotes non-empty intersection set. IntInt IntBnd IntExt BndInt BndBnd BndExt ExtInt ExtBnd DC Φ Φ Φ Φ Φ Φ Φ Φ EC Φ Φ Φ Φ Φ Φ Φ Φ EQ Φ Φ Φ Φ Φ Φ Φ Φ NTPP Φ Φ Φ Φ Φ Φ Φ Φ NTPPc Φ Φ Φ Φ Φ Φ Φ Φ PO Φ Φ Φ Φ Φ Φ Φ Φ TPP Φ Φ Φ Φ Φ Φ Φ Φ TPPc Φ Φ Φ Φ Φ Φ Φ Φ Figure 1. Hierarchy of the RCC-8 JEPD Relations [11] 4

5 VRCC-3D+ relation characterizes the obscuration between the two objects of interest, which can be none, partial, or complete (as well as converse relations for each). Obscuration in VRCC-3D+ is determined by the overlap of the projections into the image plane as well as the object depth. While beyond the scope of this paper due to space limitations, the techniques (Triangle Triangle intersection, AABB Bounding Boxes) and considerations (error tolerance and speed) discussed in this paper will also apply to the calculations of the obscuration term. Definition of the spatial relations using Table 1 results in an over-determined system. At most three intersection algorithms must be implemented to uniquely determine the 3D spatial relationship between two objects [11]. For example, the intersection of the interior of object A and the boundary of object B is the same as the intersection of the boundary of object B and the interior of object A; that is, IntBnd(A,B)=BndInt(B,A). It is not necessary to determine the interior and boundary of each of the two objects. Thus, an efficient algorithm for IntBnd will provide an efficient algorithm for BndInt, and vice versa. The same holds for the intersections of boundaries and exteriors. However, those four intersections are not sufficient to determine the VRCC-3D+ relationship between two objects. For example, DC and EC are still degenerate; the only difference between the two relations is the intersection of the boundaries. Bearing in mind that the only geometric information available (in our implementation) is the triangular faces that comprise the surface of an object, it makes sense to calculate the intersection of the boundaries rather than the enclosed volumes or the rest of the universe. Adding the computation of the boundaries allows us to uniquely determine the 3D relationships of two objects while not performing additional unnecessary computation. of the edges intersect or if one triangle is completely inside the other. More sophisticated methods such as those utilizing AABB trees take a different approach by using nested axis-aligned bounding boxes to decrease the 3. Computation of Boundary Intersection A naive method of computing the intersection of the boundaries is to use an algorithm such as that presented in [9] to determine whether every pair of faces between the two objects intersects. The algorithm determines segments of the line of intersection between a triangle and the plane supporting the other triangle. If the union intersection of the two segments is non-empty, the triangles are considered to intersect. If the triangles are coplanar, the algorithm determines whether any 5

6 according to the computational intersection of boundaries, the wings and the fuselage do not intersect, and as such they cannot be considered externally connected. While the calculations are being carried out accurately, they do not reflect the cognitive perception of the image. This could be attributed to several factors Figure 2. Two objects that are disconnected (DC). The purple sphere does not obscure the red sphere and is further away number of faces that require the intersection calculation, as well as other calculation optimizations. CGAL [2] is a computational geometry toolkit that is based on the use of AABB trees, together with intersection and distance algorithms. Table 2 shows the runtimes of the triangle intersection and the CGAL methods on two spheres (see Figure 2), each of which has approximately 2000 faces. All timing was done on an AMD Bulldozer processor running at 3.1Ghz. The triangle intersection algorithm was implemented as a C module for Python, and the Python bindings for CGAL were used to obtain the runtimes. All runtimes were averaged over 100 runs. Table 2. Intersection Test Runtimes Implementation Average Runtime (s) C Triangle Intersection CGAL AABB Human Perception and Floating Point Error In a situation such as that shown in Figure 2 there is no ambiguity in the intersection of the boundaries. However, in a more complicated case such as that shown in Figure 3, more rigorous calculations are required. insufficiencies in these calculations arise. Upon cursory examination of the rendering of the airplane, it appears that all of the wings are indeed attached to the fuselage. However, 6

7 Figure 3. Model of an airplane. Note that the wings appear to be externally connected (EC) to the fuselage. such as errors in the representation of floating point numbers in both the viewer display and model generation software, or the minimum distance that can be represented in rendering to a monitor with finite resolution. For example, CGAL follows an exact computing paradigm, a computing model in which calculations can be carried out with arbitrary precision. Even the smallest difference in parallel planes is significant and they will not be considered to be intersecting. To remedy this, we must allow some tolerance: the shortest distance between the two planes must be less than some small value, E. Implementing this in the direct triangle intersection test is trivial. However, using the CGAL AABB implementation requires a significant change in the algorithm itself. Instead of determining whether the triangles intersect, we need to find the minimum distance between the two closest faces. One way to do this is to determine all of the segments that make up the faces of the object and find the closest distance to a face in the other object. The CGAL bindings do not have the closest distance between triangles, but a shortest squared distance function is implemented for triangles and segments. Table 3 shows the timings for these modified epsilon tolerance tests. Of note is the fact that while the airplane image is a more complex model in terms of having Figure 4. Nut and Bolt model. The surfaces are smooth and sharply defined with a large number of faces. man eye to perceive changes in position, and the finite nature of the pixels that comprise the image display. Of the three of these factors, we can both calculate and control the effect of the finite nature of the pixel at the viewer level. Knowing the distance in world units from the virtual camera to the viewing plane (v in world units), the horizontal width in pixels of the scene (h in world units, w in pixel count), and the field of view angle (θ) allows the calculation of the physical size of the pixel at the image plane (see Figure 5); we can determine this value as follows: Let px be pixel uinits and units be world units h = v tan(θ/2) E v = h units / (w/2) px E v = 2h/w units/px E v = 2h/w units If px is unity, E v = 2v/w tan(θ/2) Thus, the physical size of the pixel in the scene at the image plane is The current defaults for the visualizer are as follows: θ = 40 degrees, v = 1, w = 511. This yields a value / of E more objects, it has significantly fewer faces than the v , which is a greater tolerance than the 4 that was found through manual experimentapair of spheres shown in Figure 2. Both algorithms also were used to determine the intersection of a high Once a tolerance test was developed for the resolution depiction of a nut and bolt (Figure 4). intersection, it was necessary to determine an appropriate value of epsilon. Using trial and error, the smallest value epsilon that produced a display of 5. E Determination the airplane similar to that shown in Figure 3 was

8 ( to be consistent later 1e-4). It should be noted that acceptable values of this epsilon tolerance will change based on the precision with which the values are stored in the model, the ability of the hu tion, and is a sufficient tolerance to handle the precision in the test object files (6 decimal places). This value of E also determines that the wings of the airplane are externally connected to the fuselage of the plane in Figure 3, the issue that made using epsilon testing necessary. This value will change if the viewer allows resizing of the objects; as long as the camera parameters are static, the only thing that will change will be the value of the pixel width of the scene. Objects farther away from the image plane will have a larger minimum distance than will be visible due to the pixel width. This scenario can be broken into two cases: the two objects have equal depth from the image plane, and the two objects have differing depths. The 8

9 Table 3. Intersection Runtimes using E Tolerance Airplane Spheres Nut and Bolt Obj1 Name / Face Count Obj2 Name / Face Count C Triangle Intersection Runtime(s) Wings 4 / 18 Prop 4 / A / 1984 B / Helix01 / Helix02 / CGAL AABB Runtime (s) Figure 5. Camera and Image Plane first case is trivial: given two objects of depth d from the camera, we use similar triangles to obtain: Note that E v /v is independent of v, so is E d /d E d /d = E v /v E d = d/v E v E d = 2d/w tan(θ/2) 6. Future work The inherently parallel nature of this solution clearly stands out. The intersection of any pair of faces is independent of the intersection of any other pair of faces. The fact that there is a large number of similar calculations on a large, but static, set of data should be enough E c = E w f d E c 2f θ = w tan( 2 ) f f to overcome the primary downfall of using general pur- 2 θ = tan( ) pose GPU computing technologies (e.g., OpenCL [3], w 2 NVIDIAS CUDA [4], or AMDs Stream [1]); namely, Thus the time it takes to transfer the data to the graph- E c = 2 tan( θ ) = E w ics card. Of note is the fact that CUDA actually f w 2 d can be slower than a sequential algorithm for small 2d θ enough problem sets [8]. It already has been shown E w = tan( ) w 2 that CUDA is proficient at some kinds of geometrical The case involving objects of differing depth is more between the objects as if they were of equal depth. To complex: we need to determine the effective gap do this we need to consider the lines of sight to the 9

10 boundaries of the projections of the objects, and determine the distance between the lines of sight as if they were on the same plane. The specifics and implementation of this are outside the space scope of this paper. calculations [10]. In order for the intersection of triangles method to be as fast as CGALs AABB implementation, we require a speed up of approximately 50X ( for the spheres, the example that benefitted most from AABB Trees), which is well within the plausible speedups reported in [10]. A heavily parallelized AABB algorithm may also work, but would not necessarily be as cost efficient 1 0

11 due to the recursive nature of trees. Exploration of an OpenCL implementation of these algorithms may even allow these computations to be done efficiently on mobile devices with sufficiently new integrated graphics. journal of graphics, gpu, and game tools, 2(2):25 30, Summary Being able to efficiently calculate the intersections between the boundaries, interiors, and exteriors of 3D objects introduces new ways to program simulations, collisions, and model transformations over time. Exploiting the ability of VRCC-3D+ to identify impossible states and eliminating the need to do some of the calculations would lead to more efficient collision detection in game engines, simulation engines, and modeling software. In this paper, we have explored two methods of calculating these intersections efficiently and discussed methods of dynamically determining the error tolerance. These strategies will help to make spatial reasoning applications such as VRCC-3D+ more practical for knowledge validation and discovery in real-time. References [1] Ati stream technology. [2] Cgal, Computational Geometry Algorithms Library. [3] Chronos Group: OpenCL. [4] Nvidia technologies: Cuda. one. [5] J. Albath, J. Leopold, and C. Sabharwal. Visualization of Spatio-Temporal Reasoning Over 3D Images. In The 2010 International Workshop on Visual Languages and Computing (in conjunction with the 16th International Conference on Distributed Multimedia Systems (DMS 10)), pages KSI, Oct [6] J. Albath, J. Leopold, C. Sabharwal, and A. Maglia. RCC-3D: Qualitative Spatial Reasoning in 3D. In The 23rd International Conference on Computer Applications in Industry and Engineering (CAINE 2010), pages CAINE, Nov [7] J. Albath, J. Leopold, C. Sabharwal, and K. Perry. Efficient Reasoning with RCC-3D. In The 4th International Conference on Knowledge Science, Engineering, and Management (KSEM 2010), pages KSEM, Sept [8] D. B. Kirk and W.-m. W. Hwu. Programming Massively Parallel Processors: A Hands-on Approach. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1st edition, [9] T. Möller. A Fast Triangle-Triangle Intersection Test. 1 1

12 [10] A. J. R. Ruiz and L. M. Ortega. Geometric algorithms on cuda. In GRAPP, pages , [11] C. Sabharwal and J. Leopold. Reducing 9-Intersection to 4-Intersection for Identifying Relations in Region Connection Calculus. In The 24th International Conference on Computer Applications in Industry and Engineering (CAINE 2011), pages CAINE, Nov [12] C. Sabharwal, J. Leopold, and N. Eloe. A More Expressive 3D Region Connection Calculus. In The 2011 International Workshop on Visual Languages and Computing (in conjunction with the 17th International Conference on Distributed Multimedia Systems (DMS 11)), pages KSI, Aug

Smooth Transition Neighborhood Graphs For 3D Spatial Relations

Smooth Transition Neighborhood Graphs For 3D Spatial Relations IEEE Symposium Series Workshop on Computational Intelligence for Multimedia, Signal and Vision Processing (CIMSIVP), Singapore, pp. 8-15, 2013. Smooth Transition Neighborhood Graphs For 3D Spatial Relations

More information

(Best Paper Award) Visual Spatio-Temporal Programming with a 3D Region Connection Calculus

(Best Paper Award) Visual Spatio-Temporal Programming with a 3D Region Connection Calculus Proceedings of the 2010 International Workshop on Visual Languages and Computing (in conjunction with the 16 th International Conference on Distributed Multimedia Systems (DMS 10))), Oak Brook, IL, Oct.

More information

Qualitative Spatial Reasoning in 3D: Spatial Metrics for Topological Connectivity in a Region Connection Calculus

Qualitative Spatial Reasoning in 3D: Spatial Metrics for Topological Connectivity in a Region Connection Calculus Qualitative Spatial Reasoning in 3D: Spatial Metrics for Topological Connectivity in a Region Connection Calculus Chaman L. Sabharwal and Jennifer L. Leopold Missouri University of Science and Technology

More information

Spatial Relations Between 3D Objects: The Association Between Natural Language, Topology, and Metrics

Spatial Relations Between 3D Objects: The Association Between Natural Language, Topology, and Metrics Spatial Relations Between 3D Objects: The Association Between Natural Language, Topology, and Metrics Jennifer L. Leopold Chaman L. Sabharwal Katrina J. Ward leopoldj@mst.edu chaman@mst.edu kjw26b@mst.edu

More information

Polibits ISSN: Instituto Politécnico Nacional México

Polibits ISSN: Instituto Politécnico Nacional México Polibits ISSN: 1870-9044 polibits@nlp.cic.ipn.mx Instituto Politécnico Nacional México Sabharwal, Chaman L.; Leopold, Jennifer L.; McGeehan, Douglas Triangle-Triangle Intersection Determination and Classification

More information

2 Background. 1 Introduction

2 Background. 1 Introduction Chaman L. Sabharwal and Jennifer L. Leopold, An Implementation of Triangle-Triangle Intersection for Qualitative Spatial Reasoning, Proceedings of the 29th International Conference on Computers and Their

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

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

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

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

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

Polibits ISSN: Instituto Politécnico Nacional México

Polibits ISSN: Instituto Politécnico Nacional México Polibits ISSN: 1870-9044 polibits@nlp.cic.ipn.mx Instituto Politécnico Nacional México Eloe, Nathan; Sabharwal, Chaman L.; Leopold, Jennifer L. More Efficient Representation of Obscuration for VRCC-3D+

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

Triangle-Triangle Intersection Determination and Classification to Support Qualitative Spatial Reasoning

Triangle-Triangle Intersection Determination and Classification to Support Qualitative Spatial Reasoning Triangle-Triangle Intersection Determination and Classification to Support Qualitative Spatial Reasoning Chaman L Sabharwal 1, Jennifer L Leopold, Douglas McGeehan 3 Missouri University of Science and

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

From Vertices To Fragments-1

From Vertices To Fragments-1 From Vertices To Fragments-1 1 Objectives Clipping Line-segment clipping polygon clipping 2 Overview At end of the geometric pipeline, vertices have been assembled into primitives Must clip out primitives

More information

Overview. Pipeline implementation I. Overview. Required Tasks. Preliminaries Clipping. Hidden Surface removal

Overview. Pipeline implementation I. Overview. Required Tasks. Preliminaries Clipping. Hidden Surface removal Overview Pipeline implementation I Preliminaries Clipping Line clipping Hidden Surface removal Overview At end of the geometric pipeline, vertices have been assembled into primitives Must clip out primitives

More information

Triangle-Triangle Intersection Determination and Classification to Support Qualitative Spatial Reasoning

Triangle-Triangle Intersection Determination and Classification to Support Qualitative Spatial Reasoning Polibits, Research Journal on Computer Science and Computer Engineering with Applications Issue 48 (July December 2013), pp. 13 22, 2013 Triangle-Triangle Intersection Determination and Classification

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

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

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

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University Ray Tracing III Wen-Chieh (Steve) Lin National Chiao-Tung University Shirley, Fundamentals of Computer Graphics, Chap 10 Doug James CG slides, I-Chen Lin s CG slides Ray-tracing Review For each pixel,

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

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

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

Computational Geometry

Computational Geometry Lecture 1: Introduction and convex hulls Geometry: points, lines,... Geometric objects Geometric relations Combinatorial complexity Computational geometry Plane (two-dimensional), R 2 Space (three-dimensional),

More information

Triangle-Triangle Intersection Determination and Classification to Support Qualitative Spatial Reasoning

Triangle-Triangle Intersection Determination and Classification to Support Qualitative Spatial Reasoning riangle-riangle Intersection Determination and Classification to Support Qualitative Spatial Reasoning Chaman L. Sabharwal, Jennifer L. Leopold, Douglas McGeehan Abstract In CAD/CAM modeling, objects are

More information

Chapter 5. Spatial Data Manipulation

Chapter 5. Spatial Data Manipulation Spatial Data Manipulation 95 Chapter 5. Spatial Data Manipulation Geographic databases particularly those supporting three-dimensional data provide the means to visualize and analyze the world around us

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

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

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

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Last Time? The Traditional Graphics Pipeline Participating Media Measuring BRDFs 3D Digitizing & Scattering BSSRDFs Monte Carlo Simulation Dipole Approximation Today Ray Casting / Tracing Advantages? Ray

More information

Renderer Implementation: Basics and Clipping. Overview. Preliminaries. David Carr Virtual Environments, Fundamentals Spring 2005

Renderer Implementation: Basics and Clipping. Overview. Preliminaries. David Carr Virtual Environments, Fundamentals Spring 2005 INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Renderer Implementation: Basics and Clipping David Carr Virtual Environments, Fundamentals Spring 2005 Feb-28-05 SMM009, Basics and Clipping 1

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

Hidden Surface Removal

Hidden Surface Removal Outline Introduction Hidden Surface Removal Hidden Surface Removal Simone Gasparini gasparini@elet.polimi.it Back face culling Depth sort Z-buffer Introduction Graphics pipeline Introduction Modeling Geom

More information

Working with the BCC Z Space II Filter

Working with the BCC Z Space II Filter Working with the BCC Z Space II Filter Normally, if you create an effect with multiple DVE layers, each layer is rendered separately. The layer that is topmost in the timeline overlaps all other layers,

More information

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

Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI) Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Raytracing Global illumination-based rendering method Simulates

More information

Exploiting Depth Camera for 3D Spatial Relationship Interpretation

Exploiting Depth Camera for 3D Spatial Relationship Interpretation Exploiting Depth Camera for 3D Spatial Relationship Interpretation Jun Ye Kien A. Hua Data Systems Group, University of Central Florida Mar 1, 2013 Jun Ye and Kien A. Hua (UCF) 3D directional spatial relationships

More information

4.5 VISIBLE SURFACE DETECTION METHODES

4.5 VISIBLE SURFACE DETECTION METHODES 4.5 VISIBLE SURFACE DETECTION METHODES A major consideration in the generation of realistic graphics displays is identifying those parts of a scene that are visible from a chosen viewing position. There

More information

FROM VERTICES TO FRAGMENTS. Lecture 5 Comp3080 Computer Graphics HKBU

FROM VERTICES TO FRAGMENTS. Lecture 5 Comp3080 Computer Graphics HKBU FROM VERTICES TO FRAGMENTS Lecture 5 Comp3080 Computer Graphics HKBU OBJECTIVES Introduce basic implementation strategies Clipping Scan conversion OCTOBER 9, 2011 2 OVERVIEW At end of the geometric pipeline,

More information

Computer Graphics Ray Casting. Matthias Teschner

Computer Graphics Ray Casting. Matthias Teschner Computer Graphics Ray Casting Matthias Teschner Outline Context Implicit surfaces Parametric surfaces Combined objects Triangles Axis-aligned boxes Iso-surfaces in grids Summary University of Freiburg

More information

arxiv: v1 [math.co] 7 Dec 2018

arxiv: v1 [math.co] 7 Dec 2018 SEQUENTIALLY EMBEDDABLE GRAPHS JACKSON AUTRY AND CHRISTOPHER O NEILL arxiv:1812.02904v1 [math.co] 7 Dec 2018 Abstract. We call a (not necessarily planar) embedding of a graph G in the plane sequential

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

Using Bounding Volume Hierarchies Efficient Collision Detection for Several Hundreds of Objects

Using Bounding Volume Hierarchies Efficient Collision Detection for Several Hundreds of Objects Part 7: Collision Detection Virtuelle Realität Wintersemester 2007/08 Prof. Bernhard Jung Overview Bounding Volumes Separating Axis Theorem Using Bounding Volume Hierarchies Efficient Collision Detection

More information

Lecture 17: Recursive Ray Tracing. Where is the way where light dwelleth? Job 38:19

Lecture 17: Recursive Ray Tracing. Where is the way where light dwelleth? Job 38:19 Lecture 17: Recursive Ray Tracing Where is the way where light dwelleth? Job 38:19 1. Raster Graphics Typical graphics terminals today are raster displays. A raster display renders a picture scan line

More information

Modeling Transformations

Modeling Transformations Modeling Transformations Michael Kazhdan (601.457/657) HB Ch. 5 FvDFH Ch. 5 Overview Ra-Tracing so far Modeling transformations Ra Tracing Image RaTrace(Camera camera, Scene scene, int width, int heigh,

More information

Acceleration Data Structures

Acceleration Data Structures CT4510: Computer Graphics Acceleration Data Structures BOCHANG MOON Ray Tracing Procedure for Ray Tracing: For each pixel Generate a primary ray (with depth 0) While (depth < d) { Find the closest intersection

More information

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Last Time? The Traditional Graphics Pipeline Reading for Today A Practical Model for Subsurface Light Transport, Jensen, Marschner, Levoy, & Hanrahan, SIGGRAPH 2001 Participating Media Measuring BRDFs

More information

Distance Between Point and Triangle in 3D

Distance Between Point and Triangle in 3D Distance Between Point and Triangle in 3D David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International

More information

Chapter 5. Projections and Rendering

Chapter 5. Projections and Rendering Chapter 5 Projections and Rendering Topics: Perspective Projections The rendering pipeline In order to view manipulate and view a graphics object we must find ways of storing it a computer-compatible way.

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

Simple Nested Dielectrics in Ray Traced Images

Simple Nested Dielectrics in Ray Traced Images Simple Nested Dielectrics in Ray Traced Images Charles M. Schmidt and Brian Budge University of Utah Abstract This paper presents a simple method for modeling and rendering refractive objects that are

More information

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

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming L1 - Introduction Contents Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming 1 Definitions Computer-Aided Design (CAD) The technology concerned with the

More information

Ray Tracing with Spatial Hierarchies. Jeff Mahovsky & Brian Wyvill CSC 305

Ray Tracing with Spatial Hierarchies. Jeff Mahovsky & Brian Wyvill CSC 305 Ray Tracing with Spatial Hierarchies Jeff Mahovsky & Brian Wyvill CSC 305 Ray Tracing Flexible, accurate, high-quality rendering Slow Simplest ray tracer: Test every ray against every object in the scene

More information

Reading. 18. Projections and Z-buffers. Required: Watt, Section , 6.3, 6.6 (esp. intro and subsections 1, 4, and 8 10), Further reading:

Reading. 18. Projections and Z-buffers. Required: Watt, Section , 6.3, 6.6 (esp. intro and subsections 1, 4, and 8 10), Further reading: Reading Required: Watt, Section 5.2.2 5.2.4, 6.3, 6.6 (esp. intro and subsections 1, 4, and 8 10), Further reading: 18. Projections and Z-buffers Foley, et al, Chapter 5.6 and Chapter 6 David F. Rogers

More information

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

Last Time: Acceleration Data Structures for Ray Tracing. Schedule. Today. Shadows & Light Sources. Shadows Last Time: Acceleration Data Structures for Ray Tracing Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion

More information

COMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y.

COMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y. COMP 4801 Final Year Project Ray Tracing for Computer Graphics Final Project Report FYP 15014 by Runjing Liu Advised by Dr. L.Y. Wei 1 Abstract The goal of this project was to use ray tracing in a rendering

More information

Advanced Ray Tracing

Advanced Ray Tracing Advanced Ray Tracing Thanks to Fredo Durand and Barb Cutler The Ray Tree Ni surface normal Ri reflected ray Li shadow ray Ti transmitted (refracted) ray 51 MIT EECS 6.837, Cutler and Durand 1 Ray Tree

More information

CS452/552; EE465/505. Clipping & Scan Conversion

CS452/552; EE465/505. Clipping & Scan Conversion CS452/552; EE465/505 Clipping & Scan Conversion 3-31 15 Outline! From Geometry to Pixels: Overview Clipping (continued) Scan conversion Read: Angel, Chapter 8, 8.1-8.9 Project#1 due: this week Lab4 due:

More information

Ray-tracing Acceleration. Acceleration Data Structures for Ray Tracing. Shadows. Shadows & Light Sources. Antialiasing Supersampling.

Ray-tracing Acceleration. Acceleration Data Structures for Ray Tracing. Shadows. Shadows & Light Sources. Antialiasing Supersampling. Ray-tracing Acceleration Acceleration Data Structures for Ray Tracing Thanks to Fredo Durand and Barb Cutler Soft shadows Antialiasing (getting rid of jaggies) Glossy reflection Motion blur Depth of field

More information

Lecture 2 - Acceleration Structures

Lecture 2 - Acceleration Structures INFOMAGR Advanced Graphics Jacco Bikker - November 2017 - February 2018 Lecture 2 - Acceleration Structures Welcome! I x, x = g(x, x ) ε x, x + න S ρ x, x, x I x, x dx Today s Agenda: Problem Analysis

More information

Accelerating Ray-Tracing

Accelerating Ray-Tracing Lecture 9: Accelerating Ray-Tracing Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2016 Course Roadmap Rasterization Pipeline Core Concepts Sampling Antialiasing Transforms Geometric Modeling

More information

Spatial Data Structures and Speed-Up Techniques. Ulf Assarsson Department of Computer Science and Engineering Chalmers University of Technology

Spatial Data Structures and Speed-Up Techniques. Ulf Assarsson Department of Computer Science and Engineering Chalmers University of Technology Spatial Data Structures and Speed-Up Techniques Ulf Assarsson Department of Computer Science and Engineering Chalmers University of Technology Exercises l Create a function (by writing code on paper) that

More information

Lofting 3D Shapes. Abstract

Lofting 3D Shapes. Abstract Lofting 3D Shapes Robby Prescott Department of Computer Science University of Wisconsin Eau Claire Eau Claire, Wisconsin 54701 robprescott715@gmail.com Chris Johnson Department of Computer Science University

More information

9. Three Dimensional Object Representations

9. Three Dimensional Object Representations 9. Three Dimensional Object Representations Methods: Polygon and Quadric surfaces: For simple Euclidean objects Spline surfaces and construction: For curved surfaces Procedural methods: Eg. Fractals, Particle

More information

ICS RESEARCH TECHNICAL TALK DRAKE TETREAULT, ICS H197 FALL 2013

ICS RESEARCH TECHNICAL TALK DRAKE TETREAULT, ICS H197 FALL 2013 ICS RESEARCH TECHNICAL TALK DRAKE TETREAULT, ICS H197 FALL 2013 TOPIC: RESEARCH PAPER Title: Data Management for SSDs for Large-Scale Interactive Graphics Applications Authors: M. Gopi, Behzad Sajadi,

More information

Modeling Transformations

Modeling Transformations Modeling Transformations Michael Kazhdan (601.457/657) HB Ch. 5 FvDFH Ch. 5 Announcement Assignment 2 has been posted: Due: 10/24 ASAP: Download the code and make sure it compiles» On windows: just build

More information

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students) TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students) Saturday, January 13 th, 2018, 08:30-12:30 Examiner Ulf Assarsson, tel. 031-772 1775 Permitted Technical Aids None, except

More information

Rendering: Reality. Eye acts as pinhole camera. Photons from light hit objects

Rendering: Reality. Eye acts as pinhole camera. Photons from light hit objects Basic Ray Tracing Rendering: Reality Eye acts as pinhole camera Photons from light hit objects Rendering: Reality Eye acts as pinhole camera Photons from light hit objects Rendering: Reality Eye acts as

More information

Adaptive Assignment for Real-Time Raytracing

Adaptive Assignment for Real-Time Raytracing Adaptive Assignment for Real-Time Raytracing Paul Aluri [paluri] and Jacob Slone [jslone] Carnegie Mellon University 15-418/618 Spring 2015 Summary We implemented a CUDA raytracer accelerated by a non-recursive

More information

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture Texture CS 475 / CS 675 Computer Graphics Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. Lecture 11 : Texture http://en.wikipedia.org/wiki/uv_mapping

More information

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture CS 475 / CS 675 Computer Graphics Lecture 11 : Texture Texture Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. http://en.wikipedia.org/wiki/uv_mapping

More information

Optimisation. CS7GV3 Real-time Rendering

Optimisation. CS7GV3 Real-time Rendering Optimisation CS7GV3 Real-time Rendering Introduction Talk about lower-level optimization Higher-level optimization is better algorithms Example: not using a spatial data structure vs. using one After that

More information

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

CPSC / Sonny Chan - University of Calgary. Collision Detection II CPSC 599.86 / 601.86 Sonny Chan - University of Calgary Collision Detection II Outline Broad phase collision detection: - Problem definition and motivation - Bounding volume hierarchies - Spatial partitioning

More information

Clipping. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Clipping. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015 Clipping 1 Objectives Clipping lines First of implementation algorithms Clipping polygons (next lecture) Focus on pipeline plus a few classic algorithms 2 Clipping 2D against clipping window 3D against

More information

Lecture 11: Ray tracing (cont.)

Lecture 11: Ray tracing (cont.) Interactive Computer Graphics Ray tracing - Summary Lecture 11: Ray tracing (cont.) Graphics Lecture 10: Slide 1 Some slides adopted from H. Pfister, Harvard Graphics Lecture 10: Slide 2 Ray tracing -

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

Computational Geometry: Lecture 5

Computational Geometry: Lecture 5 Computational Geometry: Lecture 5 Don Sheehy January 29, 2010 1 Degeneracy In many of the algorithms that we have discussed so far, we have run into problems when that input is somehow troublesome. For

More information

Visualization Insider A Little Background Information

Visualization Insider A Little Background Information Visualization Insider A Little Background Information Visualization Insider 2 Creating Backgrounds for 3D Scenes Backgrounds are a critical part of just about every type of 3D scene. Although they are

More information

Today. Acceleration Data Structures for Ray Tracing. Cool results from Assignment 2. Last Week: Questions? Schedule

Today. Acceleration Data Structures for Ray Tracing. Cool results from Assignment 2. Last Week: Questions? Schedule Today Acceleration Data Structures for Ray Tracing Cool results from Assignment 2 Last Week: koi seantek Ray Tracing Shadows Reflection Refraction Local Illumination Bidirectional Reflectance Distribution

More information

Massively Parallel Non- Convex Optimization on the GPU Through the Graphics Pipeline

Massively Parallel Non- Convex Optimization on the GPU Through the Graphics Pipeline Massively Parallel Non- Convex Optimization on the GPU Through the Graphics Pipeline By Peter Cottle Department of Mechanical Engineering, 6195 Etcheverry Hall, University of California, Berkeley, CA 94720-1740,

More information

View-dependent Polygonal Simplification

View-dependent Polygonal Simplification View-dependent Polygonal Simplification Pekka Kuismanen HUT pkuisman@cc.hut.fi Abstract This paper describes methods for view-dependent simplification of polygonal environments. A description of a refinement

More information

COMPUTER GRAPHICS COURSE. Rendering Pipelines

COMPUTER GRAPHICS COURSE. Rendering Pipelines COMPUTER GRAPHICS COURSE Rendering Pipelines Georgios Papaioannou - 2014 A Rendering Pipeline Rendering or Graphics Pipeline is the sequence of steps that we use to create the final image Many graphics/rendering

More information

8. Hidden Surface Elimination

8. Hidden Surface Elimination 8. Hidden Surface Elimination Identification and Removal of parts of picture that are not visible from a chosen viewing position. 1 8. Hidden Surface Elimination Basic idea: Overwriting Paint things in

More information

Solid Modelling. Graphics Systems / Computer Graphics and Interfaces COLLEGE OF ENGINEERING UNIVERSITY OF PORTO

Solid Modelling. Graphics Systems / Computer Graphics and Interfaces COLLEGE OF ENGINEERING UNIVERSITY OF PORTO Solid Modelling Graphics Systems / Computer Graphics and Interfaces 1 Solid Modelling In 2D, one set 2D line segments or curves does not necessarily form a closed area. In 3D, a collection of surfaces

More information

Working with the BCC Z Space I Filter

Working with the BCC Z Space I Filter Working with the BCC Z Space I Filter Normally, if you create an effect with multiple DVE layers, each layer is rendered separately. The layer that is topmost in the timeline overlaps all other layers,

More information

Cross-Hardware GPGPU implementation of Acceleration Structures for Ray Tracing using OpenCL

Cross-Hardware GPGPU implementation of Acceleration Structures for Ray Tracing using OpenCL The Open University of Israel Department of Mathematics and Computer Science Cross-Hardware GPGPU implementation of Acceleration Structures for Ray Tracing using OpenCL Advanced Project in Computer Science

More information

Mathematics in Orbit

Mathematics in Orbit Mathematics in Orbit Dan Kalman American University Slides and refs at www.dankalman.net Outline Basics: 3D geospacial models Keyhole Problem: Related Rates! GPS: space-time triangulation Sensor Diagnosis:

More information

Effects needed for Realism. Ray Tracing. Ray Tracing: History. Outline. Foundations of Computer Graphics (Spring 2012)

Effects needed for Realism. Ray Tracing. Ray Tracing: History. Outline. Foundations of Computer Graphics (Spring 2012) Foundations of omputer Graphics (Spring 202) S 84, Lecture 5: Ray Tracing http://inst.eecs.berkeley.edu/~cs84 Effects needed for Realism (Soft) Shadows Reflections (Mirrors and Glossy) Transparency (Water,

More information

Spring 2009 Prof. Hyesoon Kim

Spring 2009 Prof. Hyesoon Kim Spring 2009 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on

More information

Ray Tracing. Foley & Van Dam, Chapters 15 and 16

Ray Tracing. Foley & Van Dam, Chapters 15 and 16 Ray Tracing Foley & Van Dam, Chapters 15 and 16 Ray Tracing Visible Surface Ray Tracing (Ray Casting) Examples Efficiency Issues Computing Boolean Set Operations Recursive Ray Tracing Determine visibility

More information

Two Optimization Methods for Raytracing. W. Sturzlinger and R. F. Tobler

Two Optimization Methods for Raytracing. W. Sturzlinger and R. F. Tobler Two Optimization Methods for Raytracing by W. Sturzlinger and R. F. Tobler Johannes Kepler University of Linz Institute for Computer Science Department for graphical and parallel Processing Altenbergerstrae

More information

Ray Tracing Foley & Van Dam, Chapters 15 and 16

Ray Tracing Foley & Van Dam, Chapters 15 and 16 Foley & Van Dam, Chapters 15 and 16 (Ray Casting) Examples Efficiency Issues Computing Boolean Set Operations Recursive Determine visibility of a surface by tracing rays of light from the viewer s eye

More information

Physically-Based Laser Simulation

Physically-Based Laser Simulation Physically-Based Laser Simulation Greg Reshko Carnegie Mellon University reshko@cs.cmu.edu Dave Mowatt Carnegie Mellon University dmowatt@andrew.cmu.edu Abstract In this paper, we describe our work on

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

Ray tracing based fast refraction method for an object seen through a cylindrical glass

Ray tracing based fast refraction method for an object seen through a cylindrical glass 20th International Congress on Modelling and Simulation, Adelaide, Australia, 1 6 December 2013 www.mssanz.org.au/modsim2013 Ray tracing based fast refraction method for an object seen through a cylindrical

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

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

Programming projects. Assignment 1: Basic ray tracer. Assignment 1: Basic ray tracer. Assignment 1: Basic ray tracer. Assignment 1: Basic ray tracer

Programming projects. Assignment 1: Basic ray tracer. Assignment 1: Basic ray tracer. Assignment 1: Basic ray tracer. Assignment 1: Basic ray tracer Programming projects Rendering Algorithms Spring 2010 Matthias Zwicker Universität Bern Description of assignments on class webpage Use programming language and environment of your choice We recommend

More information

Geometric Computations for Simulation

Geometric Computations for Simulation 1 Geometric Computations for Simulation David E. Johnson I. INTRODUCTION A static virtual world would be boring and unlikely to draw in a user enough to create a sense of immersion. Simulation allows things

More information

A TESSELLATION FOR ALGEBRAIC SURFACES IN CP 3

A TESSELLATION FOR ALGEBRAIC SURFACES IN CP 3 A TESSELLATION FOR ALGEBRAIC SURFACES IN CP 3 ANDREW J. HANSON AND JI-PING SHA In this paper we present a systematic and explicit algorithm for tessellating the algebraic surfaces (real 4-manifolds) F

More information