Polls

Qué cambiará obama?
 
Inicio arrow Tutoriales arrow Ver Todos arrow General arrow Configuración básica y el uso de OpenGL|ES sobre dispositivos móviles
Configuración básica y el uso de OpenGL|ES sobre dispositivos móviles PDF Print E-mail
Written by Javier Loureiro   
Sunday, 17 December 2006

Configuración básica y el uso de OpenGL|ES sobre dispositivos móviles

Introducción: Requerimientos de software y configuración del entorno de desarrollo

www.typhoonlabs.com

 

Requerimientos de software

Esta serie de tutoriales cubrirán la configuración básica y el uso de OpenGL ES sobre dispositivos móviles. Todos los tutoriales están compilados y probados para funcionar bajo la plataforma Pocket PC, pero con unos pocos ajustes se pueden probar sin problemas sobre SmartPhones. Actualmente hay dos implementaciones de OpenGL ES disponibles, una es la implementación Vincent y la otra es la implementación Hybrid. Realizaremos la configuración del entorno de desarrollo con ambas.

El primer paso para compilar aplicaciones para PocketPC (PPC) o SmartPhones (SP) es tener un compilador que genere código apto para ambos sistemas, ya que ellos no disponen de procesadores compatibles con los x86. Por esta razón debemos hacernos con un compilador que genere el código ensamblador correcto.

¿Qué compilador es el que necesitamos? Es fácil, utilizaremos el eMBedded Visual C++ 4. Adicionalmente necesitaremos los SDK para las plataformas que nos interesen (PPC y SP). Estos paquetes de software son gratuitos y pueden ser descargados desde esta URL. Alternativamente se puede encargar a Microsoft un DVD con todo el software que necesitamos, también de manera gratuita.

La lista exacta de paquetes que necesitamos es:

  • eMbedded Visual C++ 4.0
  • eMbedded Visual C++ 4.0 SP3
  • Pocket PC 2003 SDK
  • Pocket PC 2003 Second Edition Emulators (únicamente sino se dispone de un PPC real)
  • ActiveSync 3.7 ó 3.8
  • Smartphone 2003 SDK (únicamente si programaremos para SP)
  • Smartphone 2003 Second Edition Emulators (únicamente sino disponemos de un SP real)

Todo este software es gratuito, tanto en la versión descargable como en la de DVD. Una vez que tengamos el software instalado (en el mismo orden que puesto en la lista), podremos comenzar con la configuración del entorno de desarrollo. Nos centraremos en el perfil de PPC, pero absolutamente todo es exactamente igual con los SP, únicamente hay que tener instalado su SDK y escoger el perfil adecuado.

 

Configuración del entorno de desarrollo

Tras arrancar el eMbedded Visual C++ 4 (EVC4), y haber escogido en el menú, la opción File->New… aparecerá un cuadro de diálogo como este. Selecciona la pestaña Projects para ver los proyectos que están disponibles según los SDK que se hayan instalado.

 

 

El tipo de proyecto que usaremos es el siguiente: WCE Pocket PC 2003 Application. Selecciónalo y rellena el campo project name con el nombre que desees y pulsa Ok. En el siguiente paso escogeremos el estado inicial del proyecto. Tenemos tres opciones: “empty project”, “simple Windows CE application” o el “Hello world project”. Escogeremos el segundo. A continuación, el entorno de desarrollo creará varios archivos de código fuente y de recursos que nos servirán para comenzar. Para finalizar cambiaremos varias opciones en el panel de opciones del proyecto.

a) Como queremos que los cambios que realicemos afecten a todas las configuraciones, lo primer es, en el panel de settings (click derecho sobre el nombre del proyecto en el árbol de archivos, a la izquierda, opción settings) Escogeremos “All configurations” en el combo box de la parte superior.

b) Ahora hemos de eliminar el uso de los encabezados precompilados (Personalmente casi nunca los he usado, y cuando lo he intentado me han traído mas problemas que soluciones). Pincha sobre la pestaña C/C++ y en el combo box “category” escoge Precompiled headers. Por último selecciona “Not using precompiled headers”.

c) En el árbol de archivos, elimina stdafx.h, stdAfx.cpp, resource.h, newres.h, y tutorial1.rc (tutorial1 viene de que es el nombre que le he puesto al proyecto en el paso anterior), a continuación, eliminalos de la carpeta del proyecto, ya que no los necesitamos.


d) A continuación, abre el archivo tutorial1.cpp y cambia la línea #include “stdafx.h” por #include <windows.h>

 

El dialogo de configuración se debe ver como éste.

 

 

Ahora es el momento de escoger el perfil de compilación. Escogeremos el ARM4 Emulator, y mas tarde lo cambiaremos para utilizar una PDA real.

 

 

 

 

Por defecto la configuración esta establecida en el perfil genérico para WinCE. Debemos cambiarlo al perfil PocketPC, tal como muestra la imagen.

 

 

Para cambiar las configuraciones entre Debug y Release, utilizaremos el campo “select active configuration”. Para seleccionar entre un dispositivo real PPC o el emulador de PPC usaremos el campo “select default device”. Si hemos escogido en Default Device otra cosa que no sea PPC 2003 Emulator, obtendremos errores de compilación y linkado, ya que antes hemos escogido compilar para emulador (en select active configuration) y no se puede ejecutar código de emulador en la PDA y viceversa, así que esas opciones han de “casar”. Continuaremos con las opciones tal como están en la imagen. Ahora probaremos a compilar y ejecutar la aplicación (si se la puede llamar así...). Pincharemos en el botón build o bien a través del menú build-build tutorial1.exe, o pulsa F7, cualquiera de las 3 maneras sirve. Esta operación, además de compilar el proyecto, si en la compilación no ha habido errores, automáticamente se subirá el ejecutable a la PDA o al emulador, y se ejecutará, si así lo has pedido (CTRL + F5)

Bien, esto es todo con respecto a la configuración básica del IDE, ahora lo prepararemos para utilizar las librerías de OpenGL ES.


Configuración del las implementaciones de OpenGL ES 1.1 Vincent & Hybrid

Lo primero de todo, es necesario bajarse las librerías precompiladas de OpenGL ES de Vincent. Descomprime el paquete (no es necesario el código fuente) en los siguientes directorios:
C:\Archivos de Programa\Windows CE Tools\wce420\POCKET PC 2003\Include\Armv4
C:\ Archivos de Programa \Windows CE Tools\wce420\POCKET PC 2003\Include\Emulator

Tras esta acción, el compilador sera capaz de acceder a los archivos de inclusión desde los directorios por defecto.

Para las librerías necesitamos una configuración un poco mas elaborada:

  • Copia los directorios arm y emu desde el paquete de Vincent al directorio del proyecto.
  • Abre el panel de settings y escoge en el campo: “settings for:” el valor Win32 (WCE ARMV4) debug profile, ve a la pestaña de Link, selecciona “Category?Input” y escribe .\arm\Debug\libGLES_CM.lib en el campo de texto “modules”. Haz lo mismo para las demás configuraciones con los siguientes valores:

 

Configuración Link Tab, category = link
Win32 (WCE ARMV4) Debug .\arm\Debug\libGLES_CM.lib
Win32 (WCE ARMV4) Release .\arm\Release\libGLES_CM.lib
Win32 (WCE Emulator) Debug .\emu\Debug\libGLES_CM.lib
Win32 (WCE Emulator) Release .\emu\Release\libGLES_CM.lib

 

Con esta acción tan simple, habremos enlazado la librería de OpenGL ES de Vincent a nuestro proyecto y estará disponible en todas las configuraciones.

Solamente queda una cosa : para poder ejecutar una aplicación del OpenGL ES en un PPC o emulador, la librería libGLES_CM.dll debe estar presente en el mismo directorio (o en un directorio del sistema) que el ejecutable. Desafortunadamente, no he encontrado una manera automática de que esa dll se suba a la PDA junto con el .exe, así que habrá que hacerlo a mano usando la utilidad de exploración de ficheros situada en “tools->Remote file viewer”. Una vez ejecutada esta utilidad, escogeremos Pocket PC 2003 Emulator device (si estamos utilizando el emulador) Luego pincha en el boton con forma de flecha vertical amarilla, y a continuación busca el fichero .\emu\debug\libGLES_CM.dll (esos dos directorios dependen del perfil para el que estés compilando) y pulsa Ok. Con esto se subirá la librería de OpenGL ES al dispositivo y el programa estará listo para ser ejecutado.

Tras estos pasos, la implementación de OpenGL ES de Vincent estará preparada para ser utilizada por nuestra aplicación.

Los pasos para configurar la implementación de Hybrid son exactamente los mismos, únicamente habrá que buscar los archivos pertinentes (libGLES_CM.lib y libGLES_CM.dll) de Hybrid y utilizarlos en vez de los de Vincent.

 

web de Typhoonlabs: http://www.typhoonlabs.com

Contacto: This e-mail address is being protected from spam bots, you need JavaScript enabled to view it

Para cualquier comentario, sugerencia o corrección... usad los foros y el buscador de CODEPIXEL.

Comentarios
AgregarnuevoBuscar
Escribir comentario
Nombre:
Email:
 
Website:
Título:
Código UBB:
[b] [i] [u] [url] [quote] [code] [img] 
 
Security Image
Por favor introduce el codigo anti-spam que puedes leer en la imagen.

Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved.



menéameDigg!Del.icio.us!Google!Technorati!Yahoo!
 
< Prev   Next >

Lista de Correo

visita la lista de correo de codepixel. Es una lista abierta, asi que podrás subscribirte y preguntar tus dudas de programación, compartir tus opiniones, aportar ideas, y formar parte de la comunidad codepixelera.