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.
|