google.com, pub-1013500553222423, DIRECT, f08c47fec0942fa0 Ir al contenido principal

Entradas

Mostrando entradas de junio, 2010

Programación Gráfica CAPITULO 6

Aplicación SDL. Veamos otra la librería más, la librería  SDL . ¿Qué tiene de especial esta otra librería?. Pues es otra librería multiplataforma, que al igual que GLUT permite su uso combinado con OpenGL y crea ventanas y gestiona los eventos de ratón, teclado, etc; pero es más completa ya que se trata de una librería multimedia que nos permite también añadir sonido a nuestra aplicación.. En este caso el modo de funcionar de la librería es a base de eventos. En la función ProcessMessage(), según el evento ocurrido, llamaremos al método de nuestra clase GraphicApplication encargado de gestionarlo. Para poder desarrollar con dicha librería, debéis descargar la correspondiente al compilador que estéis usando: http://www.libsdl.org/download-1.2.php Y configurar el entorno: Dev-C++:  http://jnrdev.72dpiarmy.com/en/howtosdldevcpp/ o descargar el paquete en el área de descargas:  sdl-1.2.12.DevPak Visual C++:  http://www.javielinux.com/articulos/sdln1/sdl-n1/x94.html Para compilar en

Programación Gráfica CAPITULO 5

Aplicación GLUT.   En este ejemplo, vamos a hacer uso de la librería  GLUT  para la creación de la ventana y gestión de los eventos de ratón y teclado. ¿Por qué usar esta librería?, pues porque es una librería multiplataforma, que nos permite desarrollar la misma aplicación para distintos S.0. Así, podríamos recompilar el código de este ejemplo para Linux. No confundáis GLUT con OpenGL, sí es verdad que están muy relacionados, ya que la idea es poder desarrollar aplicaciones que hagan uso de OpenGL en diferentes plataformas. GLUT dispone de una serie de funciones para crear ventanas y gestionar los eventos como el teclado, ratón, etc. Para poder desarrollar con GLUT, debéis descargar la librería:  http://www.xmission.com/~nate/glut.html Y configurar el entorno: Dev-C++:  http://www.dcc.uchile.cl/~mnmonsal/cc52b/devcpp.html o descargar el paquete en el área de descargas:  glut-3.7.6.DevPak Visual C++:  http://informatica.uv.es/iiguia/AIG/docs/tutorial.htm Para compilar en Linux,

Programación Gráfica CAPITULO 4

Inicialización del Driver de Vídeo.   Vamos a empezar con la base de lo que será nuestro motor 3D. Para ello, vamos a independizar la aplicación del uso de una librería gráfica, ya sea OpenGL o DirectX. Para ello nos aprovecharemos del C++ para definir una clase Interfaz con métodos gráficos cuya implementeación, dependerá de qué librería gráfica queramos utilizar. Para llevar a cabo esta idea, usaremos lo que se denomina Polimorfismo Dinámico, que consiste en definir un puntero a una clase padre, e instanciar un objeto de una clase hija. De esta forma, definiremos un puntero a la clase IVideoDriver e instanciaremos un objeto de la clase OpenGLVideoDriver o DirectX9VideoDriver. La aplicación trabajará llamando a los métodos declarados en la clase padre, pero implementados en las clases hijas con lo que de esta forma se puede usar una librería gráfica u otra sin que tengamos que modificar el código de la aplicación. Tal como he diseñado la clase de interfaz, sólo se permite crear un

Programación Gráfica CAPITULO 3

Esqueleto aplicación.   Segundo tutorial en el que crearemos la estructura básica de nuestra aplicación que nos servirá para los siguientes tutoriales. Como podemos ver en la imagen superior, hemos organizado los directorios separando el código fuente (src) de los proyectos en los diferentes entornos (prj). Aunque en este tutorial, todavía no hemos llegado a desarrollar para Linux, os muestro la jerarquía completa de cómo serán el resto de tutoriales. graphicapplication.h: Nuestra aplicación. graphicapplication.cpp: Implementación de la aplicación. common.h: Definiciones de uso común. system.h: Funciones específicas del sistema. winsystem.cpp: Implementación de las funciones específicas del sistema. win-main.cpp: Programa principal. rc/appicon.ico: Icono de la aplicación. rc/resource.h: Definiciones de recursos. rc/resources.rc: Fichero con los recursos gráficos. El cuerpo principal del programa cambia un poco, simplemente, la función gestora de mensajes invoca a los métod

Programación Gráfica CAPITULO 2

Creación de una ventana Windows.   Comenzamos con nuestro primer tutorial en el que veremos cómo crear una simple ventana Windows con un texto. A continuación se muestra el código fuente del primer tutorial, en el que se muestra como crear una ventana en Windows. El código está comentado y no voy a entrar en detalles sobre la programación Windows, sólo os diré que todo está basado en el envío y recepción de mensajes. Un mensaje es cómo Windows trata los diferentes eventos que ocurren en el sistema. Con lo cual para tratar los eventos, se declara una función gestora de Eventos/Mensajes WindowProc, con el especificador CALLBACK lo que quiere decir que dicha función es llamada por Windows, nosotros no decidimos en qué momento se ejecuta. Esta función, trata TODOS los mensajes de las ventanas creadas a partir de un tipo de ventana definida en la estructura WNDCLASSEX. En esta estructura, en el campo lpfnWndProc se le dice el nombre de la función que tratará los mensajes. Mediante la fu