Entradas etiquetadas como ‘OpenGL’

Escrito por Iván Alonso el Lunes 21 de Diciembre de 2009

Vamos a por nuestro primer ejemplo con OpenGL. Tras las explicaciones del anterior post sobre OpenGL, la única puntualización necesaria sería sobre qué es eso de GLUT que pone en el título del post. GLUT es el acrónimo de openGL Utility Toolkit, y viene a ser poco más que un wrapper para facilitar las tareas más comunes, con llamadas algo más sencillas. A los desarrolladores de OpenGL debería decirles algo el hecho de que este tipo de productos existan y sean tan ampliamente utilizados. Como veremos, también incluye algunas facilidades para el uso del teclado y ratón.

Nosotros lo utilizaremos únicamente para este primer ejemplo, para afianzar conceptos básicos… porque con él estamos perdiendo una gran cantidad de productos potenciales en lo que ejecutar nuestro código (GLUT únicamente existe para los sistemas principales, pero no para consolas, específicamente para productos homebrew que no disponen de SDKs oficiales, ni para el iPhone). Además se dejó de trabajar en GLUT hace tiempo, ahora habría que utilizar freeglut y blablabla… conclusión: no lo vamos a utilizar en el futuro.

Lo primero que haremos será crear un nuevo proyecto, de tipo Command Line Tool, para C++, al que pondremos como nombre lo que más rabia nos dé (a mi se me ha ocurrido Demo01, en un arranque de originalidad):

Captura de pantalla 2009-11-17 a las 11.04.11.png

Se creará un proyecto con un único archivo de código (main.cpp). La siguiente tarea a realizar será añadir las referencias a los frameworks/librerías que vamos a utilizar, en este caso OpenGL. Esto lo haremos haciendo click derecho sobre el proyecto, Add, Existing Frameworks:

Captura de pantalla 2009-11-17 a las 11.07.48.png

Otra de las buenas cosas de los Mac es que todo está localizado donde debe. Así que todos los frameworks instalados en el sistema se mostrarán en una lista de la que tan sólo hemos de escoger OpenGL.framework y GLUT.framework (OpenGL Utility Toolkit) y añadirlos al proyecto.

(más…)

Escrito por Iván Alonso el Lunes 16 de Noviembre de 2009

Con este primer post vamos a marcar los principios de una serie de entradas sobre desarrollo con OpenGL y C++. Dado que últimamente estoy utilizando mi nuevo Mac para todo, todos los ejemplos los voy a ir haciendo sobre OS X (y, salvo imposibilidades de fuerza mayor, en XCode, para ir cogiendo más soltura con el entorno).

¿Qué es OpenGL? Es una librería para gráficos 2D y 3D.

200911162133.jpg

¿Por qué voy a usar OpenGL y no <inserta aquí tu librería favorita>? Por muchas razones. Principalmente porque es un estándar aceptado profesionalmente, lo que significa que aprender te puede incluso servir de algo en la vida, además de únicamente para satisfacer tus ansias de conocimiento. Segundo porque es utilizable en muchas plataformas (Windows, Mac, Linux…). Esto es posible porque es una librería enfocada únicamente a lo que está enfocada: renderizar gráficos. No tiene conceptos de ventanas ni interactúa en modo alguno con el sistema de ventanas de ningún sistema operativo, ni se encarga de manejar la entrada desde los periféricos ni una larga serie de cosas que son distintas en cada sistema. Y tercero, porque tiene bindings a (es utilizable desde) una multitud de lenguajes, desde Smalltalk hasta C#, pasando por Visual Basic, el tiempo sigue pasando, siguen apareciendo lenguajes nuevos, pero puedes seguir utilizando OpenGL.

¿Y por qué no DirectX? Por una simple cuestión de cantidad de plataformas a las que puedes llegar con OpenGL (lógicamente mucho mayor a la de DirectX). Hasta donde llega mi conocimiento con ambos sistemas se pueden conseguir resultados idénticos mediante las mismas funcionalidades. De hecho, la experiencia adquirida con cualquiera de los dos sistemas probablemente te permita seguir haciendo lo mismo con el otro.

Más información en la wikipedia y en la página de OpenGL. Tutoriales interesantes en NeHe.

A ver si en el siguiente post ya conseguimos que algo se mueva en pantalla…