なぜこれが起こっているのか不明な奇妙な問題に直面しています。複数のGLSurfaceViewが同時に動いています
私は、を有するJava
に基づいてActivity
を持っています。このLinearLayout
は、2つのGLSurfaceView
で構成されています。 GLSurfaceView
の関連するすべてのメソッドは、OnDraw
,SurfaceChanged
などはJNI
レイヤーに移動しています。 JNI
レイヤー内では、OpenGLES
を使用して立方体を描画しています。また、タッチリスナーを作成し、最初にGLSurfaceView
と関連付けました。タッチイベントが発生すると、私はJNI
レイヤーにコールを移動し、最初のキューブをランダムに回転させます。
問題は、最初の立方体を回転させるときに、両方の立方体がまったく同じ角度で回転することです。私はこの問題を最後の4時間デバッグしました。私はロジックに間違いがないと確信しています。しかし、私が1つのGLSurfaceViewを変更するときの何らかの未知の理由により、他のキューブが自動的に変更されます。
アイデア?同様の問題?推測?
更新
私はつまり、両方GLSurfaceView
ための私の活動と同じコンテキストを使用しています。基本的に私はopenglesを通してキューブを描画するC++のクラスを持っています。今は2つのキューブを作成して同時に表示しています。両方のキューブには、Javaレイヤーを介して渡す異なるテクスチャがあります。私のC++クラスには、キューブをランダムに回転させるメソッドがあります。問題は、あるキューブのメソッドを呼び出すとそれを回転させ、他のキューブは同じ角度で自動的に回転するということです。
ため
申し訳ありませんが、私のコード内の1つの論理的な間違いがあった解決しました。これは問題ですか? –