Vixen
dd8b0a81
csharp
public readonly record struct UvDistortion

How distorted a mapping is, measured four ways because the failures are different.

Read the guide page for this →

Remarks

⚠ Reporting one number hides the failure that matters. docs/plan/42 § D6: a conformal map can have perfect angles and a fortyfold area ratio between two ends of one chart, which shows up as a texture that is sharp on the shoulder and mush on the hand — and an angle-only metric calls that excellent.

⚠ Flipped is a correctness field wearing a metric's clothes and must be zero. A flipped triangle is a region of the atlas where the mapping is not invertible: a bake writes to the wrong texel and sampling reads from it. A chart that cannot reach zero is subdivided rather than shipped.

Fields and properties (5)

  • public float Angular

    Conformal distortion: how far angles moved.

  • public float Area

    Authalic distortion: how far the area ratio moved from uniform.

  • public float StretchL2

    Sander's L² stretch, averaged over area.

  • public float StretchLInf

    Sander's L^∞ stretch — the worst triangle, not the average.

  • public int Flipped

    Triangles whose winding reversed under the mapping.

Methods (1)

  • public UvDistortion(float Angular, float Area, float StretchL2, float StretchLInf, int Flipped)

    How distorted a mapping is, measured four ways because the failures are different.

Used by (22)

  • CharterVixen.Geometry.Uv
  • DistortionVixen.Geometry.Uv
  • FlattenOutcomeVixen.Geometry.Uv
  • FlattenerVixen.Geometry.Uv
  • MeasuredVixen.Geometry.Uv
  • UvAllTestsVixen.Geometry.Uv.Tests
  • UvChartInvarianceTestsVixen.Geometry.Uv.Tests
  • UvChartQualityTestsVixen.Geometry.Uv.Tests
  • UvChartTestsVixen.Geometry.Uv.Tests
  • UvDensityTestsVixen.Geometry.Uv.Tests
  • UvFlattenBijectivityTestsVixen.Geometry.Uv.Tests
  • UvFlattenCotangentTestsVixen.Geometry.Uv.Tests
  • UvFlattenDistortionTestsVixen.Geometry.Uv.Tests
  • UvFlattenInvarianceTestsVixen.Geometry.Uv.Tests
  • UvFlattenRepairTestsVixen.Geometry.Uv.Tests
  • UvFlattenTestsVixen.Geometry.Uv.Tests
  • UvFlattenTopologyTestsVixen.Geometry.Uv.Tests
  • UvReportVixen.Geometry.Uv
  • UvUnwrapDeterminismTestsVixen.Geometry.Uv.Tests
  • UvUnwrapPipelinePropertyTestsVixen.Geometry.Uv.Tests
  • BlockoutUvPanelVixen.Editor.Blockout
  • GeometryRunnerVixen.Cli