Han Yang's Portfolio
Mesh Reduction
Quadratic Error Metric based mesh reduction
Reduce the complexity of a mesh is important to both real-time and offline rendering. This project implemented a texture preserving method to reduce triangles in the mesh.
I've used half edge structure to reduce the cost of finding adjacent edges and vertices. And I intend to design my half edge structure so that it will only support manifold geometry (Although half edge structure can support some non-manifold structure). And I've chose to use edge collapse instead of point pair collapse, because although it's quite useful to collapse point pair that is near in Euclidean distance, the topology for point pair collapse is difficult to tackle with in the framework of half edge structure.
Reference: Simplifying Surfaces with Color and Texture using Quadric Error Metrics

QEM: Fig courtesy of Carnegie Mellon University
(If this violates any sort of copyright, please contact me, and I will remove it)


Half Edge Structure: Fig courtesy of UC Berkerly
(If this violates any sort of copyright, please contact me, and I will remove it)
Here I've used a few models to test QEM mesh reduction which utilizes position info only, position and normal info, position normal and UV coordinate info. The reduction rate is set to 70% (30% number of the original triangles will be reduced). To preserve boundaries, I've added a virtual boundary plane to each boundary edge.

Original

Position only (Reduced to 70% of the original)

Position and normal (Reduced to 70% of the original)

Position and normal and UV (Reduced to 70% of the original)

Original

Position only (Reduced to 70% of the original)

Position and normal (Reduced to 70% of the original)

Position and normal and UV (Reduced to 70% of the original)

Original

Position only (Reduced to 70% of the original)

Position and normal (Reduced to 70% of the original)

Position and normal and UV (Reduced to 70% of the original)
Pros of QEM:
-
Can produce continuous reduction result, good for LOD system
-
Relatively easy to implement
-
Only need the original texture
Cons of QEM:
-
Limited reduction rate compared to methods that don't preserve texture