1 / 20

Computer Graphics (fall 2009)

Computer Graphics (fall 2009). School of Computer Science University of Seoul. Polygonal Meshes. Mostly handles orientable 2-manifold Composed of triangles, quads, polygons, etc. Comes with Topology (connectivity) Cf ) triangular soup. [right] polygonal mesh example

baina
Télécharger la présentation

Computer Graphics (fall 2009)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Graphics(fall 2009) School of Computer Science University of Seoul

  2. Polygonal Meshes • Mostly handles orientable 2-manifold • Composed of triangles, quads, polygons, etc. • Comes with Topology (connectivity) • Cf) triangular soup [right] polygonal mesh example (image courtesy of Wikipedia) a pen and ink drawing of a wireframe chalice ("Perspective Study of a Chalice"), done by Paolo Uccelloin 1430-1440, Florence, Italy. (image courtesy of SIGGRAPH)

  3. Polygonal Meshes (cont’d) (image courtesy of Wikipedia)

  4. Data Structure for Polygonal Meshes • Corner tables • Vertex-vertex meshes • Face-vertex meshes • Winged-edge meshes • Render dynamic meshes • Quad-edge data structure • Half-edge data structure • Split-edge data structure • Corner data structure

  5. Vertex-Vertex Meshes (VV) • List of connected vertices for each vertex (image courtesy of Wikipedia)

  6. Face-Vertex Meshes (FV) • List of faces defined by vertex indices (image courtesy of Wikipedia)

  7. Winged-Edge Meshes

  8. Render Dynamic Meshes

  9. Quad-Edge Data Structure (images courtesy of VoroWiki)

  10. Half-Edge Data Structure • CGAL Half-edge data structure

  11. Half-Edge Data Structure (cont’d) (image courtesy of MIT)

  12. Split-Edge Data Structure (image courtesy of MIT)

  13. Half-Edge vs. Split-Edge • Dual structures • HalfEdgeMesh::VertexLoop() = SplitEdgeMesh::FaceLoop() • HalfEdgeMesh::FaceLoop() = SplitEdgeMesh::VertexLoop()

  14. Corner Data Structure • Self-dual (image courtesy of MIT)

  15. 3D Scene/Model File Formats • Wavefront OBJ (.obj) • 3DS Max (.3ds) • Geomview OFF (Object File Format) (.off) • PLY (.ply) for scanned data • … and more

  16. Loading 3D Files • Some (proprietary) formats are not open to public (e.g., .max) • Libraries • lib3ds (.3ds) • assimp (Open Asset Import Library) • GLM by Nate Robin (.obj) • OpenMesh (.obj, .off, .ply, etc.) • CGAL (.off for input, .off, .obj, .wrl for output)

  17. Where to Find 3D Files? • artist-3d.com • 3DModelFree.com • Archive 3D • TurboSquid • The Stanford 3D Scanning Repository • The Utah 3D Animation Repository • …and more!

  18. Converting 3D Files • 3D Object Converter (for Windows) • Blender (import/export) • …and more

  19. Rendering Polygonal Meshes • Iterating and rendering each polygon • Vertex array • glDrawArrays: triangular soup (no topology) • glDrawElements: triangular mesh (with topology) • VBO (Vertex Buffer Object) • Data kept in GPU memory  fast

  20. References • Lecture note by Lars Linsen at Jacobs University • Lecture notes by computer graphics group at MIT • Lecture note by Barb Cutler at Rensselaer Polytechnic Institute

More Related