Pourquoi suis-je “appel à l'API OpenGL ES sans contexte actuel”?

Je suis nouveau sur openGL et de développement android, de sorte s'il vous plaît pardonnez-moi si ma question est très trivial.

Je suis en train de construire une simple petite application qui prend en entrée de l'utilisateur dans trois EditTexts représentant un 0 - 100% de la valeur de chaque composante de couleur RVB à être affiché dans une GLSurfaceView.

Le hic, c'est que j'en ai besoin pour utiliser openGL ES 2.0 et j'ai besoin de passer les données dans la trame de fond du programme à l'aide d'une valeur uniforme de sorte qu'une fois que je reçois ce travail je peux me déplacer sur de ce que je suis vraiment en train d'essayer d'accomplir.

Lors de l'exécution de ce que j'ai écrit, je peux obtenir le GLSurfaceView pour afficher correctement la première couleur solide, mais à chaque fois que je changer les valeurs et faire des appels pour reconstruire l'uniforme de la fente dans l'ombre programme, j'obtiens cette erreur dans le LogCat:

ERREUR/libEGL(14316): appel à l'API OpenGL ES sans contexte actuel (connecté une fois par thread)

et bien sûr le GLSurfaceView reste la couleur initiale.

J'ai été à la recherche d'une solution à ce problème et que mieux que je peux dire j'ai peut-être besoin de mettre en place un EGLContext quelque part avant de mettre mon moteur de rendu. Cependant, je ne vois rien dans l'API démos à ce sujet, et la seule information que je peux trouver en ligne a été écrit avant GLSurfaceView était encore disponible.

Dois-je configurer un EGLContext encore ou ai-je raté quelque chose?

Informations supplémentaires qui peuvent aider:

-utilisé un fichier XML pour configurer l'INTERFACE utilisateur (et aussi loin que je peux le faire dans le code n'aide pas)

-le fait d'avoir le même problème quand j'essaye de charger une nouvelle texture à partir de la carte sd dans un autre programme. Je peux obtenir la première texture bien fonctionner, mais lorsque vous utilisez la même méthode pour charger la deuxième j'obtiens le même message d'erreur et rien ne change.

Êtes-vous à l'aide de plusieurs threads?

OriginalL'auteur Frank | 2010-08-18