SPONSOR


ORGANIZATION

Tutorial


Liliane dos Santos Machado
Department of Computer Sciences
Federal University of Paraíba
João Pessoa, PB, Brazil
liliane@di.ufpb.br

Ronei Marcos de Moraes
Statistics Department
Federal University of Paraíba
João Pessoa, PB, Brazil
ronei@de.ufpb.br

In recent years, interactive graphical applications have gained considerable attention with the games. In fact, games are only one kind of computer graphics application. With the technological evolution and the emergence of the virtual reality, graphics systems have becoming more realistic. In this context, there is great interest in the creation of three-dimensional scenes using free software that can be visualized in 3D.

This tutorial presents the steps for the development of interactive 3D applications with OpenGL and GLUT. OpenGL is an application-programming interface (API) composed by commands to specify objects and operations to create 2D and 3D graphical applications. Due its functionalities, OpenGL became a standard adopted by industry in the development of graphics, and it is implemented in most of video cards. GLUT (OpenGL Utility Toolkit) is a set of tools to develop programs based on OpenGL. It provides a way to write OpenGL programs, without the complexity entailed by the details of the native window system APIs. Because the GLUT library source code is freely available, it is a valuable resource for learning OpenGL.

All code and examples to be presented were developed with free sofware using the KLabteve, a Kurumin Linux remaster, developed by the Laboratory of Technologies for Virtual Learning and Statistics (LabTEVE) at the Federal University of Paraíba. This Linux remaster contains all free tools necessary to create graphical applications, including 2D and 3D modeling, image editing, programming languages and graphical libraries.

Starting from objects modeling with the Blender software will be generated three-dimensional objects. At this point it will be discussed file contents for 3D models and how these models can be integrated to a C language code to create 3D scenes. After that, methods to project the scenes in 3D and the devices necessary to the stereoscopic visualization will be presented.

Finally, will be discussed how to integrate interactivity to the applications by mouse or keyboard and how to provide some realism to the scenes using illumination models.