gpt4 book ai didi

java - 多个GLSurfaceView同时移动

转载 作者:行者123 更新时间:2023-12-01 05:41:20 25 4
gpt4 key购买 nike

我面临一个奇怪的问题,不确定为什么会发生这种情况。

我有一个基于JavaActivity,它有一个LinearLayout。此 LinearLayout 由两个 GLSurfaceView 组成。 GLSurfaceView 的所有关联方法(例如 OnDrawSurfaceChanged 等)都将调用向下移动到 JNI 层。在 JNI 层内,我使用 OpenGLES 绘制一个立方体。我还创建了一个触摸监听器并将其与第一个 GLSurfaceView 相关联。一旦收到触摸事件,我就会将调用移至 JNI 层并随机旋转第一个立方体。

问题是当我旋转第一个立方体时,两个立方体都以完全相同的角度旋转。我已经调试了这个问题四个小时,我很确定我的逻辑没有任何问题。但由于某种未知的原因,当我在一个 GLSurfaceView 中进行更改时,其他多维数据集会自动更改。

有什么想法吗?类似的问题?你猜?

更新

我使用相同的上下文,即我的 GLSurfaceView Activity 。基本上我在 C++ 中有一个类,它通过 opengles 绘制立方体。现在我成功创建了两个立方体并同时显示它们。两个立方体都有不同的纹理,我通过 Java 层传递这些纹理。我的 C++ 类有一个随机旋转立方体的方法。问题是,如果我调用一个立方体的方法来旋转它,其他立方体会自动以相同的角度旋转,则不会执行我所做的操作。

最佳答案

如果没有您的代码,我猜您正在使用相同的上下文初始化 GLSurfaceView。当共享上下文时,更改一个会更改另一个,因为它们将在渲染器中共享相同的 GL10 实例。我不在 Android 中编程,但通常您会使用多个“视口(viewport)”来显示不同的内容。

关于java - 多个GLSurfaceView同时移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7106348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com