August 6th, 2006

Este tutorial aborda la creación de una ventana en Windows con un contexto gráfico OpenGL, pero a diferencia de los tutoriales basados en GLUT o AUX, esta aplicación se desarrollará a partir de las librerías de Windows, haciendo todo “manualmente”. Surge la inquietud de ¿por qué hacer este tutorial, si podría hacerse más fácilmente con GLUT, AUX o cualquier otra librería?, la respuesta es porque este tutorial permite conocer mejor la estructura de un programa de Windows, que es útil si se necesita algo mas de control (y problemas) sobre la aplicación. Además, es divertido “ensuciarse” un poco las manos con el API de Windows de bajo nivel.

PROGRAMANDO ORIENTADO A EVENTOS

Windows y en general los sistemas operativos GUI utilizan una arquitectura orientada a eventos para manejar la interacción usuario – sistema – aplicación de manera organizada y eficiente. El modelo es bastante simple, cada vez que el usuario realiza una acción, el sistema determina sobre que aplicación se realizó y le envía un mensaje describiendo la acción, el programa lee y procesa el mensaje, si es que este le interesa (un clic sobre el menú por ejemplo) y realiza los cambios pertinentes.

Un ejemplo con un clic podría ser como este:

Continuar Leyendo… »

July 20th, 2006

Este tutorial aborda la creación una aplicación simple en OpenGL de dos formas diferentes, a través de las librerías aux y glut. Como ejemplos estilo “Hola Mundo” están orientadas a mostrar en pantalla aplicaciones simples que introduzcan al uso de una tecnología nueva para alguien, en este caso OpenGL, por esto mismo no se explican en profundidad, extensión o detalle todos los conceptos relacionados con el código fuente.

Los dos programas fueron probados en el Visual Studio .net 2003, pero es de esperar que funcionen en versiones anteriores (2002, 6) y en entornos diferentes (devcpp). En otros lenguajes como Java o c#, el código variará dependiendo de la sintaxis del lenguaje, la forma en que se realice el binding (ligadura) con el API (OpenGL esta escrito orientado al lenguaje c) y el sistema operativo.

Continuar Leyendo… »

July 4th, 2006

Este tutorial cubre los primeros conceptos previos a la creación de aplicaciones con OpenGL y en general a la creación de contenido 3d. Es necesario aclarar que el tutorial, por simplicidad y extensión se enfoca sobre la especificación 1.1 de OpenGL, es decir, solo se menciona la funcionalidad de la llamada “Fixed Pipeline” (ahora con la entrada de OpenGL 2.0 y la introducción de los shader al estándar, la estructura cambio).

En el tutorial se mencionan algunas palabras en ingles, acompañadas de su traducción al español, solo para conservar el término original (en ingles) y facilitar la búsqueda posterior del término, tanto en español, como en inglés.

Continuar Leyendo… »

June 17th, 2006

En el mundo real todas los objetos al ponerse en “contacto” reaccionan: chocan, se deslizan, rebotan, se rompen y todas los otros comportamientos que observamos a diario. En el caso de los videojuegos es muy importante tener un método (o varios) para saber cuando ocurre esto y actuar de manera adecuada, puesto que como se trata de una aplicación en tiempo real, no podemos precalcular en la mayoría de casos dichos eventos. Cuando estemos implementando propiamente un método es importante tener en cuenta los siguientes factores:

  • Uso de recursos: Se refiere a cuanta memoria y uso de procesador requieren las operaciones que estamos realizando para calcular si existe o no la colisión.
  • Colisiones falsas: Cuando utilizamos aproximaciones a las colisiones puede que estas no sean correctas gráficamente, aún cuando el algoritmo reporte una colisión.
  • Colisiones faltantes: El algoritmo fallará al intentar hallar estas colisiones (no las reporta).
  • Escalabilidad: Qué numero de objetos puede llegar a abarcar el algoritmo sin que falle en alguno de los casos anteriores.

Continuar Leyendo… »