我面臨一個奇怪的問題不知道爲什麼會發生這種情況。多個GLSurfaceView在同一時間移動
我有一個Java
基於Activity
它有一個LinearLayout
。這LinearLayout
由兩個GLSurfaceView
組成。所有與GLSurfaceView
相關的方法如OnDraw
,SurfaceChanged
等都將呼叫降至JNI
層。在JNI
層內,我使用OpenGLES
繪製了一個立方體。我還創建了一個觸摸監聽器,並將其與第一個GLSurfaceView
相關聯。一旦發生觸摸事件,我將呼叫移至JNI
圖層並隨機旋轉第一個立方體。
問題是當我旋轉我的第一個立方體時,兩個立方體都以完全相同的角度旋轉。我在過去的四個小時裏調試了這個問題,我很確定我的邏輯沒有任何問題。但是由於某種未知的原因,當我在一個GLSurfaceView中進行更改時,其他多維數據集會自動更改。
任何想法?類似的問題?猜測?
更新
我使用同樣的背景下,即我的兩個GLSurfaceView
活動。基本上我有一個C++內部的類,它通過opengles繪製立方體。現在我正在成功創建兩個立方體並同時顯示它們。這兩個立方體都有不同的紋理,我通過Java層傳遞。我的C++類有一個隨機旋轉多維數據集的方法。問題是如果我調用一個立方體的方法來旋轉它,那麼它會自動以相同的角度旋轉,而不會做我所做的事情。
是的,我使用相同的上下文來初始化GLSurfaceView但無論是立方體對此有不同的質感。這是問題嗎? –