Obtaining color and depth images
In this section, we are going to first learn how to obtain and display images from Kinect on the screen. OpenGL uses textures to contain image data and maps textures onto any mesh surface so that the images can be shown as surface colors. The mapping process requires the texture coordinates of surfaces, known as UVW coordinates in most 3D modeling software, to denote the texture's x/y/z axes for correct image painting. A good tutorial about the OpenGL texture mapping can be found at http://www.glprogramming.com/red/chapter09.html.
As we are not developing very complicated 3D applications, we can just simplify the whole process into two steps:
Creating a simple quad with four vertices that is always facing the screen, and mapping a 2D texture (with only UV coordinates set) onto it for displaying 2D images
Generating and updating the texture from Kinect image data every frame
Now let's start.
Drawing color and depth as textures
We will first obtain color and depth...