Mesh Stripification was the first assignment for the graphics module completed as part of the masters year of my degree. It consists of converting a polygonal mesh into a series of triangle strips in order to save on the number of points and indices sent to the GPU when rendering.

  • Language: C++,
  • IDE: Visual Studio 2012,
  • Graphics API: DirectX 11.

1.0 Research

The project began with research into the various stripification algorithms and how they were implemented. Once a group of stripification algorithms were discovered it was clear that a data structure was required in order to stripify the mesh correctly, the requirement that could not be satisfied with the simple set of vertices and indices was a quick way of searching for edges that were touching eachother, this is when I discovered the Doubly Connected Edge List data structure.

This data structure was used along with a custom version of the Stripstripification algorithm.

2.0 Design

There wasn't a great deal of designing to do since there was a data structure that was freely available that could be used and the Strip algorithm had already been designed, however the system was built using the DirectX 11 graphics API with a single class created for the loading, converting and rendering of the stripified mesh.

The design and general idea of the algorithm can be found here.

3.0 Screenshots

This image shows the program running, there is also a debug window used for the output of each phase of the stripification process.

4.0 Implementation

The complete code can be found on my Github account, the project write-up including, research, design and implementation in much more depth can be found here.