问题标签 [glsurfaceview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1117 浏览

android - Android:当活动关闭时,GLSurfaceView 有时会崩溃

在我的项目工作的 9 个月中,我只遇到过 2 到 3 次这个错误,所以我会说它非常罕见,但我仍然想知道是什么原因造成的。

当我关闭我的活动(通过按下主页)时,活动有时会崩溃并将以下堆栈发回给我

这似乎是来自核心 GLSurfaceView 代码而不是我自己的代码的错误。

有任何想法吗 ?

0 投票
1 回答
815 浏览

android - 在 Android 中创建一个按钮 glSurfaceView

我对此有点问题。我想做一个按钮。但是,我不知道如何将 Button 类与OpenGL一起使用。我没有在 Java 中使用“R”类,而是使用旧的“assets”文件夹来实现兼容性。

我设置了它来查找您是否触摸了按钮并在“修饰”时加载下一个屏幕。这样做的缺陷是您可以触摸屏幕,然后将手指拖到按钮上,然后抬起手指。下一个屏幕将加载,因为它已在该位置注册了触摸事件。

解决此问题的最简单方法是使用 Button 类,但我该如何使用它(尤其是因为我无法使用findViewById)?

这是我正在使用的代码,但是当 onTouchUp 检查碰撞时 touchDown 神奇地变为与 TouchUp 相同?

0 投票
1 回答
1333 浏览

android - gl Context破坏后的空白屏幕onResume(),Android

对于我们在 Android 操作系统上的游戏,我们主要使用 ndk 来编写我们的游戏和一个精简的 Java 包装器,这样我们就可以支持所有具有 gles 2.0 硬件的设备。

我们的实现非常标准,使用 GLSurfaceView 的覆盖我们: * 创建/恢复游戏的 c++ 部分 onSurfaceChanged(), * 渲染 onDrawFrame(), * 在 destroyContex() 通知引擎丢失 gl 上下文,这通常发生在应用程序暂停或被破坏。

当重新创建 gl 上下文时(恢复时 - onSurfaceChanged()),我们将信息传递回游戏并重新加载所有 gl 资源。在 onSurfaceChanged() 和第一个 onDrawFrame 之间的时间虽然屏幕是黑色的,但我注意到了相当多的 3D 游戏没有这种问题(例如 Gun Bros),他们似乎也没有重新加载资源(除非他们拥有所有内存并快速加载它们)。

关于为什么会发生这种情况的任何信息?

0 投票
4 回答
5375 浏览

android - 如何从Android中的另一个视图膨胀另一个视图

我知道onCreate()我可以通过以下方式从 XML 中扩展视图:

但我怎么能从另一个角度做到这一点呢?GONE我试图通过将其可见性设置为来调用加载屏幕,VISIBLE但似乎无法从我的glSurfaceView

0 投票
1 回答
5179 浏览

android - 使用 GLSurfaceView 进行捏合缩放

我有以下问题 -

我正在开发一个应用程序,我决定使用 GLSurfaceView,因为我需要 openGl 以获得更好、更自然的页面卷曲动画。

实现了这一点,现在我发现自己有点问题,因为我找不到任何类型的教程来实现 GLSurfaceView 上的捏缩放。我捕捉到了事件、手指之间的距离、比例等……但我不知道如何执行实际的转换。

我找到了通过矩阵转换 ImageView 的那个,但是唉...

有人在openGl中进行了捏放大吗?

我认为没有必要发布代码,但如果它会帮助您回答,我会这样做。

0 投票
1 回答
1152 浏览

android - 我需要帮助向 glSurfaceView 添加第二个纹理

我使用harism 的 page curl(Harism,thanx 了很多这个优秀的库!)为 android 开发商业应用程序 - 电子杂志。

我包装了应该在应用程序周围的所有内容,即 xml - 杂志页面的 rpc 获取、缓存、加载程序、我自己的位图提供程序、自定义手势事件处理程序等......

但是,我有一个非常大的问题,无论我如何尝试,我都无法解决自己。

我需要实现一个真正的书籍功能,这意味着当页面以横向模式定向时,我需要成对的页面(初始屏幕 - 左空白,右封面。第一次翻转 = 左页 1,右页 2。第二次翻转 =左边第 3 页,右边第 4 页……)

我阅读了 Harism 给那些在 github 上就他们提出的关于此问题提出相同问题的人提供的信息,但由于我对 openGL es 的了解有限,这还不够。

我知道我需要实现背面纹理,但有人可以在这个问题上更详细一点吗?我自己尝试做这件事时遇到了死胡同,我急需帮助。

如果需要额外的代码发布 - 让我知道,我会更愿意发布任何/所有代码。

谢谢!

编辑重新阅读它我意识到我应该更详细。卷曲的页面的纹理是实际页面的位图。在当前设置下,位图正面和背面是分开渲染的,但它是相同的纹理。我需要后面的那个是不同的。

一些进行实际渲染的代码:

我想我应该篡改:

并为它提供一个单独的位图,但我不知道该怎么做。

再次感谢

编辑:我开始了巨额赏金,我真的需要这个答案...... :)

0 投票
2 回答
850 浏览

android - GLSurfaceView 中的方向更改问题

我正在使用 Android openGLES1.0 旋转多边形。如果我连续 2.3 次更改设备的方向(横向到纵向,反之亦然)我的活动有 GLSurfaceView 死亡。它会导致之前的 Activity(screen).logcat 显示以下消息。请帮我。

这是我的日志:

0 投票
1 回答
1721 浏览

android - 如何在 android 中以透明背景在 GLSurfaceview 顶部添加文本?

嗨,我有一个具有背景的父视图组,包含一个 openglview 作为该视图组的一部分。

我真正想要的是,我需要一个具有透明背景的openglview,并且我希望能够看到父背景,并且我希望能够在openglview 之上编写文本, 我不想使用纹理

我试过这个选项,

  1. 将 openglview zorderontop 设置为 true。它使我的文本落后于 glview。如果我没有使 zorderontop 为真,则背景为黑色。

  2. 将半透明主题设置为使我的 glview 和父视图组变得透明的活动。

  3. 我试图膨胀包含 glview 的布局并使用ContexThemeWrapper类动态更改 glview 的主题。但是setTheme() 在运行时不起作用。仅在清单文件中应用主题才有效。

  4. 将布局背景应用于透明也不起作用,仍然是黑色背景。

0 投票
1 回答
6711 浏览

android - Opengl-es 手动调用 onDrawFrame

我正在创建一个游戏循环,如果我发现我落后于进程,我需要能够调用 onDrawFrame(从渲染器内部手动)以便“跳过帧”。

目前我有一个 GLSurfaceView 类调用

有了这个设置,我明白 onDrawFrame 会在每个刻度上被调用。

我尝试将上述调用放在一个方法中,以便我可以从我的游戏循环中调用它,但是在游戏循环的第二次运行中,我崩溃并显示消息说

有没有办法在每一帧手动调用渲染器

只会打电话给

方法正常工作。或者在使用openGL时以这种方式控制渲染器不是一个好习惯

0 投票
0 回答
345 浏览

android - GLSurfaceView 浮动在仪表板布局的顶部

我在布局上创建了一个透明的 sub-glsurfaceview(制作 zorderontop(true))并将其放置在滚动视图中。

在我的父视图组中,它是一个相对布局,顶部有一个仪表板,下面是滚动视图包含 glsurfaceview。

当我滚动视图时,surfaceview 会在仪表板的顶部移动,但我希望我的 glsurfaceview 位于仪表板下方。

如果我让我的 zorderontop(false) 背景不透明。如何实现呢?

请有人帮助我。

提前非常感谢。