2010-07-29 9 views
6

Je pensais que cela devrait être facile, mais ... geesh! Un vendeur m'a donné un programme de démonstration assez simple destiné à mettre en valeur des animations d'icônes triviales. La plate-forme cible est un système embarqué (MX51) avec un support accéléré OpenGL ES 2.0/OpenVG et EGL. Malheureusement, la démo a également une dépendance gênante sur quelques classes d'utilitaires Qt (par exemple, QImage). Si ce n'était de cette dépendance, je compilerais/exécuterais la chose sur la cible. Mais je ne savoure pas l'idée de cross-compiler Qt juste pour lancer cette petite démo --- même s'il y avait assez de place pour ça sur le tableau embarqué.Le moyen le plus simple d'exécuter une simple application GLES/EGL/OpenVG sur un PC?

J'espérais pouvoir exécuter l'application sur une machine virtuelle (ish) Ubuntu 10.04 standard, et j'ai commencé à suivre these directions pour y arriver. Et j'ai effectivement réussi --- comme, 10 heures plus tard --- pour compiler tout et obtenir un exécutable binaire du programme de démonstration. Cependant, quand je l'exécute, je vois l'erreur suivante:

eglCreateWindowSurface: egl error "EGL_BAD_CONFIG" (0x3005) 

Soupir. Pas ce que je voulais voir après tous ces efforts. Cela semble beaucoup plus difficile que cela devrait être.

Le paysage GL intégré est-il vraiment un tel ghetto que je dois exécuter même programmes triviaux sur la cible en utilisant certains BSP fournis par le fournisseur? A en juger par le manque de réponses à this guy's question, je pense que la réponse pourrait être oui. Mais je ne me soucie même pas de l'accélération (pour l'instant). Je veux juste lancer le plus stupide des programmes OpenGL ES 2/OpenVG sur un PC de bureau et avoir une idée de son apparence. (Cela ne me dérange pas si le PC fonctionne sous Linux ou Windows.) Comment les gens font ce genre de chose?

Répondre

5

Il existe plusieurs émulateurs OpenGL ES 2.0, tels que:

For ARM Mali GPUs

For PowerVR GPUs

également très récemment, AMD a affiché des pilotes qui exposent OpenGL ES 2.0 on desktop.

Plus récemment, OpenGL 4.1 expose l'extension GL_ARB_ES2_compatibility, ce qui rend les pilotes OpenGL 4.1 compatibles GL ES 2.0.

Pour OpenVG, vous pouvez utiliser AmanithVG GLE.

+1

Merci pour les pointeurs. Après avoir lu votre réponse utile, j'ai téléchargé l'émulateur OpenGL ES 2.0 de nVidia (http://bit.ly/bnpfRY) et l'ai installé sur mon portable, qui contient une GeForce 9500M. J'ai été momentanément intrigué par l'absence de libEGL.dll dans les fichiers installés, mais j'ai découvert que nVidia regroupait simplement toutes les fonctions egl * dans libGLES20.dll. (Quelques autres émulateurs avec lesquels j'ai joué avaient ces fichiers dans une bibliothèque séparée.) – evadeflow

+0

OMG, je crache furieusement maintenant que j'ai RTFM sur l'émulateur de nVidia. Il dit ceci à propos de leur implémentation OpenVG: OpenVG 1.0: VG/*: Prise en charge des graphiques vectoriels. Voir la documentation de Khronos pour plus de détails. Lien seulement. API non implémentées. Vraiment? Vraiment?! Grrr. Je suppose que je devrais obtenir une machine de développement avec un GPU AMD ... – evadeflow

+0

Juste au cas où cela aiderait quelqu'un, au moment d'écrire ces lignes, ARM GLES Emulator ne fonctionne pas sur les machines à voûte amd64 bits (qui sont toutes série d'Intel). – Divick

Questions connexes