Я столкнулся со странной проблемой, не уверенной, почему это происходит.
У меня есть Java
на основе Activity
, который имеет LinearLayout
.Это LinearLayout
состоит из двух GLSurfaceView
.Все связанные методы GLSurfaceView
, такие как OnDraw
, SurfaceChanged
и т. Д., Перемещают вызов до уровня JNI
.Внутри слоя JNI
я рисую куб, используя OpenGLES
.Я также создал сенсорный слушатель и связал его с первым GLSurfaceView
.Как только я получаю событие касания, я перемещаю вызов в слой JNI
и случайным образом поворачиваю первый куб.
Проблема в том, что когда я поворачиваю свой первый куб, оба куба вращаются под точно таким же углом.Я отлаживал эту проблему в течение последних четырех часов, и я почти уверен, что в моей логике нет ничего плохого.Но по неизвестной причине, когда я делаю изменения в одном GLSurfaceView, другой куб автоматически изменяется.
Есть идеи?Похожие проблемы?Угадайте?
Обновление
Я использую один и тот же контекст, т.е. моя активность для обоих GLSurfaceView
.В основном у меня есть класс внутри C ++, который рисует куб через opengles.Теперь я успешно создаю два куба и показываю их одновременно.Оба куба имеют разную текстуру, которую я передаю через слой Java.Мой класс C ++ имеет метод, который случайным образом вращает куб.Проблема в том, что если я вызываю метод одного куба, чтобы повернуть его, другой автоматически поворачивается под тем же углом, не делая то, что я делаю.