问题标签 [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.
opengl-es - OpenGL ES 2.0:将 EGL_DEPTH_SIZE 添加到现有 EGL 上下文中
我正在处理一些 OGLES2 代码,它使用由某些框架软件(我无权访问)设置的上下文,并且我正在尝试绘制一个简单的立方体。
最终只有一个平面正方形在屏幕上移动,我调查了当前渲染上下文的配置,结果发现它EGL_DEPTH_SIZE
设置为0
,所以z
我的所有顶点的值都被忽略了。
我需要在框架的上下文中操作,因为我正在使用它们提供的一些纹理(映射到我的立方体面上)所以我真的需要知道,有没有办法为这个上下文重新启用深度缓冲区?如果没有任何解决方法(即我可以渲染到 VBO 还是会忽略我的所有z
值)?
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
实现,看来我必须正确设置缓冲区。补充说,但仍然是同样的错误。
opengl - 从程序员的角度来实现 EGL 是可能的吗?
EGL 看起来像是有史以来记录最差的 Khronos 项目,我真的找不到关于这个项目的任何具体内容,但它看起来很有希望,最后有一个 GLUT/FreeGlut 的标准化替代方案。
我的意思是,假设我希望我的应用程序在 linux 桌面上的窗口或没有窗口(没有装饰)的情况下使用 EGL 上下文,作为获得该 EGL 上下文的程序员,我应该参考谁?例如,如果我使用 QT,是 QT 应该实现 EGL 吗?许格?我?
android - 在某些设备上找不到任何 EGL 配置(Kindle Fire)
任何想法为什么这些属性无法在 Kindle Fire 上为我检索到任何合适的 EGL 配置?
我注意到这似乎也发生在摩托罗拉 XT320 上。但是,绝大多数 2.3+ android 设备似乎都可以使用这些属性,但不是这两个。
我没有这两种设备,但用户报告我的应用程序一开始就在这两种设备上崩溃,日志似乎表明这是因为没有找到有效的 EGL 配置。
我设法在安卓模拟器上重现了这个,使用亚马逊的插件来模拟 Kindle Fire。Kindle Fire HD 似乎运行良好。
代码片段(在 Kindle Fire 上抛出IllegalArgumentException "No configs match configSpec"
):
graphics - 树莓派 bcm_host 包含目录
我正在尝试编写一个使用 EGL 的简单程序,但是当我包含 bcm_host.h 时,gcc 说它不存在,所以我将 /opt/vc/include 添加到 makefile 中,它说缺少另一个标头,我添加了另一个目录,现在,在 6 个文件夹之后,我真的不想再这样做了,但 gcc 想要更多。我查看了 /opt/vc/src/hello_pi/Makefile.include 文件,它只添加了 3 个文件夹。所以问题是:我做错了什么?
这是生成文件:
android - EGL_BAD_PARAMETER 调用 eglSwapInterval() 的结果
我有一个在几个 Android 设备上运行的 OpenGL 程序,没有任何问题。但是,当我在 Kindle Fire 上运行我的应用程序时,我的调用eglSwapInterval()
返回EGL_BAD_PARAMETER
.
我的电话看起来像:
我知道 1 是默认值,并且接受的最小值和最大值之外的值将被静默钳制。这就是为什么我对为什么“1”是一个不好的参数感到困惑的原因。我的代码允许基于 init 结构传入其他值,但我现在正在调试的错误是传入 1 导致的。
有任何想法吗?
谢谢。
c++ - 使用 EGL 像素缓冲区
我在嵌入式平台 Mali400GPU、Ubuntu 上。我正在尝试使用 EGL 像素缓冲区,将使用片段着色器渲染的纹理复制到像素缓冲区,以便我可以在 CPU 上对该缓冲区进行一些处理。我已经完成了以下代码,但是当尝试使用缓冲区对象并在四边形上绘制它时,四边形有一个扭曲的纹理,我不知道为什么。
这是在初始化函数中
在绘图中:
android - createWindowSurface 失败:EGL_BAD_MATCH?
android 版本是 2.2.1 设备是三星 Galaxy II 完整的崩溃日志是:
这是崩溃的相关代码:
我使用了 setEGLConfigChooser(),因为如果应用程序不在 API-17 上,它会在 API-17 上崩溃,所以对于这个崩溃的特定设备,我一直在环顾四周,它与设备的 PixelFormat 有关。
我想知道如何使用一些代码,这样它就不会在三星 Galaxy II android 版本 2.2.1 上崩溃,我无法在模拟器中测试它,我没有测试它的设备,我只需要确定代码我不知道如何改变它?
android - eglsurface 在进入没有主题的活动时被破坏
所以基本上我有一个应用程序,它可以进行一些开放式 gl 渲染,但也可以进行一些用户输入的活动来设置一些东西。
奇怪的事情,但是如果我进入一个没有以下属性的活动
android:theme="@style/ThemeDialog"
其中 ThemeDialog 基本上是一种将 parent 属性设置为的样式
@android:style/Theme.Holo.Dialog"
表面视图被破坏。一个与另一个到底是如何关联的?我似乎找不到合理的解释。你能帮我么?
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 渲染视频。