11 votes

Threading du processus de chargement des textures pour un jeu Android opengl

Je dispose d'une grande quantité de textures au format JPG. Et j'ai besoin de les précharger dans la mémoire d'opengl avant que le dessin réel ne commence. J'ai posé une question et on m'a dit que le moyen de faire cela était de séparer le déballage des JPEG des appels glTexImage2D(...) vers un autre thread. Le problème est que je ne sais pas vraiment comment faire.

OpenGL (handler ?), nécessaire à l'exécution de glTexImage2D n'est disponible que dans les méthodes onSurfaceCreated et OnDrawFrame de GLSurfaceView.Renderer.

Je ne peux pas décompresser toutes mes textures et ensuite dans onSurfaceCreated(...) les charger dans opnegl, parce qu'elles ne tiendront probablement pas dans la mémoire limitée du vm (20-40MB ?)

Cela signifie que je dois les déballer et les charger un par un, mais dans ce cas, je ne peux pas obtenir un pointeur opengl.

Quelqu'un pourrait-il, s'il vous plaît, me donner un exemple de threading du chargement des textures pour un jeu opengl ?

Il doit s'agir d'une procédure typique, et je ne trouve aucune information nulle part.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X