Resumen:
|
Cuando se desarrolla una aplicación multimedia interactiva y se necesita centrarse en la lógica de funcionamiento, es deseable abstraerse de los detalles propios de la interfaz de usuario. Si, además, se tiene en cuenta ...[+]
Cuando se desarrolla una aplicación multimedia interactiva y se necesita centrarse en la lógica de funcionamiento, es deseable abstraerse de los detalles propios de la interfaz de usuario. Si, además, se tiene en cuenta que esta parte es la más diferente entre plataformas (a nivel de sistema operativo y de acceso al hardware disponible), es cuanto más aconsejable disponer de ese nivel de despreocupación de los detalles de bajo nivel que diferencian a las posibles plataformas en las que queremos desplegar la aplicación.
El lector encontrará, al leer y experimentar con el contenido de este artículo, una serie de servicios propios de interfaz con el usuario que le permitirán enfocar un buen número de aplicaciones interactivas e inmersivas, que puedan ser portadas entre plataformas.
En particular, esto lo podemos apreciar a la hora de desarrollar aplicaciones con OpenGL. En estas, el centro del interés es el renderizado de una escena tridimensional sobre un área de pantalla bidimensional. Por ello se propuso, en los inicios de OpenGL, complementarlo con una capa de alto nivel de carácter multiplataforma, que permitiera: esta separación de tareas, la portabilidad del desarrollo y minimizar el impacto en cuanto a consumo de recursos necesarios. La elección recibió el nombre de The OpenGL Utility Toolkit (GLUT). Fue desarrollado por Mark Kilgard allá por el 1994, sobre el sistema gráfico de ventanas X de Unix (X Window System) y se empezaría llamando GLX. Sería portado a Microsoft Windows (WGL) por Nate Robins y en macOS nos encontramos con su propia implementación de GLUT (hasta la llegada de Metal).
Además de GLUT, otras alternativas se han ido desarrollando, aquí se presenta un ejemplo de código de OpenGL con una de ellas: Simple DirectMedia Layer (SDL). Este artículo se centrará en la explicación en un ejemplo de aplicación hecha con GLUT, reescrita con SDL, para ver los cambios típicos al utilizarla en lugar de GLUT.
[-]
|