2010-07-29 12 views
6

Pensé que esto debería ser fácil, pero ... ¡geesh! Un proveedor me dio un programa de demostración bastante simple destinado a mostrar algunas animaciones de iconos triviales. La plataforma objetivo es un sistema integrado (MX51) con soporte acelerado OpenGL ES 2.0/OpenVG y EGL.¿La manera más fácil de ejecutar una aplicación simple GLES/EGL/OpenVG en una PC?

Desafortunadamente, la demostración también tiene una dependencia molesta en algunas clases de utilidad Qt (por ejemplo, QImage). Si no fuera por esta dependencia, compilaría/ejecutaría la cosa en el objetivo. Pero no me gusta la idea de compilar de forma cruzada Qt solo para ejecutar esta pequeña demostración, incluso si hubiera espacio suficiente para ella en la placa integrada.

yo esperaba que podría ser capaz de ejecutar la aplicación en un estándar (o menos) de Ubuntu 10.04 VM, y empezó a seguir these directions para que esto ocurra. Y realmente logré --- como, 10 horas más tarde --- para compilar todo y obtener un binario ejecutable del programa de demostración. Sin embargo, cuando lo ejecuto, veo el siguiente error:

eglCreateWindowSurface: egl error "EGL_BAD_CONFIG" (0x3005) 

suspiro. No es lo que quería ver después de todo ese esfuerzo. Esto parece mucho más difícil de lo que debería ser.

¿El paisaje GL integrado es realmente un ghetto que tengo que ejecutar incluso programas triviales en el destino usando algún BSP suministrado por el proveedor? A juzgar por la falta de respuestas al this guy's question, estoy pensando que la respuesta podría ser sí. Pero ni siquiera me importa la aceleración (todavía). Solo quiero ejecutar los más estúpidos de los programas OpenGL ES 2/OpenVG en una PC de escritorio y tener una idea de cómo se ve. (No me importa si la PC ejecuta Linux o Windows.) ¿Cómo hace la gente este tipo de cosas?

Respuesta

5

Hay varias 2.0 emuladores de OpenGL ES, tales como:

For ARM Mali GPUs

For PowerVR GPUs

También los conductores hace muy poco, AMD ha publicado que exponen OpenGL ES 2.0 on desktop.

Más recientemente, OpenGL 4.1 expone la extensión GL_ARB_ES2_compatibility, que hace que los controladores OpenGL 4.1 GL ES 2.0 sean compatibles.

Para OpenVG, puede usar AmanithVG GLE.

+1

Gracias por los consejos. Después de leer su útil respuesta, descargué el emulador OpenGL ES 2.0 de nVidia (http://bit.ly/bnpfRY) y lo instalé en mi computadora portátil, que contiene una GeForce 9500M. Estuve momentáneamente desconcertado por la falta de libEGL.dll en los archivos instalados, pero descubrí que nVidia simplemente agrupa todas las funciones egl * en libGLES20.dll. (Algunos otros emuladores con los que jugué los tenían en una biblioteca aparte.) – evadeflow

+0

Dios mío, me estoy volviendo loco ahora que tengo RTFM en el emulador de nVidia. Dice esto sobre su implementación OpenVG: OpenVG 1.0: VG/*: Soporte para gráficos vectoriales. Consulte la documentación de Khronos para obtener detalles. Enlace solo API no implementadas ¿De verdad? ¡¿De Verdad?! Grrr. Supongo que tendré que conseguir una máquina de desarrollo con una GPU AMD ... – evadeflow

+0

En caso de que ayude a alguien, en el momento de escribir estas líneas, el Emulador ARM GLES no funciona en las máquinas de arco de 64 bits (que son todas de corei serie de Intel). – Divick

Cuestiones relacionadas