Constrained Tex

In this tutorial, you will learn how to redo our constrained texture mapping demo, presented at SIGGRAPH 2001. More than 7 years after, we got sufficient horsepower to deform the texture in real-time !

1) Load a model

For instance, this one (courtesy of Corine Schlumberger, Alias | Wavefront). We will texture-map it with this image: tiger2.xpm.gz (uncompress it before usage).

2) Initial mapping

  • Atlas->Projection->Project on XY plane
  • Atlas->UV Space->Normalize parameterization

3) Setup 3D view

  • Select textured shader
  • Select texture mode
  • Load texture
  • Show mesh

4) Setup 2D view

  • Open 2D editor: Window->Show 2D editor
  • Load texture as background image
  • Hide surface (keep only mesh and border)

5) Position surface approximately

  • Use move component tool

6) Initial mapping

  • Select pins tool
  • Setup a few pins around the model
    • To place a pin, use left button
    • To remove a pin, use right button
    • Use <ctrl>+mouse to move camera
  • Optimize the mapping: Atlas->optimizer->optimize param

7) Refine mapping

  • Setup parameterization optimizer Atlas->Optimizer->Setup param optimizer
    • set Auto optimize
    • Push OK
  • Install and edit pins
    • Left button installs a pin, or drags an existing pin
    • Right button removes a pin
    • Use <ctrl>+mouse to move camera

8) Save result

  • The result can be saved as a standard .obj file, that can be used in any other package.

Known bugs, limitations

  • The mapping is not guaranteed to be one-to-one. You need to install additional constraints if you encounter unwanted overlaps.
  • The texture may be distorted if constraints are extreme. In such a case, take a look at this SIGGRAPH Asia 2008 paper that re-synthetizes a texture.