# Quad reduction
# Overview
Similar to its sister feature ReductionProcessor, the QuadReductionProcessor takes an input scene and reduces the number of triangles and vertices in the scene. However, it operates on quadrilateral meshes where polygons have four corners instead of three as in traditional triangular meshes.
A quadrilateral mesh typically exhibits more structure than a triangular counterpart and the QuadReductionProcessor can retain that structure through the reduction process.
# Feature importance
When reducing a geometry, there are plenty of different data that needs to be taken into consideration. The most obvious one being purely geometrical features of the mesh, but things like UV coordinates, tangents, normals, vertex colors, and skinning are also important to preserve. The QuadReductionProcessor automatically takes into account following supported features of the mesh:
- Geometrical features
- Open edges
- UV coordinates
- Normals
# Targets and stop conditions
The reduction runs until one or multiple criteria have been met. The target can be a specific triangle count or ratio. But it can also be be set to a maximum deviation threshold or set to be optimized for a specific on screen size - meaning the remaining triangle count won't be known prior to reduction, but the quality will.
# Working with mixed assets
Quad meshes generally contain a fair amount of regular triangles. The quad reduction processor never explicitly tries to remove triangles, which causes triangle-based sections of a mesh to remain untouched - no matter how suitable that section is to reduction. In the image below, the flat left section of the mesh remains unreduced because it is composed of triangles. The right section is heavily reduced even at a 75% target ratio since the reduction is concentrated over this area.
This behavior is important to bare in mind when working with quad assets, especially if there a high amount of triangles mixed in.
To yield consistent reduction over a mixed asset, it is recommended to run the QuadReductionProcessor with an on-screen size or maximum deviation stop condition, followed by a ReductionProcessor pass with sa similar stop condition.
# Supported components
The Quad reduction processor works with
- Quad data
Format specification for quadrilateral data.