Skip to content

Latest commit

 

History

History
48 lines (27 loc) · 1.86 KB

README.md

File metadata and controls

48 lines (27 loc) · 1.86 KB

Appearance-Mimicking Surfaces

This repo is an libigl style implementation of the Appearance-Mimicking Surfaces paper by Christian Schüller, Daniele Panozzo, and Olga Sorkine-Hornung.

Appearance-mimicking surfaces are thin surfaces whose normals approximate the normals of a 3D shape. Commonly seen examples of such surfaces are bas-reliefs. Given a viewpoint and per-vertex depth bounds, the algorithm finds a globally optimal surface that preserves the appearance of the target shape when observed from the designated viewpoint, while satisfying the depth constraints.

(Results rendered using Blender)

To get started:

 git clone --recursive http://github.com/[username]/appearance-mimicking-surfaces.git

Compilation

Starting in the root project directory, issue:

mkdir build
cd build
cmake ..
make 

Debug in debug mode with assertions enabled:

 cmake -DCMAKE_BUILD_TYPE=Debug ../

Try out your code in release mode for much better performance:

 cmake -DCMAKE_BUILD_TYPE=Release ../

For more details regarding project structure and setup, see introduction.

Execution

Once built, you can execute the demo from inside the build/ by running

./ams [path to mesh.obj] [path to matcap image]

The example uses MatCaps to style the mesh and optionally uses MATLAB to process long-running computations for large meshes. If there are matlab: Command not found errors, try running

 export PATH=/Applications/MATLAB_R2019b.app/bin/:$PATH

Implementation

Project report (in the form of a libigl tutorial entry): https://luxi-zhao.github.io/appearance-mimicking-surfaces/

Project video: https://youtu.be/Bda9wBeL0X8