Kiretu – A Kinect reconstruction tutor


This documentation is about Kiretu, a Kinect reconstruction tutor. It was created in the course of a advanced software practical at the Visualization and Numerical Geometry Group of the Heidelberg University by Daniel Wunderlich.

Task of the practical was to get in contact with Microsoft’s Kinect [1] and get familiar with the possibilities of Kinect in context of scanning point clouds.

At the beginning, I underestimated the complexity of this challenge. During my work with Kinect and the topic of 3D-reconstruction, the idea of a compact “package”, which helps beginner to understand the most important aspects of reconstruction with Kinect, came up.

Supervisor and Tutor: Dr. Susanne Krömker, head of the Visualization and Numerical Geometry Group


Kiretu was developed under Linux and was tested with

It should run under the 32-bit versions as well.

I decided to work with the great libfreenect software of the OpenKinect community [2]. It is lightweight and does not include features which are useless in context of point cloud reconstruction, as the alternative OpenNI [3].

Kiretu was created as a extension of OpenKinect’s C++-OpenGL-wrapper example [4], also known as glview. According to that, it is written in C++ and its base is this example.


Kiretu contains three main parts:

Important: Kiretu is only able to create point clouds from one position! Imagine this as a 3D-picture in the form of a point cloud.

About this documentation

This documentation contains:



I know there are a lot of aspects at this project, which could be improved. E. g.:

Starting almost from the scratch took a long time for a beginner and unfortunately I had no time to deal with these aspects, but I want to improve Kiretu in the future.

Normal reconstruction

I tested how to implement the reconstruction of normals as a next reconstruction step using VCGLib, but had no time to complete this feature satisfying so far. There are some sections in the code you will find hints to this. You may just ignore these sections.


If you find mistakes (in form, content or language) at this site, please support this project and send me an e-mail.


Kiretu is licensed to you under the terms of the GNU General Public License [5], version 2.0.

If you redistribute any file in source form, modified or unmodified, you have to distribute it under the same terms.

Binary distribution must follow the binary distribution requirements of the license.


I would like to thank …

Microsoft: Kinect. Product website. [2012-01-22]
OpenKinect: Project website. [2012-01-22]
OpenNI: Project website. [2012-01-22]
OpenKinect: C++ GL Example. [2012-01-22]
Free Software Foundation: GNU General Public License 2.0. [2012-01-25]

Daniel Wunderlich (
 All Data Structures Files Functions Variables Enumerations Enumerator
[Page Up]