Je suis confronté à un problème étrange pas sûr pourquoi cela se produit.Plusieurs GLSurfaceView se déplaçant en même temps
J'ai un Java
basé Activity
qui a un LinearLayout
. Ce LinearLayout
se compose de deux GLSurfaceView
. Toutes les méthodes associées de GLSurfaceView
comme OnDraw
, SurfaceChanged
etc. se déplacent appeler à JNI
couche. À l'intérieur du calque JNI
, je dessine un cube en utilisant OpenGLES
. J'ai également créé un écouteur tactile et l'ai associé avec le premier GLSurfaceView
. Une fois que je reçois un événement tactile, je déplace l'appel au calque JNI
et fais pivoter le premier cube de façon aléatoire.
Problème lorsque je fais tourner mon premier cube, les deux cubes tournent exactement au même angle. J'ai débogué ce problème pendant quatre heures et je suis presque sûr qu'il n'y a rien de mal dans ma logique. Mais pour une raison inconnue lorsque je fais un changement dans un GLSurfaceView autre cube change automatiquement.
Des idées? Des problèmes similaires? Deviner?
Mise à jour
J'utilise même contexte à savoir mon activité pour les deux GLSurfaceView
. Fondamentalement, j'ai une classe en C++ qui dessine le cube à travers les opengles. Maintenant, je crée avec succès deux cubes et je les affiche simultanément. Les deux cubes ont une texture différente sur laquelle je passe via la couche Java. Ma classe C++ a une méthode qui fait tourner le cube aléatoirement. Le problème est que si j'appelle la méthode d'un cube pour le faire pivoter, l'autre pivote automatiquement au même angle sans faire ce que je fais.
Oui, j'utilise même contexte pour initialiser le GLSurfaceView mais les deux cubes ont une texture sur elle. Est-ce le problème? –