Computer Graphics Modeling Project

Group course project for the modeling course (Computer Science 589 at the University of Calgary) I took in fall 2019 and where we (Chris, Cassandra, and myself) wrote a Blender addon that created 3D models from six orthogonal depth maps.


Project Summary

Objective

  • Create models using six orthogonal depth maps.
  • Provide some user interface for doing this from within Blender.

Features

  • Output consisted of:
    • Point cloud
    • Voxels
    • Marching cube reconstructed surface
  • Automated mesh cleanup to remove outlier data.
  • Reasonable user interface allowed for generating models from within Blender.
  • Supported generated and manually drawn depth maps.

My Focus

Geometry Reconstructions

  • Placed voxels based on data extracted from the depth maps.
  • Used marching cubes for surface reconstruction.

Depth Maps

  • Authoring good test depth maps.
  • Focus was on creating or finding models that when converted into depth maps would be good tests for edge cases.
  • Later found and converted common 3D test models into depth maps.

Credits

Final Report

Link to the final report we had to write.


Screenshots

Stanford Bunny

Left image uses marching cube surface reconstruction, right image uses voxels.

Marching cubes overlaid with point cloud.

The depth maps that were used to reconstruct the bunny model.

Stanford Dragon

Reconstruction sometimes results in noise as evident in the right images.

That noise sometimes results in non-manifold lines as evident in the left and middle images. Fortunately Chris figured out how to automatically remove these from the mesh allowing for an automated mesh cleanup.

Left image is reconstructed using marching cubes with automated cleanup while the right image uses voxels with automated cleanup.

The depth maps that were used to reconstruct the dragon model.

Extra Images