Mon jeu fonctionne correctement, sauf dans le cas où j'appuie sur le bouton Home puis reprendre. Qu'est-ce qui doit être fait pour utiliser les textures à nouveau? J'ai essayé d'appeler l'onpause et onResume sur la GLSurfaceView (lorsque l'onpause de l'activité et onresume s'appelle). P>
Des idées ce que je pourrais faire mal? P>
3 Réponses :
Si tout échoue, rechargez les textures:
pseudocode p>
J'avais essayé cela, mais pour une raison quelconque, les textureids semblaient être mélangés (ma texture de la police a été appliquée au mauvais endroit par exemple). Je vais persévérer et lui donner un autre aller
Merci, ça marche. Le manque de sommeil d'un nouveau bébé a causé quelques erreurs. Avec une tête claire, cela fonctionne bien :)
Même si vous avez corrigé votre problème, juste pour donner un peu d'explication qui pourrait aider les autres. p>
Android ne garantit pas le contexte OpenGL en vie lorsque l'activité est en pause. p>
Vous devez recréer toutes les ressources OpenGL sur CV (texture dans votre cas, mais aussi VBO, etc.). P>
Depuis l'API 11, vous pouvez Demandez aimablement A> Android pour garder le contexte, mais il n'y a pas de garantie. P>
J'ai rechargé les textures pour résoudre le problème. Je venais d'avoir commis une erreur en faisant ça :)
Comment déterminez-vous si OpenGL a en fait préservé son contexte pour enregistrer inutilement le rechargement inutilement?
Vient de découvrir GetPresveeglContextonpause (). Si cela revient vrai, êtes-vous garanti de garder le contexte?
J'aurais aimé savoir l'existence de SetpresveeglContextonpuse il y a trois ans. Aurait empêché de nombreux succès sur mon jeu des joueurs qui devaient attendre des charges de texture intermittentes pendant la lecture, comme après les appels de publicité. Incroyable La valeur par défaut est fausse.
Après avoir essayé: p>
Les deux cas corrigent le problème de la résolution home-CV-Black-texture. Devinez l'implémentation Android n'a pas réussi à recréer le contexte EGL lors de la reprise. Depuis que l'onpause / OnResume doit appeler, devrait toujours définir SetPresveeGlContextonAUSe sur True. P>
Pourriez-vous s'il vous plaît poster des échantillons de code?
@Badskillz Je ne suis pas sûr de ce que le code est pertinent. Mon activité / View and Renderer? Je charge les textures à l'aide de code natif. Qu'est-ce qui doit être fait pour restaurer les textures? Dois-je recharger du disque?