Skip to content

Latest commit

 

History

History
50 lines (32 loc) · 1.85 KB

README.md

File metadata and controls

50 lines (32 loc) · 1.85 KB

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