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]
Outline:
[LuddePudde, Sketchfab]
Motivation:
[Model from maxpanysh, Sketchfab]
Artists creates concept-art high-poly mesh
But above rendering budget,
especially for mobile games
Motivation
[Model from maxpanysh, Sketchfab]
[Simplygon Remeshing]
Texture baking:
transfer texture from
high-poly to low-poly
?
34K Tris
8K Tris
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
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
Differentiable Rendering
[CG Channel’s on Mitsuba 3]
Recover parameters from images:
Off-the-Shelf Differentiable Rendering
Blurry, Unusable
[NVDiffmodeling, 2021]
Why doesn’t Differentiable Rendering work?
[NVDiffmodeling, 2021]
Why doesn’t Differentiable Rendering work?
Non-Bijective correspondence between high-poly texels and low-poly texels due to difference in geometry
Differentiable Parallax Mapping
Function that maps viewing direction to offset in UV space
View-Parallax Prior Work
[OpenGL tutorial & Steep Parallax Mapping (McGuire, 2005)]
Issues with Prior Work:
Prior parallax use ground-truth depth:
May be difficult to optimize depth map for distinct meshes
Spherical Harmonic View Parallax:
Original UV + Sph. Harmonics = New UV
Is this enough for practical use?
Low-Poly Texture Quality
High-Poly: 2048 x 2048
Low-Poly: 512 x 512
Texture-Aware UV Optimization
Measures reconstruction error per triangle
Joint UV Optimization Visualization
[Cleveland Museum of Art, Sketchfab]
Original
Texture Resolution
2048x2048
Low-Poly
Texture Resolution
512x512
Init. UV
& Texture
Final UV
Joint UV Optimization Visualization
[Cleveland Museum of Art, Sketchfab]
Original
Texture Resolution
2048x2048
Low-Poly
Texture Resolution
512x512
Init. UV
& Texture
Final UV
Joint UV Optimization Visualization
[Cleveland Museum of Art, Sketchfab]
Original
Texture Resolution
2048x2048
Low-Poly
Texture Resolution
512x512
Init. UV
& Texture
Final UV
Combine Image Loss & UV Optimization
Image Loss per Δ
Sym. Dirichlet Energy
Bijectivity Constraints
×
+
Low δ:
High δ:
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
Drawbacks:
Our output
[Loarziel, Sketchfab]
Summary:
[Loarziel, Sketchfab]
Our output