Skip to content

ozkanyumsak/mesh-subdivision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

mesh-subdivision

A collection of mesh subdivision algorithms.

Algorithms that are currently implemented:

  • Butterfly
  • Catmull-Clark
  • Doo–Sabin
  • Root-3 by Kobbelt
  • Peters-Reif
  • Loop

For now, only OFF mesh format is supported. Mesh examples including letters, numbers and common graphical objects (cube, torus, helix etc) can be found in Meshes folder.

Meshes are represented as a variation of Half-Edge data structure. See Mesh class for details.

Demo application is rather simple: You choose a subdivision algorithm and a mesh to apply it to from a console-based user interface. Most of it is implemented in AlgoRunner class.

Used Open Inventor for visualization of subdivision results, given a mesh object. To use another visualization framework, modify files under Inventor folder (FilledShape and WireframeShape classes), Algorunner and Main.

Example subdivision results for 1, 2 and 3 passes are given below for a closed mesh (X) and an open one (helix). Cyan wireframe is the original mesh.

Doo-Sabin

Alt text Alt text

Catmull-Clark

Alt text Alt text

Loop

Alt text Alt text

Butterfly

Alt text Alt text

Root-3

Alt text Alt text

Peters-Reif

Alt text Alt text