1 of 24

Joint UV Optimization & Texture Baking

​

Julian Knodt, Zherong Pan, Kui Wu, Xifeng Gao

​

​

Low-Poly

3K Tris

​

High-Poly

300K tris

​

Lightspeed Studios

[Pierre Antoine, Sketchfab]

2 of 24

Outline:

[LuddePudde, Sketchfab]

  • Motivation & Problem Outline
  • Prior Work
  • Geometric Discrepancy
    • Parallax Mapping
  • Texture Resolution Mismatch
    • Texture Baking & UV Optimization
  • Conclusion

3 of 24

Motivation:

[Model from maxpanysh, Sketchfab]

Artists creates concept-art high-poly mesh

​

But above rendering budget,

especially for mobile games

4 of 24

Motivation

[Model from maxpanysh, Sketchfab]

[Simplygon Remeshing]

Texture baking:

transfer texture from

high-poly to low-poly

?

34K Tris

8K Tris

5 of 24

Industry Texture Baking

[Virtual Museums of Małopolska, Sketchfab]

High Poly

Low Poly

❌: Requires Per-Mesh Offset Tuning to avoid artifacts

❌: Projection errors due to differences between low-poly and high-poly meshes

✅: Fast

✅: Arbitrary Textures

6 of 24

Industry Texture Baking

[Virtual Museums of Małopolska, Sketchfab]

High Poly

Low Poly

❌: Requires Per-Mesh Offset Tuning to avoid artifacts

❌: Projection errors due to differences between low-poly and high-poly meshes

✅: Fast

✅: Arbitrary Textures

7 of 24

Differentiable Rendering

[CG Channel’s on Mitsuba 3]

Recover parameters from images:

​

  • Mesh Textures/Materials
  • Vertex Coordinates
  • Lighting

8 of 24

Off-the-Shelf Differentiable Rendering

Blurry, Unusable

[NVDiffmodeling, 2021]

9 of 24

Why doesn’t Differentiable Rendering work?

[NVDiffmodeling, 2021]

10 of 24

Why doesn’t Differentiable Rendering work?

Non-Bijective correspondence between high-poly texels and low-poly texels due to difference in geometry

11 of 24

Differentiable Parallax Mapping

Function that maps viewing direction to offset in UV space

  • Bijective between high-poly and low-poly texels
  • Separate Geometry & Texel Correlation

12 of 24

View-Parallax Prior Work

  • Detailed Shape Representation with Parallax Mapping, Kaneko et al, 2001
  • Steep Parallax Mapping, McGuire & McGuire 2005

​

[OpenGL tutorial & Steep Parallax Mapping (McGuire, 2005)]

13 of 24

Issues with Prior Work:

Prior parallax use ground-truth depth:

  • Kaneko et al. assume simple geometry approximation
  • Steep Parallax Mapping is expensive, requires steps of raymarching and may have errors

May be difficult to optimize depth map for distinct meshes

​

14 of 24

Spherical Harmonic View Parallax:

Original UV + Sph. Harmonics = New UV

​

  • Shift UV coordinate based on view direction.
  • Leads to 1-2 higher PSNR, and much sharper visually.
  • Compared to optimizing other parallax, ours performs consistently better.

15 of 24

Is this enough for practical use?

  • Parallax mapping allows for capturing sharp features from original

​

  • But can output texture accurately capture high-frequency details?

16 of 24

Low-Poly Texture Quality

High-Poly: 2048 x 2048

Low-Poly: 512 x 512

17 of 24

Texture-Aware UV Optimization

  • Signal Specialized Parameterization, Sander et al. 2002

​

Measures reconstruction error per triangle

  • Assumption that each triangle is piecewise constant, requiring subdivision for high quality optimization
  • Essentially relies on texture gradient as a measure of importance

18 of 24

Joint UV Optimization Visualization

[Cleveland Museum of Art, Sketchfab]

Original

Texture Resolution

2048x2048

Low-Poly

Texture Resolution

512x512

Init. UV

& Texture

Final UV

19 of 24

Joint UV Optimization Visualization

[Cleveland Museum of Art, Sketchfab]

Original

Texture Resolution

2048x2048

Low-Poly

Texture Resolution

512x512

Init. UV

& Texture

Final UV

20 of 24

Joint UV Optimization Visualization

[Cleveland Museum of Art, Sketchfab]

Original

Texture Resolution

2048x2048

Low-Poly

Texture Resolution

512x512

Init. UV

& Texture

Final UV

21 of 24

Combine Image Loss & UV Optimization

Image Loss per Δ

Sym. Dirichlet Energy

Bijectivity Constraints

×

+

  • Perform UV optimization of Symmetric Dirichlet energy weighted by image loss per triangle
  • Perform line search to maintain global bijectivity
  • For 2D cases, on average 1-3 dB higher PSNR

Low δ:

High δ:

22 of 24

Results

Our approach consistently leads to improvements for texture baking &

Consistent improvements in 2D texture reduction

​

See paper for complete results

Optimized UV

GT

NVDiff

Ours

2D Texture Reduction

3D Texture Reduction

23 of 24

Drawbacks:

Our output

[Loarziel, Sketchfab]

  • Takes about 10 minutes with UV optimization
  • Spherical Harmonics may crack if extreme mesh differences
  • Difficult to preserve space between charts

​

24 of 24

Summary:

[Loarziel, Sketchfab]

Our output

  • Captures high-frequency details despite geometric differences
  • Texture-Aware optimized UV has much higher efficiency
  • Higher visual similarity than raycasting or standard differentiable rendering