I’ve been playing around with photogrammetry. These tutorials helped quite a bit:

They’re similar, but I felt that the hackaday article provided more details.

I’ve reproduced a quick cheatsheet of the steps here:

  1. File->Open Multi Images
  2. SfM->Pairwise Matching->Compute Missing Match
  3. SfM->Reconstruct Sparse
  4. Sfm->Reconstruct Dense
    My download of VisualSFM did not include CVMS/PVMS. Download and copy the files into the same path as VisualSFM.

The result of the dense reconstruction above should have generated CMVS files, which will be used by Meshlab:

  1. Open bundle.rd.out from [...].nvm.cmvs/00
  2. Open list.txt in the second window
  3. File->Import Mesh
  4. Open ply file in the root directory (i.e. - not in .nvm.cmvs)
  5. Filters->Point Set->Compute Normals
  6. Filters->Remeshing, Simplification and Reconstruction->Surface Reconstruction: Screened Poisson (note: this is different than the linked tutorials)
  7. Filters->Selection->Select faces with edges longer than
  8. Filters->Texture->Parameterization + Texture from registered Rasters
  9. File->Export Mesh As to export as an obj file


  • Import into Blender and Unity was pretty simple
  • This model didn’t have any color to begin with, so I’m not sure if I messed up in any step of the process

I still have a lot of follow up items I want to work on from here:

  • Figure out all the options in VisualSFM and Meshlab
  • Is there a way to speed up the process?
  • Work on the final WebGL
  • Add VR