Skip to content
← All articles
Article

Master's thesis — contact–appearance coupling for wear in texture space

Listen to the audio story

Giving textures a memory of contact · 1:27 · AI-written script, synthetic voices

Transcript

Ava: Real surfaces remember being rubbed. A simulation usually forgets it by the end of the timestep.

Andrew: Forgets how? The physics already knows there was contact.

Ava: That's the gap in Antoine's master's thesis at ÉTS, directed by Sheldon Andrews. The contact solver computes impulses, relative velocity, traction and dissipation, updates the rigid bodies, and stops. Meanwhile the material maps, like albedo, roughness and normals, stay fixed unless an artist paints the wear by hand.

Andrew: So the thesis connects the two.

Ava: Yes. The core idea is to give material maps a persistent local memory of contact. Sparse contacts get grouped into local patches and projected into texture atlases. Then on the GPU, they become tangential velocity, traction and frictional dissipation, which drive accumulated sliding distance, direction and wear.

Andrew: And the mesh doesn't change?

Ava: Right, no global remeshing. Only the maps update, progressively, exactly where contact happened. Body travel alone can't predict where wear shows up.

Andrew: How does he know it's realistic?

Ava: Validation uses a reciprocal abrasion bench and GelSight captures of measured surface microgeometry, which became a public dataset. In the tested scenarios, the written texels track cumulative wear more closely than body travel alone.

Andrew: Does it run in real time?

Ava: A cube or a torus on a plane stays within an interactive budget. Cost rises sharply when several contact groups are processed together. And he's clear it's an appearance model, not a full tribology simulator.

Andrew: Where does the code live?

Ava: Two codebases. WearPaper holds the thesis sources and slides, and isn't public. TextureFriction is the simulator, where the loop runs at interactive rates. The full write-up has the pipeline diagram.

Wear pipeline — contact, velocity, traction, texture integration, atlas and GelSight validation
Table of contents

Couplage contact-apparence pour l’usure de surfaces microstructurées en simulation interactive — my ÉTS master’s thesis (English abstract title: Visual Appearance Evolution from Wear on Microstructured Surfaces in Texture Space). Directed by Sheldon Andrews, defended 14 August 2026. The core idea: give material maps a persistent local memory of contact. Body travel alone cannot predict where wear shows up.

1. The gap

Real surfaces keep a trace of friction and slip. Interactive simulators usually throw that away at the end of each timestep. The contact solver already computes impulses, relative velocity, tangential traction, and dissipation — then updates rigid-body motion and stops. Material maps (albedo, roughness, normals) stay fixed unless an artist paints wear by hand.

The thesis closes that loop: mechanical contact resolution feeds texture-space appearance evolution at the places contact actually happened.

2. Pipeline (one glance)

Sparse contacts are grouped into local patches, projected into material atlases, and reconstructed as tangential velocity, effective traction, and frictional dissipation on a GPU patch grid. Those fields drive accumulation of sliding distance, dominant direction, and wear — then progressive map updates without global remeshing.

Source: wear-pipeline-flow.mmd (same chain as GraphQuon 2025). The interactive implementation in TextureFriction adds a stricter runtime order: pre-solve FBO passes → PGS or AVBD solve → post-solve velocity/traction → sliding/wear/direction deposit → rendering.

Real contact mask — from simulated contact to patch grid

Traction reconstruction on the patch (WLS) — local field before texture deposit

3. Three contributions

  1. Dissipation-based local accumulation — links sliding, reconstructed traction, and visual surface evolution in texture space.
  2. Contact-to-atlas projection architecture — patch clustering, GPU buffers, persistent material memory on a fixed mesh; sliding, direction, and wear written where overlap says contact occurred.
  3. GelSight acquisition and comparison — controlled wear bench captures build the Wear Surface Texture Datasets and calibrate simulated patterns against measured microgeometry.

4. Two codebases

RepoRole
WearPaper (not public)LaTeX thesis sources, ACM article, Beamer defense slides, and canonical bibliography.
TextureFriction (local, E:\master\TextureFriction)Qt6 + OpenGL 4.3+ simulator: PGS/AVBD contact, cluster FBO passes, GPU deposition into sliding/wear/direction atlases. Build: just build, run: just run-build. See docs/architecture/14-thesis-pipeline-and-rationale.md in the repo.

WearPaper is the paper trail; TextureFriction is where the loop runs at interactive rates.

5. Validation

Acquisitions on a reciprocal abrasion bench feed measured normal maps and staged wear progression. Public dataset: ETSim/WearSurfacesDatasets[1]. Surface metrology tooling connects to my CV work on TrueMapData[2] and surfalize integration.

6. Results (snapshot)

In tested scenarios, written texels track cumulative wear more closely than body travel alone; contact topology changes the deposit pattern. A cube or torus on a plane stays within an interactive budget; cost rises sharply when several contact groups are processed together. The method is a physically motivated appearance model, not a full tribology simulator — limits remain around effective-field reconstruction, calibration, and UV parameterization.

7. Research materials

The manuscript sources, article, and defense slides live in WearPaper, which is not public.

References

  1. ETSim. (). WearSurfacesDatasets. [Software repository] github.com.
  2. ETSim. (). TrueMapData. [Software repository] github.com.

References use this article’s publication date.