(12) United States Patent (10) Patent No.: US 8,836,700 B2 Goel (45) Date of Patent: Sep

Total Page:16

File Type:pdf, Size:1020Kb

(12) United States Patent (10) Patent No.: US 8,836,700 B2 Goel (45) Date of Patent: Sep USOO8836,700B2 (12) United States Patent (10) Patent No.: US 8,836,700 B2 Goel (45) Date of Patent: Sep. 16, 2014 (54) SYSTEM, METHOD, AND COMPUTER (56) References Cited PROGRAMI PRODUCT FORA TESSELLATION ENGINE USINGA U.S. PATENT DOCUMENTS GEOMETRY SHADER 5,261,029 A * 1 1/1993 Abi-EZZi et al. .............. 345/423 6,597,356 B1* 7/2003 Moreton et al. .............. 345/423 (75) Inventor: Vineet Goel, Winter Park, FL (US) 2003. O169269 A1 9, 2003 Sasaki et al. 2005/0243 094 A1 11/2005 Patel et al. (73) Assignee: Advanced Micro Devices, Inc., (Continued) Sunnyvale, CA (US) FOREIGN PATENT DOCUMENTS (*) Notice: Subject to any disclaimer, the term of this patent is extended or adjusted under 35 JP 2001-204957 A T 2001 U.S.C. 154(b) by 942 days. JP 2001-25O128 A 9, 2001 (Continued) (21) Appl. No.: 12/472,709 OTHER PUBLICATIONS Filed: May 27, 2009 Cook R. L., Carpenter L., Catmull E.: The Reyes Image Rendering (22) Architecture. In Computer Graphics (Proceedings of ACM SIG (65) Prior Publication Data GRAPH 87) (1987), pp. 96-102.* US 2009/O295798 A1 Dec. 3, 2009 (Continued) Primary Examiner — Kee MTung Assistant Examiner — Zhengxi Liu Related U.S. Application Data (74) Attorney, Agent, or Firm — Sterne, Kessler, Gold (60) Provisional application No. 61/056,936, filed on May Stein & Fox PL.L.C. 29, 2008. (57) ABSTRACT (51) Int. C. A method, system, and computer program product are dis G06T I5/30 (2011.01) closed for providing tessellated primitive data to a geometry G06F 15/16 (2006.01) shader. The method comprises computing a set of tessellated G06F 12/02 (2006.01) Vertices and a computed set of connectivity databased on an G06T I7/00 (2006.01) original set of vertices and an original set of connectivity data, G06T I5/00 (2011.01) generating computed vertex databased on the original set of G06T I7/20 (2006.01) Vertices and the set of tessellated vertices, receiving the com (52) U.S. C. puted set of connectivity data, requesting a Subset of the CPC ............... G06T 15/005 (2013.01); G06T 17/20 computed vertex databased on the computed set of connec (2013.01) tivity data, and processing primitives defined by the Subset of USPC ............ 345/423: 34.5/502; 34.5/543: 345/420 the computed vertex data. The system and computer program (58) Field of Classification Search product are further disclosed for accomplishing a similar CPC ......................................................... GO6T 1/2O result as the aforementioned method. See application file for complete search history. 21 Claims, 7 Drawing Sheets 400 Tessellation Engine 202 Wertex Shader 12 valuation Shader 204 Geometry Shader 104 Original & Tessellated Wertex Set 402 Computed Wertex Set 404 Computed Connectivity Data 406 Request Wertexes H 408 Return Requested --- Wertexes 410 US 8,836,700 B2 Page 2 (56) References Cited Boubekeur, T., et al., “QAS: Real-Time Quadratic Approximation of Subdivision Surfaces.” Computer Graphics and Applications, 2007. U.S. PATENT DOCUMENTS PG 07.15th Pacific Conference on, vol., No., pp. 453-456, Oct. 29, 2007-Nov. 2, 2007. 2006, OOSOOT2 A1 3, 2006 Goel Lorenz, H. and Döllner, J., “Dynamic Mesh 1-2 Refinement on GPU 2006, O164414 A1 7/2006 Farinelli Using Geometry Shaders.” Feb. 2008, pp. 1-8, XP002690083, 2008/0001952 A1 1/2008 Srinivasan et al. ............ 34.5/5O2 Retrieved from the Internet: URL:http://iason.fav.zcu.czwscg2008/ 2008/0055321 A1 3f2008 Koduri .......................... 345,505 Papers 2008/full/C97-full.pdfretrieved on Jan. 10, 2013). 2009, 0237401 A1* 9, 2009 Wei et al. ...................... 345/423 Extended European Search Report for EP Application No. EP 0975 5252, European Patent Office, Berlin, Germany, mailed on Jan. 23, FOREIGN PATENT DOCUMENTS 2013. International Search Report for PCT application No. PCT/US09/ JP 2005-322224 A 11, 2005 03215, completed Jul. 1, 2009, 11pgs. JP 2007-179563 A 7/2007 First Office Action, dated May 10, 2012, for Chinese Patent Appl. WO WO O2/43011 A1 5, 2002 2009801 19831.8, 9 pages including English translation. WO WO 2008/O53597 A1 5, 2008 Second Office Action, dated Dec. 11, 2012, for Chinese Patent Appl. 2009801 19831.8, 8 pages including English translation. OTHER PUBLICATIONS Supplementary European Search Report, dated Jan. 23, 2013, for European Patent Appl. No. 09755252.5, 7 pages. Tatarinov, A. (Feb. 2008). Instanced tessellation in DirectX10. In Yokomizo Kenji. "Chapter 1 Experience LSI Designing Using HDL GDC 08: Game Developers’ Conference 2008.* (Hardware Description Language), pp. 24 to 38, Issue 4, vol. 10, Tatarchuk, N. (2007). Real-time tessellation on GPU. In Course 28: Apr. 1, 2005, Japan, CQ Publishing Co., Ltd., Design Wave Maga Advanced Real-Time Rendering in 3D Graphics and Games. ACM Ze. SIGGRAPH 2007.* Office Action dispatched Aug. 21, 2013, in Japanese Patent Applica Maxim Kazakov. 2007. Catmull-Clark Subdivision for geometry tion No. 2011-511626, Mr. Hayakawa Yuji et al., drafted Aug. 15, shaders. In Proceedings of the 5th international conference on Com 2013 with English language translation. puter graphics, virtual reality, visualisation and interaction in Africa English language abstract of Japanese Patent No.JP 2001-204957 A (AFRIGRAPH07), Stephen N. Spencer (Ed.). ACM, New York, NY. European Patent Office, espacenet database Worldwide. USA, 77-84.* English language abstract of Japanese Patent No.JP 2001-250128 A “GLSL Geometry Shaders' http://web.engr.oregonstate.edu/~mb? European Patent Office, espacenet database Worldwide. glman/ClassNotest geometry shader.pdf Class Note created on Jan. English language abstract of International Patent Publication No. 15, 2007. Retrieved on Sep. 7, 2013.* WO 2008/053597 A1 European Patent Office, espacenet database– “GLSL Core Tutorial Vertex Shader” http://www.lighthouse3d. Worldwide. com/tutorials/glsl-core-tutorial/vertex-shader? Retrieved on Sep. 7. 2013 * * cited by examiner U.S. Patent Sep. 16, 2014 Sheet 1 of 7 US 8,836,700 B2 O O v a 90]. U.S. Patent Sep. 16, 2014 Sheet 2 of 7 US 8,836,700 B2 Z"SOIH ÅRHLE||NOES) HECTV/HS U.S. Patent Sep. 16, 2014 Sheet 3 of 7 US 8 9 836,700 B2 009 NO|_|\/TTEISSEL ENISONE ZOZ U.S. Patent Sep. 16, 2014 Sheet 4 of 7 US 8,836,700 B2 007 U.S. Patent Sep. 16, 2014 Sheet 5 of 7 US 8,836,700 B2 500 501 502 ls Tessellation Requested? 504 Compute Tessellated Vertexes And New Connectivity Data At Tessellation Engine 506 Compute Modified Vertex Data At Vertex Shader 508 Receive Connectivity Data At Geometry Shader 510 Retrieve Primitives Corresponding To Connectivity Data And Process At Geometry Shader 512 END FIG. 5 U.S. Patent Sep. 16, 2014 Sheet 6 of 7 US 8,836,700 B2 ( ) Processor 604 ( ) Main Memory 608 ( ) Display Interface 602 K- - - - - - Display 630 Secondary Memory 610 Hard Disk Drive Communication 612 Infrastructure 606 Removable Storage Removable Drive 614 Storage Unit 618 Removable Interface 620 Storage Unit 622 Interface 624 Communications Path 626 FIG. 6 U.S. Patent Sep. 16, 2014 Sheet 7 of 7 US 8,836,700 B2 00/ ?ueMpueHSO??de19 US 8,836,700 B2 1. 2 SYSTEM, METHOD, AND COMPUTER whelm the vertex and geometry shaders, and may not result in PROGRAMI PRODUCT FORA a noticeably improved rendering of the object, particularly TESSELLATION ENGINE USINGA when the object being rendered is located at a significant GEOMETRY SHADER distance from the viewing plane. Prior implementations have relied on using a tessellation CROSS-REFERENCE TO RELATED engine to increase the number of primitives immediately prior APPLICATIONS to the vertex shader stage. For example, commonly-owned U.S. Patent Application Publication No. 2004/0085312 to The present application claims the benefit of U.S. Provi Buchner et al. (application Ser. No. 10/287.143), which is sional Application No. 61/056,936, filed on May 29, 2008, 10 herein incorporated by reference in its entirety, discloses a titled “System, Method, and Computer Program Product for a method and apparatus for performing Such tessellation. How Tessellation Engine Using a Geometry Shader', which is ever, previous implementations have simply allowed for out incorporated herein by reference in its entirety. put from the tessellation engine to be processed by the vertex BACKGROUND 15 shader, then transmitted to the rasterizer for rendering to the display. If a developer using a prior implementation wanted to 1. Field of the Invention increase the primitive count by tessellating the primitives, The present invention relates generally to optimizing tes then running the tessellated primitives through the geometry sellation operations in a graphics processing unit. shader, it was necessary to store the tessellated output some 2. Background where in memory. The developer would then need to re-run A graphics processing unit (GPU) is a special-purpose the GPU pipeline on the tessellated data in order to allow the integrated circuit optimized for graphics processing opera geometry shader to perform its computations on the tessel tions. A GPU is often incorporated into computing devices lated data. (e.g., personal computers, rendering farms or servers, hand Accordingly, what are needed are improved techniques to held devices, digital televisions, etc.) used for executing 25 reduce the rendering costs attributed to tessellation when applications with demanding graphics processing needs. Such further processing tessellated data in a geometry shader. as, for example, video game applications. In most modern GPU implementations, the processing of SUMMARY graphics operations is broken into various functional units, each located within a different stage of a processing pipeline. 30 Embodiments of the invention include a method for pro Typically, input to the GPU is in the form of a set of vertices viding tessellated primitive data to a geometry shader. The as well as some connectivity information identifying how the method comprises computing a set of tessellated vertices and vertices are connected to each other.
Recommended publications
  • Analysis of Geometric Primitives in Quantitative Structure Models of Tree Stems
    Remote Sens. 2015, 7, 4581-4603; doi:10.3390/rs70404581 OPEN ACCESS remote sensing ISSN 2072-4292 www.mdpi.com/journal/remotesensing Article Analysis of Geometric Primitives in Quantitative Structure Models of Tree Stems Markku Åkerblom 1;*, Pasi Raumonen 1, Mikko Kaasalainen 1 and Eric Casella 2 1 Department of Mathematics, Tampere University of Technology, P.O. Box 553, Tampere 33101, Finland; E-Mails: Pasi.Raumonen@tut.fi (P.R.); Mikko.Kaasalainen@tut.fi (M.K.) 2 Centre for Sustainable Forestry and Climate Change, Forest Research, Farnham GU10 4LH, UK; E-Mail: [email protected] * Author to whom correspondence should be addressed; E-Mail: markku.akerblom@tut.fi Academic Editors: Nicolas Baghdadi and Prasad S. Thenkabail Received: 3 February 2015 / Accepted: 3 April 2015 / Published: 16 April 2015 Abstract: One way to model a tree is to use a collection of geometric primitives to represent the surface and topology of the stem and branches of a tree. The circular cylinder is often used as the geometric primitive, but it is not the only possible choice. We investigate various geometric primitives and modelling schemes, discuss their properties and give practical estimates for expected modelling errors associated with the primitives. We find that the circular cylinder is the most robust primitive in the sense of a well-bounded volumetric modelling error, even with noise and gaps in the data. Its use does not cause errors significantly larger than those with more complex primitives, while the latter are much more sensitive to data quality. However, in some cases, a hybrid approach with more complex primitives for the stem is useful.
    [Show full text]
  • The Geometric Primitive Matorus Francisco A
    International Journal of Innovations in Engineering and Technology (IJIET) http://dx.doi.org/10.21172/ijiet.94.04 The Geometric Primitive MatOrus Francisco A. Madera1, Jorge Madera-Valdez2 1Mathematics Faculty, Universidad Autonoma de Yucatan, Merida, Yucatan, Mexico 2School of Architecture, Universidad Marista, Merida, Yucatan, Mexico Abstract- This paper explores the potential of forming hierarchical structures using a geometric primitive, that we called MatOrus, which is a 3D closed surface formed from a Bézier circle. Several MaTorii (a set of MatOrus) can be systematically assembled into variations of interlocking structures, therefore multiple MaTorii can be used as basic elements to build larger and complex geometric structures. We investigate a method that can generate the geometry proposed using a parametric coding so that the several shapes can be created easily. We also propose several forms of integrating the basic form in order to obtain aesthetic geometry that can be used in fields such as sculpture and architectural design. Our results show that the method requires minimum of memory source, a few number of operations and it is effective in procedural parameterizing. Keywords – Computational Geometry, Bézier curves, parametric coding, tridimensional design I. INTRODUCTION One of the most significant dimensions of parametric modeling software is representing variation in design. This works best when variation is continuous and distinctly different alternatives are not part of the model. Patterns are used as constructs to collect, organize, and communicate regularities in designer use of parametric design tools. In this article a geometric primitive is introduced, MatOrus that is created from a Bézier curve handled with four edges.
    [Show full text]
  • Computational Geometry and Computer Graphics by Dobkin
    Computational Geometry and Computer Graphics David P. Dobkin+ Department of Computer Science Princeton University Princeton, NJ 08544 ABSTRACT Computer graphics is a de®ning application for computational geometry. The interaction between these ®elds is explored through two scenarios. Spatial subdivisions studied from the viewpoint of computa- tional geometry are shown to have found application in computer graph- ics. Hidden surface removal problems of computer graphics have led to sweepline and area subdivision algorithms in computational geometry. The paper ends with two promising research areas with practical applica- tions: precise computation and polyhedral decomposition. 1. Introduction Computational geometry and computer graphics both consider geometric phenomena as they relate to computing. Computational geometry provides a theoretical foundation involving the study of algorithms and data structures for doing geometric computations. Computer graphics concerns the practical development of the software, hardware and algorithms necessary to create graphics (i.e. to display geometry) on the computer screen. At the interface lie many common problems which each discipline must solve to reach its goal. The techniques of the ®eld are often similar, sometimes dif- ferent. And, each ®elds has built a set of paradigms from which to operate. Thus, it is natural to ask the question: How do computer graphics and computational geometry interact? It is this question that motivates this paper. I explore here life at the interface between computational geometry and computer graphics. Rather than striving for completeness (see e.g. Yao [Ya] for a broader survey), I consider in detail two scenarios in which the two ®elds have overlapped. The goal is to trace the development of the ideas used in the two areas and to document the movement back and forth.
    [Show full text]
  • Geometric Modeling with Primitives Baptiste Angles
    Geometric modeling with primitives Baptiste Angles To cite this version: Baptiste Angles. Geometric modeling with primitives. Networking and Internet Architecture [cs.NI]. Université Paul Sabatier - Toulouse III, 2019. English. NNT : 2019TOU30060. tel-02896431 HAL Id: tel-02896431 https://tel.archives-ouvertes.fr/tel-02896431 Submitted on 10 Jul 2020 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. THÈSE En vue de l’obtention du DOCTORAT DE L’UNIVERSITÉ DE TOULOUSE Délivré par l'Université Toulouse 3 - Paul Sabatier Cotutelle internationale : Université Victoria Présentée et soutenue par Baptiste ANGLES Le 18 avril 2019 Modélisation géométrique par primitives Ecole doctorale : EDMITT - Ecole Doctorale Mathématiques, Informatique et Télécommunications de Toulouse Spécialité : Informatique et Télécommunications Unité de recherche : IRIT : Institut de Recherche en Informatique de Toulouse Thèse dirigée par Loïc BARTHE et Brian WYVILL Jury M. Andrea TAGLIASACCHI, Examinateur M. Mathias PAULIN, Examinateur M. Alec JACOBSON, Examinateur M. Loïc BARTHE, Co-directeur de thèse M. Brian WYVILL, Co-directeur de thèse GEOMETRIC MODELING WITH PRIMITIVES by Baptiste Angles B.Sc., Universit´ede Bordeaux, France, 2013 M.Sc., Universit´ede Toulouse, France, 2015 In Partial Fulfillment of the Requirements for the Degree of DOCTOR OF PHILOSOPHY in the Department of Computer Science c Baptiste Angles, 2019 University of Victoria All rights reserved.
    [Show full text]
  • Vectorization Using Stochastic Local Search
    Vectorization Using Stochastic Local Search Byron Knoll CPSC303, University of British Columbia March 29, 2009 Abstract: Stochastic local search can be used for the process of vectorization. In this project, local search is used to optimize the parameters of a set of smooth shapes to represent an image of the Mona Lisa. The shapes are made using quadratic piecewise parametric interpolation. The shapes are partially transparent and are defined by three vertices and a color. The method is successfully applied to a different number of shapes to achieve varying levels of accuracy. More shapes resulted in a greater level of accuracy, but required more time to compute and more memory to store. One of the main advantages of performing vectorization is that it reduces the amount of information required to store an image. Introduction: Vectorization is the process of converting raster graphics into vector graphics. A raster graphics image stores a rectangular grid of pixels. Each pixel represents a point of color. A vector graphics image stores geometric primitives such as points, lines, and curves. The two formats each have their advantages and disadvantages depending on the type of image that they are representing. Vector graphics tend to work well on images which do not contain a fine level of detail. Since the image is stored in the form of geometric primitives, it can be magnified to an arbitrary level without any loss of clarity. The file size of vector images also tends to be much smaller than compressed raster images because information only needs to be stored for each geometric primitive instead of each pixel.
    [Show full text]
  • Interactive Computer Graphics: a Top-Down Approach with Shader
    This page intentionally left blank INTERACTIVE COMPUTER GRAPHICS A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL® 6th Edition This page intentionally left blank INTERACTIVE COMPUTER GRAPHICS A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL® 6th Edition EDWARD ANGEL University of New Mexico • DAVE SHREINER ARM, Inc. Editorial Director: Marcia Horton Editor-in-Chief: Michael Hirsch Acquisitions Editor: Matt Goldstein Editorial Assistant: Chelsea Bell Vice President, Marketing: Patrice Jones Marketing Manager: Yezan Alayan Marketing Coordinator: Kathryn Ferranti Vice President, Production: Vince O’Brien Managing Editor: Jeff Holcomb Senior Production Project Manager: Marilyn Lloyd Senior Operations Supervisor: Alan Fischer Operations Specialist: Lisa McDowell Text Designer: Beth Paquin Cover Designer: Central Covers Cover Art: Hue Walker, Fulldome Project, University of New Mexico Media Editor: Daniel Sandin Media Project Manager: Wanda Rockwell Full-Service Project Management: Coventry Composition Composition: Coventry Composition, using ZzTEX Printer/Binder: Edwards Brothers Cover and Insert Printer: Lehigh-Phoenix Color Text Font: Minion Credits and acknowledgments borrowed from other sources and reproduced, with permission, in this textbook appear on appropriate page within text. Copyright © 2012, 2009, 2006, 2003, 2000 Pearson Education, Inc., publishing as Addison- Wesley. All rights reserved. Manufactured in the United States of America. This publication is protected by Copyright, and permission should be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. To obtain permission(s) to use material from this work, please submit a written request to Pearson Education, Inc., Permissions Department, 501 Boylston Street, Suite 900, Boston, Massachusetts 02116.
    [Show full text]
  • What Is Ray Tracing? – Comparison with Rasterization – Why Now? / Timeline – Reasons and Examples for Using Ray Tracing – Open Issues
    Introduction to Realtime Ray Tracing Course 41 Philipp Slusallek Peter Shirley Bill Mark Gordon Stoll Ingo Wald 1 Introduction to Realtime Ray Tracing • Introduction to Ray Tracing – What is Ray Tracing? – Comparison with Rasterization – Why Now? / Timeline – Reasons and Examples for Using Ray Tracing – Open Issues 2 Introduction to Realtime Ray Tracing Rendering in Computer Graphics Rasterization: Ray Tracing: Projection geometry forward Project image samples backwards Computer graphics has only two basic algorithms for rendering 3D scenes to a 2D screen. The dominant algorithms for interactive computer graphics today is the rasterization algorithm implemented in all graphic chips. It conceptually takes a single triangle at a time, projects it to the screen and paints all covered pixels (subject to the Z-buffer and other test and more or less complex shading computations). Because the HW has no knowledge about the scene it must process every triangle leading to a linear complexity with respect to scene size: Twice the number of triangles leads to twice the rendering time. While here are options to optimize this, must be done in the application separate from the HW. The other algorithm – ray tracing – works in fundamentally different ways. It starts by shooting rays for each pixel into the scenes and uses advanced spatial indexes (aka. acceleration structures) to quickly locate the geometric primitive that is being hit. Because these indexes are hierarchical they allow for a logarithmic complexity: Above something like 1 million triangles the rendering time hardly changes any more. 3 Current Technology: Rasterization • Rasterization-Pipeline – Highly successful technology Application – From graphics supercomputers to Vertex Shader an add-on in a PC chip-set Rasterization • Advantages – Simple and proven algorithm Fragment Shader – Getting faster quickly Fragment Tests – Trend towards full programmability Framebuffer Computer graphics knows two different technologies for generating a 2D image from 3D scene description: rasterization and ray tracing.
    [Show full text]
  • Computer Graphics and Applications Lecture 5: Drawing Geometric Objects Point, Lines and Polygons Geometric Object Are Describe
    Computer Graphics and Applications Lecture 5: Drawing Geometric Objects Point, Lines and Polygons Geometric object are described by a set of vertices and the type of primitive to be drawn (e.g. line, triangle, quadrilateral). Note that a vertex is just a point defined in three dimensional space and how these vertices are connected is determined by the primitive type. Every geometric object is ultimately described as an ordered set of vertices. We use the glVertex*() command to specify a vertex. The '*' is used to indicate that there are variations to the base command glVertex(). Points: A point is represented by a single vertex. Vertices specified by the user as two-dimensional (only x- and y-coordinates) are assigned a z-coordinate equal to zero. To control the size of a rendered point, use glPointSize() and supply the desired size in pixels as the argument. The default is as 1 pixel by 1 pixel point. If the width specified is 2.0, the point will be a square of 2 by 2 pixels. glVertex*() is used to describe a point, but it is only effective between a glBegin() and a glEnd() pair. The argument passed to glBegin() determines what sort of geometric primitive is constructed from the vertices. Lines: In OpenGL, the term line refers to a line segment. The easiest way to specify a line is in terms of the vertices at the endpoints. As with the points above, the argument passed to glBegin() tells it what to do with the vertices. The options for lines include: GL_LINES: Draws a series of unconnected line segments drawn between each set of vertices.
    [Show full text]
  • Determining Geometric Primitives for a 3D GIS: Easy As 1D, 2D, 3D?
    Determining geometric primitives for a 3D GIS: easy as 1D, 2D, 3D? Britt Lonneville1, Cornelis Stal1, Berdien De Roo1, Alain De Wulf1 and Philippe De Maeyer1 1Department of Geography, Ghent University, Krijgslaan 281 (building S8), Ghent, Belgium {Britt.Lonneville, Cornelis.Stal, Berdien.DeRoo, Alain.DeWulf, Philippe.DeMaeyer}@Ugent.be Keywords: 3D GIS, Geometric Primitive, Computational Geometry, Point, Surface, Solid. Abstract: Acquisition techniques such as photo modelling, using SfM-MVS algorithms, are being applied increasingly in several fields of research and render highly realistic and accurate 3D models. Nowadays, these 3D models are mainly deployed for documentation purposes. As these data generally encompass spatial data, the development of a 3D GIS would allow researchers to use these 3D models to their full extent. Such a GIS would allow a more elaborate analysis of these 3D models and thus support the comprehension of the objects that the features in the model represent. One of the first issues that has to be tackled in order to make the resulting 3D models compatible for implementation in a 3D GIS is the choice of a certain geometric primitive to spatially represent the input data. The chosen geometric primitive will not only influence the visualisation of the data, but also the way in which the data can be stored, exchanged, manipulated, queried and understood. Geometric primitives can be one-, two- and three-dimensional. By adding an extra dimension, the complexity of the data increases, but the user is allowed to understand the original situation more intuitively. This research paper tries to give an initial analysis of 1D, 2D and 3D primitives in the framework of the integration of SfM-MVS based 3D models in a 3D GIS.
    [Show full text]
  • 52 COMPUTER GRAPHICS David Dobkin and Seth Teller
    52 COMPUTER GRAPHICS David Dobkin and Seth Teller INTRODUCTION Computer graphics has often been cited as a prime application area for the tech- niques of computational geometry. The histories of the two fields have a great deal of overlap, with similar methods (e.g., sweep-line and area subdivision algorithms) arising independently in each. Both fields have often focused on similar problems, although with different computational models. For example, hidden surface removal (visible surface identification) is a fundamental problem in both fields. At the same time, as the fields have matured, they have brought different requirements to simi- lar problems. The body of this chapter contains an updated version of our chapter in an earlier edition of this Handbook [DT04] in which we aimed to highlight both similarities and differences between the fields. Computational geometry is fundamentally concerned with the efficient quanti- tative representation and manipulation of ideal geometric entities to produce exact results. Computer graphics shares these goals, in part. However, graphics practi- tioners also model the interaction of objects with light and with each other, and the media through which these effects propagate. Moreover, graphics researchers and practitioners: (1) typically use finite precision (rather than exact) representa- tions for geometry; (2) rarely formulate closed-form solutions to problems, instead employing sampling strategies and numerical methods; (3) often design into their algorithms explicit tradeoffs between running time and solution quality; (4) often analyze algorithm performance by defining as primitive operations those that have been implemented in particular hardware architectures rather than by measuring asymptotic behavior; and (5) implement most algorithms they propose.
    [Show full text]
  • Describing 3D Geometric Primitives Using the Gaussian Sphere and the Gaussian Accumulator
    Noname manuscript No. (will be inserted by the editor) Describing 3D Geometric Primitives Using the Gaussian Sphere and the Gaussian Accumulator Zahra Toony · Denis Laurendeau · Christian Gagné Received: date / Accepted: date Abstract Most complex object models are composed 1 Introduction of basic parts or primitives. Being able to decompose a complex 3D model into such basic primitives is an The availability of fast and accurate 3D sensors has important step in reverse engineering. Even when an favored the development of different applications in algorithm can segment a complex model into its primi- assembly, inspection, Computer-Aided Design (CAD), tives, a description technique is still needed in order to reverse engineering, mechanical engineering, medicine, identify the type of each primitive. Most feature extrac- and entertainment, to list just a few. While 2D cam- tion methods fail to describe these basic primitives or eras capture 2D images of the surface of objects, either need a trained classifier on a database of prepared data black-and-white or color, 3D cameras provide informa- to perform this identification. In this paper, we pro- tion on the geometry of an object surface. Today, newly pose a method that can describe basic primitives such introduced 3D cameras can acquire the appearance and as planes, cones, cylinders, spheres, and tori as well as geometry of objects concurrently. partial models of the latter four primitives. To achieve One of the most difficult tasks in machine vision this task, we combine the concept of Gaussian sphere to consists in object recognition/description. Over the a new concept introduced in this paper: the Gaussian past four decades, object recognition has been a very accumulator.
    [Show full text]
  • Geometric Primitive Extraction for 3D Model Reconstruction
    Geometric Primitive Extraction for 3D Model Reconstruction Diego VIEJO, Miguel CAZORLA Dept. Ciencia de la Computación e Inteligencia Artificial Universidad de Alicante Apdo. 99, 03080 Alicante, España {dviejo,miguel}@dccia.ua.es Abstract. 3D map building is a complex robotics task which needs mathematical robust models. From a 3D point cloud, we can use the normal vectors to these points to do feature extraction. In this paper, we propose to extract geometric primitives (e.g. planes) from the cloud. We will present a robust method for normal estimation. Keywords. Robotics, Computer Vision, 3D Map Building, Feature Extraction. Introduction In a previous work, [9], we have developed a method for the reconstruction of a map 3D by means of a mobile robot from a sets of points. As 3D sensor we used a commercial stereo camera that yields both 3D coordinates and grey level. The use of a stereo camera for the acquisition of 3D points supposes a handicap both for the reconstruction of a 3D environment and for the extraction of 3D features due to the fact that the data obtained by means of this type of cameras present a high level of error. In addition, we must face the absence of information when the environment presents objects without texture. Related with this task is the well-known SLAM [7] problem which consists of constructing the map of the environment simultaneously while trying to locate ourselves in it. The difficulty of this problem is rooted on the odometry error. Our previous approach, proposed in [9], consists of a modification of the algorithm ICP using the EM methodology who allows us to reduce sensitively the odometry error.
    [Show full text]