Tutorial Notes – Building User Interfaces With Video and 3D Graphics For Fun and Profit! Building User Interfaces With Video and 3D Graphics For Fun and Profit! Tutorial Notes Linux Conf Au 2005 Canberra, ACT, Australia By Wayne Piekarski
[email protected] http://www.tinmith.net/wayne Wearable Computer Lab School of Computer and Information Science The University of South Australia Wayne Piekarski – Linux Conf Au – Canberra, ACT – April 2005 1 Tutorial Notes – Building User Interfaces With Video and 3D Graphics For Fun and Profit! Abstract With the availability of cheap video capture and 3D graphics hardware on most desktop computers, we now have the ability to investigate new ways of interaction that were previously beyond the reach of the average hobbyist at home. Rather than viewing everything on a 2D desktop, what possibilities exist for viewing information in 3D? Instead of using a keyboard and mouse, what other more intuitive ways are there to interact with a 3D environment? This tutorial gives an introduction to some of the less mainstream possibilities that are available on your Linux PC running at home right now. Linux is an ideal platform for performing this type of work with, since there is a wide range of existing source code which can be extended in any way that you can imagine. The purpose of this tutorial is to encourage developers to think of new possibilities for input devices and user interfaces for their computers. In order to support this, I will also cover some of the less used and understood subsystems available under Linux, including the DRI and OpenGL 3D interfaces in XFree86, accessing video cameras using Video4Linux and the 1394 Firewire drivers, using free libraries such as ARToolkit for 3D object tracking, libraries such as OpenCV for vision recognition, and scene graph libraries for rendering 3D graphics.