我面临一个奇怪的问题不知道为什么会发生这种情况。多个GLSurfaceView在同一时间移动
我有一个Java
基于Activity
它有一个LinearLayout
。这LinearLayout
由两个GLSurfaceView
组成。所有与GLSurfaceView
相关的方法如OnDraw
,SurfaceChanged
等都将呼叫降至JNI
层。在JNI
层内,我使用OpenGLES
绘制了一个立方体。我还创建了一个触摸监听器,并将其与第一个GLSurfaceView
相关联。一旦发生触摸事件,我将呼叫移至JNI
图层并随机旋转第一个立方体。
问题是当我旋转我的第一个立方体时,两个立方体都以完全相同的角度旋转。我在过去的四个小时里调试了这个问题,我很确定我的逻辑没有任何问题。但是由于某种未知的原因,当我在一个GLSurfaceView中进行更改时,其他多维数据集会自动更改。
任何想法?类似的问题?猜测?
更新
我使用同样的背景下,即我的两个GLSurfaceView
活动。基本上我有一个C++内部的类,它通过opengles绘制立方体。现在我正在成功创建两个立方体并同时显示它们。这两个立方体都有不同的纹理,我通过Java层传递。我的C++类有一个随机旋转多维数据集的方法。问题是如果我调用一个立方体的方法来旋转它,那么它会自动以相同的角度旋转,而不会做我所做的事情。
是的,我使用相同的上下文来初始化GLSurfaceView但无论是立方体对此有不同的质感。这是问题吗? –