Entradas etiquetadas como ‘GLUT’

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…)