CENG 789 – Digital Geometry Processing 02- Mesh Data Structures Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.

Slides:



Advertisements
Similar presentations
Programming with OpenGL - Getting started - Hanyang University Han Jae-Hyek.
Advertisements

1Computer Graphics Building Models John Shearer Culture Lab – space 2
OpenGL: Simple Use Open a window and attach OpenGL to it Set projection parameters (e.g., field of view) Setup lighting, if any Main rendering loop –Set.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Building Models modified by Ray Wisman Ed Angel Professor of Computer Science,
1 Building Models. 2 Objectives Introduce simple data structures for building polygonal models ­Vertex lists ­Edge lists OpenGL vertex arrays.
CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
Rüdiger Westermann Lehrstuhl für Computer Graphik und Visualisierung

Asst. Prof. Yusuf Sahillioğlu
CENG 789 – Digital Geometry Processing 01- Introduction Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
CENG 789 – Digital Geometry Processing 05- Smoothing and Remeshing
Asst. Prof. Yusuf Sahillioğlu
Graphical Objects and Scene Graphs CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 10: Mesh simplification Ravi Ramamoorthi Many slides courtesy.
04/09/02(c) University of Wisconsin, CS559 Last Time Texturing in OpenGL Texturing Options Project 2 is now available. Start as soon as you can. Homework.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Antigone Engine Kevin Kassing – Period
In the name of God Computer Graphics Modeling1. Today Introduction Modeling Polygon.
COS 397 Computer Graphics Assoc. Prof. Svetla Boytcheva AUBG 2013 COS 397 Computer Graphics Practical Session №1 Introduction to OpenGL, GLFW and CG.
Programmable Pipelines. Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
Graphical Objects and Scene Graphs 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009.
Linear Interpolation, Brief Introduction to OpenGL Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Monday, September.
Programmable Pipelines. 2 Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 1 Shading (Shading) & Smooth Shading Graphics.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
Mesh Data Structure. Meshes Boundary edge: adjacent to 1 face Regular edge: adjacent to 2 faces Singular edge: adjacent to >2 faces Mesh: straight-line.
1 Introduction to Computer Graphics SEN Introduction to OpenGL Graphics Applications.
Object Representation Rama C Hoetzlein, 2010 Univ. of California Santa Barbara Lecture Notes.
Image Synthesis Rabie A. Ramadan, PhD 1. 2 About my self Rabie A. Ramadan My website and publications
CS 480/680 Intro Dr. Frederick C Harris, Jr. Fall 2014.
More on Advanced Interfaces, Image Basics Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Friday, November 21, 2003.
Representation. Objectives Introduce concepts such as dimension and basis Introduce coordinate systems for representing vectors spaces and frames for.
1Computer Graphics Implementation II Lecture 16 John Shearer Culture Lab – space 2
Implementation II.
Geometric Modeling How to design a graphical model? How to create a digital description of a real-world object? Design Digitize.
Solid Modeling Ref. Mantyla. Introduction Aim of modeling: The search of a media of communication.
A Few Things about Graphics Jian Huang Computer Science University of Tennessee.
1 Building Models Ed Angel Professor Emeritus of Computer Science University of New Mexico Angel and Shreiner: Interactive Computer Graphics 7E © Addison-Wesley.
Vertices, Edges and Faces By Jordan Diamond. Vertices In geometry, a vertices is a special kind of point which describes the corners or intersections.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
3D Polyhedral Surfaces in Pierre Alliez.
11/5/2002 (c) University of Wisconsin, CS 559 Last Time Local Shading –Diffuse term –Specular term –All together –OpenGL brief overview.
Computer Graphics I, Fall 2010 Implementation II.
Graphical Objects and Scene Graphs Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Modeling So far in class: –We’ve looked at images and image manipulation –We’ve looked at rendering from polygons Next major section: –Modeling You may.
Computer Graphics I, Fall 2010 Building Models.
11/16/04© University of Wisconsin, CS559 Fall 2004 Last Time Texture Anti-Aliasing Texture boundaries Modeling introduction.
11/12/02(c) University of Wisconsin, CS559 Last Time Texturing Details Homework 5.
Solid Modeling Dr. Scott Schaefer.
CENG 789 – Digital Geometry Processing 9- Least-Squares Solutions Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey.
CENG 477 Introduction to Computer Graphics
Catalogs contain hundreds of millions of objects
Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009
CENG 789 – Digital Geometry Processing 04- Mesh Data Structures
Objects aka Polygonal Mesh (6.2)
Antigone Engine.
Lecture 33: Shape Modeling Li Zhang Spring 2008
Introduction to OpenGL
Building Models Ed Angel
Building Models Ed Angel Professor Emeritus of Computer Science
Isaac Gang University of Mary Hardin-Baylor
Meshes.
Chapter III Modeling.
Geometric and Intelligent Computing Laboratory
Angel: Interactive Computer Graphics5E © Addison-Wesley 2009
Introduction to OpenGL
OpenGL-Rendering Pipeline
Presentation transcript:

CENG 789 – Digital Geometry Processing 02- Mesh Data Structures Asst. Prof. Yusuf Sahillioğlu Computer Eng. Dept,, Turkey

Mesh Data Structures 2 / 13 Polygon mesh: set of polygons embedded in 2D or 3D. Polygon mesh: set of vertices, edges, and faces embedded in 2D or 3D. Lets handle these vertices, edges, faces in a structured way!

Mesh Data Structures 3 / 13 How to store geometry & connectivity of a mesh. 3D vertex coordinatesVertex adjacency Attributes also stored: normal, color, texture coords, labels, etc. Efficient algorithms on meshes to get: All vertices/edges of a face. All incident vertices/edges/faces of a vertex.

Mesh Data Structures 4 / 13 Classical queries: What are the vertices of face 77? Is vertex 7 adjacent to vertex 17? Which edges are incident to vertex 27? Which faces are incident to vertex 27? Classical operations: Remove/add vertex/face. Split/collapse/flip edges. Change vertex coordinates. Topological vs. geometrical.

Face-Based Data Structures 5 / 13 Face-Set data structure. //aka polygon soup ‘cos no connectivity info. //vertices and associated data are replicated. Indexed face-set data structure (obj, off, ply formats). Better!!!!

Edge-Based Data Structures 6 / 13 For explicit storage of edges. Enables efficient one-ring enumeration. Can be done with slight modifications to Indexed face-set. Define an Edge struct. In addition to coordinates, vertices have refs to Vertexes, Edges, Faces. Begin coding to demonstrate this and introduce Open Inventor. Read Open Inventor Mentor for detailed Open Inventor programming.Open Inventor Mentor Ready-to-use mesh processing libraries and software: CGAL (lib) OpenMesh (lib) MeshLab (sw)

Open Inventor vs. OpenGL 7 / 13 OpenGL is not object-oriented. It is state-based, unintuitive.

Open Inventor vs. OpenGL 8 / 13 Open Inventor is object-oriented. Everything on screen is an object (of type SoSeparator) with its own fields/attributes.

Open Inventor vs. OpenGL 9 / 13 OpenGL uses a primitive viewer, glut, where you need to implement your own trackball navigation, camera location/lookups, render modes, etc. Open Inventor uses an advanced viewer (SoWin Windows, SoXt Unix) with built-in trackball navigation, camera handling, render modes, etc.

Open Inventor Programming 10 / 13 Let’s change SoCube with a more generic shape, which is a SoSeparator.

Open Inventor Programming 11 / 13 The code is dead simple: Get this info from MyMesh.cpp for a more structured code!

Open Inventor Programming 12 / 13 The code is dead simple. You can also set myCoords and faceSet values one-by-one:

Open Inventor Programming 13 / 13 Dead simple full code to create and render a cube.