问题标签 [egl]

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 投票
0 回答
1237 浏览

opengl-es - OpenGL ES 2.0:将 EGL_DEPTH_SIZE 添加到现有 EGL 上下文中

我正在处理一些 OGLES2 代码,它使用由某些框架软件(我无权访问)设置的上下文,并且我正在尝试绘制一个简单的立方体。

最终只有一个平面正方形在屏幕上移动,我调查了当前渲染上下文的配置,结果发现它EGL_DEPTH_SIZE设置为0,所以z我的所有顶点的值都被忽略了。

我需要在框架的上下文中操作,因为我正在使用它们提供的一些纹理(映射到我的立方体面上)所以我真的需要知道,有没有办法为这个上下文重新启用深度缓冲区?如果没有任何解决方法(即我可以渲染到 VBO 还是会忽略我的所有z值)

0 投票
1 回答
7704 浏览

java - GLES2.0:通过 glEGLImageTargetTexture2DOES 使用 GL_TEXTURE_EXTERNAL_OES

我想在Java中渲染一个图像缓冲区(在这种情况下NDK不是选项)并通过GL_TEXTURE_EXTERNAL_OES.

glTexImage2D不起作用,如规范中所述。但是该功能glEGLImageTargetTexture2DOES只能通过GLES11Ext类使用,这似乎有点错误。

无论如何,我试过了,它给了我GL_INVALID_OPERATION,如果:

如果 GL 无法使用提供的 eglImageOES 指定纹理对象(例如,如果引用多重采样 eglImageOES),则会生成错误 INVALID_OPERATION。

遗憾的是,我无法从这个描述中得出正面或反面,特别是因为 Android Java API 似乎没有让我访问eglImageOES函数。我也没有找到使用此函数的Java示例。

附上一个小例子:

有没有人这样做过或知道这是否可能?

编辑:

我查看了glEGLImageTargetTexture2DOES实现,看来我必须正确设置缓冲区。补充说,但仍然是同样的错误。

0 投票
1 回答
1087 浏览

opengl - 从程序员的角度来实现 EGL 是可能的吗?

EGL 看起来像是有史以来记录最差的 Khronos 项目,我真的找不到关于这个项目的任何具体内容,但它看起来很有希望,最后有一个 GLUT/FreeGlut 的标准化替代方案。

我的意思是,假设我希望我的应用程序在 linux 桌面上的窗口或没有窗口(没有装饰)的情况下使用 EGL 上下文,作为获得该 EGL 上下文的程序员,我应该参考谁?例如,如果我使用 QT,是 QT 应该实现 EGL 吗?许格?我?

0 投票
0 回答
864 浏览

android - 在某些设备上找不到任何 EGL 配置(Kindle Fire)

任何想法为什么这些属性无法在 Kindle Fire 上为我检索到任何合适的 EGL 配置?

我注意到这似乎也发生在摩托罗拉 XT320 上。但是,绝大多数 2.3+ android 设备似乎都可以使用这些属性,但不是这两个。

我没有这两种设备,但用户报告我的应用程序一开始就在这两种设备上崩溃,日志似乎表明这是因为没有找到有效的 EGL 配置。

我设法在安卓模拟器上重现了这个,使用亚马逊的插件来模拟 Kindle Fire。Kindle Fire HD 似乎运行良好。

代码片段(在 Kindle Fire 上抛出IllegalArgumentException "No configs match configSpec"):

0 投票
1 回答
4596 浏览

graphics - 树莓派 bcm_host 包含目录

我正在尝试编写一个使用 EGL 的简单程序,但是当我包含 bcm_host.h 时,gcc 说它不存在,所以我将 /opt/vc/include 添加到 makefile 中,它说缺少另一个标头,我添加了另一个目录,现在,在 6 个文件夹之后,我真的不想再这样做了,但 gcc 想要更多。我查看了 /opt/vc/src/hello_pi/Makefile.include 文件,它只添加了 3 个文件夹。所以问题是:我做错了什么?

这是生成文件:

0 投票
3 回答
2250 浏览

android - EGL_BAD_PARAMETER 调用 eglSwapInterval() 的结果

我有一个在几个 Android 设备上运行的 OpenGL 程序,没有任何问题。但是,当我在 Kindle Fire 上运行我的应用程序时,我的调用eglSwapInterval()返回EGL_BAD_PARAMETER.

我的电话看起来像:

我知道 1 是默认值,并且接受的最小值和最大值之外的值将被静默钳制。这就是为什么我对为什么“1”是一个不好的参数感到困惑的原因。我的代码允许基于 init 结构传入其他值,但我现在正在调试的错误是传入 1 导致的。

有任何想法吗?

谢谢。

0 投票
0 回答
5139 浏览

c++ - 使用 EGL 像素缓冲区

我在嵌入式平台 Mali400GPU、Ubuntu 上。我正在尝试使用 EGL 像素缓冲区,将使用片段着色器渲染的纹理复制到像素缓冲区,以便我可以在 CPU 上对该缓冲区进行一些处理。我已经完成了以下代码,但是当尝试使用缓冲区对象并在四边形上绘制它时,四边形有一个扭曲的纹理,我不知道为什么。

这是在初始化函数中

在绘图中:

0 投票
2 回答
17313 浏览

android - createWindowSurface 失败:EGL_BAD_MATCH?

android 版本是 2.2.1 设备是三星 Galaxy II 完整的崩溃日志是:

这是崩溃的相关代码:

我使用了 setEGLConfigChooser(),因为如果应用程序不在 API-17 上,它会在 API-17 上崩溃,所以对于这个崩溃的特定设备,我一直在环顾四周,它与设备的 PixelFormat 有关。

我想知道如何使用一些代码,这样它就不会在三星 Galaxy II android 版本 2.2.1 上崩溃,我无法在模拟器中测试它,我没有测试它的设备,我只需要确定代码我不知道如何改变它?

0 投票
2 回答
203 浏览

android - eglsurface 在进入没有主题的活动时被破坏

所以基本上我有一个应用程序,它可以进行一些开放式 gl 渲染,但也可以进行一些用户输入的活动来设置一些东西。

奇怪的事情,但是如果我进入一个没有以下属性的活动

android:theme="@style/ThemeDialog"

其中 ThemeDialog 基本上是一种将 parent 属性设置为的样式

@android:style/Theme.Holo.Dialog"

表面视图被破坏。一个与另一个到底是如何关联的?我似乎找不到合理的解释。你能帮我么?

0 投票
3 回答
3636 浏览

android - Nexus 10/Android 4.2.2 上的 glTexSubImage2D 性能缓慢(三星 Exynos 5 w/ Mali-T604)

我有一个 Android 应用程序,可以将视频解码为 yuv420p 格式,然后使用 OpenGLES 渲染视频帧。我使用 glTexSubImage2D() 将 y/u/v 缓冲区上传到 GPU,然后使用着色器进行 YUV2RGB 转换。所有 EGL/OpenGL 设置/渲染代码都是本机代码。

现在我并不是说我的代码没有问题,但考虑到相同的代码在 iOS (iPad/iPhone)、Nexus 7、Kindle HD 8.9、三星 Note 1 和其他一些便宜的中国平板电脑 (A31/ RockChip 3188) 运行 Android 4.0/4.1/4.2。我会说我的代码不太可能是错误的。在这些设备上,glTexSubImage2D() 使用不到 16 毫秒来上传 SD 或 720P 高清纹理。

但是,在 Nexus 10 上,glTexSubImage2D() 处理 SD 或 720P HD 纹理大约需要 50~90ms,这对于 30fps 或 60fps 视频来说太慢了。

我想知道

1)如果我应该选择不同的纹理格式(RGBA 或 BGRA)。有没有办法检测 GPU 使用的最佳纹理格式是什么?

2) 如果在所有其他 SOC 上存在“关闭”但在 Exynos 5 上设置为“开启”的功能。例如,自动 MIPMAP 生成选项。(我把它关了,顺便说一句)

3) 如果这是三星 Exynos SOC 的已知问题 - 我找不到 Exynos CPU 的支持论坛

4) 配置 EGL 表面时我需要设置任何选项吗?比如,透明度,表面格式等?(我不知道我在说什么)

5) 这可能意味着 GPU 正在进行隐式格式转换,但我检查了始终使用 GL_LUMINANCE。它再次适用于所有其他平台。

6)还有什么?

我的 EGL 配置:

初始设置:

随后的部分替换:

我正在尝试以 SD 或 720P HD 分辨率以 ~30FPS 或 ~60FPS 渲染视频。