Capturing volumetric videos with Google Tango, RealSense R200 and fast Delaunay triangulation.
O(nlogn) triangulation algorithm based on Guibas-Stolfi paper:
4D clip rendered by OpenGL viewer (clickable):
4D clip in WebGL: https://skfb.ly/6snzt
To download 3rd party submodules:
git submodule update --init --recursive
CMake command line for Visual Studio 2015:
cmake -G"Visual Studio 14 2015 Win64" -DOpenCV_DIR=C:/all/projects/libs/opencv-3.2.0/build/install -DGLFW_ROOT_DIR=C:/all/projects/libs/glfw-3.2.1.bin.WIN64 -DGLEW_LIBRARY=C:/all/projects/libs/glew-2.0.0/lib/Release/x64/glew32.lib -DGLEW_INCLUDE_DIR=C:/all/projects/libs/glew-2.0.0/include -DRSSDK_DIR="C:/Program Files (x86)/Intel/RSSDK" ../..
RSSDK_DIR part only if you need RealSense grabbing support.
Theoretically the code should also build for Linux and Mac (maybe with a couple of adjustment here and there). Just replace paths to libraries with the appropriate ones for your system.
src/libs: reusable library modules
lib4d: library module with utilities for 4d content processing, including dataset reading and writing, rendering, meshing and filtering
librealsense: Intel RealSense functionality, including the grabbing code
libtri: Delaunay triangulation implementation
libutil: various utilities, including logging, profiling, geometric primitives, .ply IO etc.
src/apps: all the apps
4d_player_app <4dv-dataset-path>Playbacks 4D "movies" in .4dv binary format
animation_writer_app <4dv-dataset-path> <timeframe-anim-directory>Converts binary .4dv movie into a series of .ply meshes for every frame. Once zipped this can be uploaded to Sketchfab (this format is called "timeframe animation"). The directory must exist beforehand.
realsense_grabber_app <output-4dv-file>Captures 4D movie from Intel RealSense in .4dv format.
triangulation_visualizer_app: the app I used to generate GIF visualizations of Delaunay triangulation algorithm. Must enable
WITH_VISpreprocessor variable for it to work.
src/test: some unit tests created with awesome GTest library.
android_src: all the Java code for Google Tango, mostly an unfinished binary grabber for Tango
If you happen to use my code in any of your projects, I would really appreciate if you write me a letter. If you have any questions or problems with the code please also feel free to reach me: email@example.com