Mesh Science

How to Preserve Silhouettes During Mesh Decimation

Protect the outlines viewers notice most by combining camera policy, contour sampling, boundary and curvature weights, constraints, and pixel-space validation.

The silhouette is where a model ends against its background. Small changes there are often more visible than larger changes inside the surface because the error becomes a high-contrast contour shift. A normal map can repair an interior lighting cue; it cannot move an outer edge or reopen a hole whose geometry disappeared.

Silhouette preservation is not one simplifier checkbox. The visible contour changes with camera direction. Protecting every possible contour can block aggressive reduction, while protecting only one front view makes the asset fragile. Define the viewing envelope, then combine geometric safeguards with screen-space tests.

A silhouette is view dependent#

For a smooth closed surface, the apparent contour occurs where the view direction is tangent to the surface. On a triangle mesh, silhouette edges for a perspective or orthographic view commonly occur where one adjacent face is front-facing and the other is back-facing. Open boundary edges can also form contours.

Rotate the camera and a different set of edges qualifies. A product turntable allowing a full orbit needs near-global contour quality. A wall-mounted object viewed only from the front can spend less geometry on its back-facing outline. WebXR should assume broader views because the user can move around and above the object.

Write the camera policy:

  • azimuth range;
  • elevation range;
  • closest and farthest distance;
  • perspective field of view or orthographic scale;
  • viewport sizes and pixel ratios;
  • allowed model rotation;
  • whether shadows and reflections expose hidden contours;
  • whether AR placement enables unrestricted movement.

Without this policy, “preserve silhouette” can mean anything from one thumbnail to all directions.

Why object-space error can miss contour damage#

Suppose decimation moves a rim inward by 2 millimeters on a 1-meter object. Maximum geometric error is only 0.2% of object height. If the object displays 1200 pixels tall, the shift can project to roughly 2.4 pixels before perspective details. Against a bright background, that is visible.

An interior region can move the same 2 millimeters along the view direction without changing its screen position, especially under flat lighting. Equal object-space errors have unequal image impact.

Quadric error metrics penalize distance from accumulated planes. They tend to protect corners and curvature, but they do not automatically evaluate the current screen contour. A low-cost edge on a shallow curved outline can still create a visible straight segment.

Use geometric cost to generate candidates and screen-space evidence to accept them.

Preserve open geometric boundaries#

Open borders, holes, and cutouts often define strong contours. Basic simplification can shorten, smooth, or close them. Boundary quadrics or locked boundary vertices restrict movement.

Choose among:

  • lock: boundary vertices cannot move or collapse;
  • slide: vertices may move along the boundary feature;
  • weight: moving away from a boundary line receives added cost;
  • target curve: replacement stays near a fitted source curve;
  • selective policy: critical holes are locked, hidden seams are flexible.

Locking every vertex preserves shape but prevents reducing an oversampled circular opening. Sliding or curve-constrained reduction can turn a 256-segment circle into 64 segments while retaining the radius far better than free collapse.

Distinguish intended open boundaries from accidental holes. A scan tear should be repaired or classified, not carefully preserved as product design.

Protect sharp feature lines#

Hard corners and creases become silhouettes from many directions. Detect feature edges using dihedral angle, artist tags, CAD semantics, or curvature. Add cost or constraints that keep replacement points on the feature.

A 45-degree automatic threshold is only a starting point. A subtle 20-degree body crease can be a signature design line, while noisy scan facets can exceed 45 degrees everywhere. Combine automatic detection with scale-aware cleanup and manual landmark tags.

Feature junctions deserve stronger protection than ordinary points along a line. If three creases meet at a corner, moving that corner shifts several contours. Lock or heavily weight junctions; allow samples along straight segments to merge.

After reduction, measure the distance between source and candidate feature polylines, not only surface distance.

Allocate segments from projected curvature#

A circular outline makes the relationship concrete. Replacing a circle of radius r with an inscribed regular n-gon creates maximum radial sagitta:

e = r × (1 − cos(π / n))

For radius 0.5 meters:

  • 16 segments produce about 9.61 millimeters error;
  • 32 segments produce about 2.41 millimeters;
  • 64 segments produce about 0.60 millimeters;
  • 128 segments produce about 0.15 millimeters.

If the 1-meter-diameter circle appears 1000 pixels wide, these approximate to 9.61, 2.41, 0.60, and 0.15 pixels under a direct orthographic-like mapping. A 32-segment outline may visibly facet; 64 can be adequate. At 200 pixels wide, the same 32 segments create about 0.48 pixel radial error.

Real contours are not regular circles, but the principle holds: segment count should follow curvature and projected size. High curvature or close views need more samples. Long straight runs need few.

Camera sampling for a viewing envelope#

For unrestricted rotation, sample a sphere of camera directions. A latitude-longitude grid oversamples near poles; Fibonacci sphere or subdivided icosahedron directions provide more uniform coverage. Add product-critical cameras explicitly.

A practical set might include:

  • 24 evenly distributed orbit directions;
  • 8 elevated directions;
  • 4 low grazing views;
  • the initial marketing camera;
  • the maximum-zoom detail cameras;
  • AR-scale side and top views.

The numbers are a starting design, not a proof. Increase samples until the worst measured contour error stabilizes. Thin features can appear only over a narrow angular range, so risk-based cameras matter.

For a restricted turntable, sample its allowed arc densely and add a small margin. Store camera matrices and output resolution with the asset report.

Extracting and comparing contours#

Render the source and candidate as binary masks from identical cameras. Compare their boundaries in pixel space.

Useful measures include:

  • differing mask pixel count;
  • intersection over union of masks;
  • maximum boundary-to-boundary distance;
  • percentile boundary distance, such as p95;
  • signed inward versus outward contour shift;
  • connected-component and hole count;
  • temporal contour movement along a camera path.

Intersection over union can hide a localized notch on a large object because total area barely changes. Maximum distance catches the notch but is sensitive to one stray pixel. Report maximum plus percentiles and review overlays.

Render masks without antialiasing for discrete topology checks and with production antialiasing for visual review. Transparent surfaces need a declared coverage policy.

An edge map can color source-only pixels red and candidate-only pixels blue. Aligned contours disappear; doubled red-blue bands reveal shifts immediately.

Screen-space error from a 3D displacement#

For a perspective camera, projected pixel change depends on focal length and depth. A small lateral displacement Δx at camera-space depth z projects approximately:

Δpixels ≈ focalLengthPixels × Δx / z

If vertical field of view is 50 degrees and viewport height is 1080 pixels, focal length in pixels is roughly 1080 / (2 × tan 25°) ≈ 1158. At z = 2 meters, a 2-millimeter lateral change projects to about 1.16 pixels. At z = 0.5 meters, it projects to about 4.63 pixels.

This gives a conservative object-space tolerance for a defined closest depth. It also shows why distance-only simplifier error is incomplete: camera projection determines visibility.

Use actual transformed points and camera matrices for production measurement rather than relying solely on the approximation.

Silhouette-aware collapse penalties#

An offline view-aware simplifier can identify current contour edges across sampled cameras and add a collapse penalty. Possible terms include:

  • projected movement of edge endpoints;
  • change in rendered mask area;
  • disappearance of a contour component;
  • deviation from source contour polylines;
  • number and importance of views affected;
  • feature landmark displacement.

Normalize by viewport and screen coverage. A 1-pixel error at a 100-pixel thumbnail is proportionally larger than 1 pixel on a 2000-pixel close-up, though high-contrast perception and product needs can override pure ratios.

Contour status changes after every collapse, making exact dynamic evaluation expensive. Approximate systems precompute view weights, update locally, or use geometric proxies such as curvature and boundary constraints. The final render comparison remains necessary.

Preventing thin-feature disappearance#

An antenna, handle, leaf stem, cable, or blade can be thin yet semantically essential. Its surface area and triangle count are small, so area-weighted error may consider it cheap.

Identify critical thin components by:

  • semantic object or material names;
  • skeletal or attachment role;
  • local thickness below a threshold;
  • high aspect ratio of component bounds;
  • contribution to masks across cameras;
  • manual landmark tags.

Options include locking the component, applying a higher error weight, simplifying it independently, replacing it with a curve or card, or allowing removal only below a screen-size LOD.

Connected-component minimum triangle rules help. A 12-triangle component should not vanish at LOD0 merely because the rest of the mesh has 500,000 triangles.

Normal and shading changes near contours#

Even when positions remain close, recalculated normals can change the apparent outline through antialiasing and edge lighting. A curved rim with preserved vertices but flat normals looks faceted. A normal map cannot affect background coverage, but it affects the pixels immediately inside the edge.

After simplification:

  • maintain or intentionally rebuild smoothing groups;
  • transfer normals from the source where the workflow supports it;
  • regenerate tangents after final topology and UVs;
  • inspect moving highlights at grazing angles;
  • compare with and without normal mapping;
  • verify two-sided and alpha behavior.

Do not use a dark material to hide contour errors during review. Use high-contrast backgrounds and neutral materials first.

LOD transitions magnify contour changes#

A contour difference tolerated in a static comparison can pop when switching levels. Overlay LOD0 and LOD1 masks at the transition size. If the boundary shifts 2 pixels instantly, the eye notices motion.

Place the threshold where error falls below the product tolerance. Add hysteresis so camera jitter does not alternate levels. Cross-fade or dither can soften the change, but both levels render during overlap and the contour may appear doubled.

Geomorphing can move vertices gradually if levels have a mapping. It adds data and complexity. The best first solution is a candidate whose contour already agrees at the switch.

Test a continuous camera path at normal interaction speed and record transition frames.

A silhouette preservation workflow#

  1. Define viewing envelope, resolution, and closest distance.
  2. Render and store source masks from the camera set.
  3. Mark holes, boundaries, creases, and thin semantic features.
  4. Configure boundary, feature, and component constraints.
  5. Generate a wide reduction ladder.
  6. Render candidate masks from every stored camera.
  7. Calculate maximum, p95, area, and topology changes.
  8. Review red-blue contour overlays and moving paths.
  9. refine ratios or weights near the first failure.
  10. Set LOD thresholds from the largest passing projected size.

Keep source and candidate framing identical. Automatic “fit camera to each model” hides shrinkage by changing the camera.

Acceptance criteria example#

For a product viewer, a team might require:

  • no change in count of named holes through LOD1;
  • no critical thin component removed at normal interaction size;
  • maximum contour error below 1.5 pixels across approved views;
  • p95 contour error below 0.5 pixel;
  • no landmark moves more than 1 millimeter in object space;
  • no LOD transition produces a 2-pixel doubled outline;
  • total projected mask area changes less than 0.5%;
  • manual approval of the closest 12 cameras.

These are examples. The right thresholds depend on resolution, contrast, product accuracy, and whether the asset is decorative, commercial, or technical.

Common failures#

Lock every boundary. Reduction stalls on oversampled openings and scan holes.

Protect only the initial camera. Orbit, reflection, shadow, or AR reveals damage.

Use total mask area alone. Local notches disappear into a large average.

Fit each model independently. Camera changes conceal scale and contour loss.

Trust curvature alone. Thin semantic parts can have low surface area and still matter.

Review at source resolution only. The target display and transition size determine pixel visibility.

Cross-fade a bad match. Overlap creates ghosted contours instead of fixing them.

Silhouette checklist#

  • Viewing directions, zoom, projection, and resolution are documented.
  • Source masks and camera matrices are immutable test fixtures.
  • Geometric boundaries are classified as intentional or accidental.
  • Feature junctions and semantic thin parts have explicit policy.
  • Segment density follows curvature and projected size.
  • Contour error includes maximum and percentile distance.
  • Hole and connected-component changes are reported.
  • Candidate framing never auto-adjusts independently.
  • Normals and tangents are reviewed near grazing outlines.
  • LOD transitions are tested as motion.
  • Error thresholds are tied to target pixels and object scale.
  • The smallest passing candidate, not the requested ratio, ships.

Sources and further reading#

Preserving silhouette means preserving projected identity over the views the product permits. Protect critical geometric features, allocate samples by curvature and screen size, and let repeatable contour renders decide how far reduction can go.

Keep learning

Related guides

Mesh Science10 min

Mesh Simplification Algorithms Explained

Compare edge collapse, vertex clustering, decimation, remeshing, voxelization, and attribute-aware methods by error, topology, speed, and production fit.

mesh simplificationdecimationedge collapse
Mesh Science12 min

Advanced Quad Retopology: Automation, Baking, and Production Validation

Build a production quad-remeshing pipeline with field-aligned automation, density ladders, controlled baking, deterministic output, and measurable QA.

quad retopologyquadriflowremeshing
Mesh Science10 min

Why the Smallest 3D File Is Not Always the Best Asset

Balance transfer size against decode latency, memory, visual error, runtime cost, compatibility, caching, maintainability, and product value.

3d optimizationfile sizequality