问题标签 [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 回答
194 浏览

android-camera - 用于同步摄像头的 MediaCodec

我正在使用 MediaCodec API 开发同步摄像机流和录制。我想合并来自相机的帧并提供给渲染以及 Mediacodec 以记录为表面。我不想创建多个 EGLContext 而是应该使用相同的。我以 Bigflake 媒体编解码器示例作为参考,但我不清楚这是否可能。还有如何绑定多个纹理?因为我们需要两个相机的两个纹理。您的宝贵意见将帮助我进一步进步。目前我被卡住了,不清楚下一步该怎么做。

问候内哈尔

0 投票
1 回答
6561 浏览

c - GBM 上的 EGLDisplay

我想通过 EGL 创建一个 OpenGL 上下文。由于我不会实际绘制,因此我想将 Pbuffers 与 GBM 平台结合使用。这是代码(C99):

它失败并出现以下错误:

是我作为示例的页面。

我很惊讶,因为我用 , 构建了 Mesa --with-egl-platforms=drm,wayland,x11,即使这里声明EGL_DEFAULT_DISPLAY映射到指定的第一个平台,它也是_XDisplay *我系统上的别名。

AFAIK,Weston 在 GBM 之上创建了一个 EGLDisplay,用于在裸 KMS 上绘图。我查看了它的代码,并且已经找到了相关的系统标头以寻找解决方案,但它似乎不存在。

FWIW,我在 Radeon HD 3200、Linux 3.12.6、GCC 4.8.2 上使用 Mesa 10.0。

0 投票
1 回答
2891 浏览

android - egl 表面属性未实现?

我的应用程序运行正常,但突然显示此错误:

Egl surface attribute not implemented.

我认为它甚至不是错误。一切正常,我从本地主机正确接收数据,但未显示。我尝试更改模拟器,创建新的模拟器但没有用。

源代码

0 投票
1 回答
287 浏览

android - 在 OpenGLES 2.0 中缓存输出图像

我的问题:

我有一个视频(可以说是 25FPS),必须在屏幕上使用 opengles 2.0 进行渲染。为了阅读视频,我使用了一个解码器,将该视频解码为 opengl es 纹理。使用渲染通道,我在屏幕上绘制了这个纹理。

我要做的是从解码器获取图像,将其上传到 gpu,调用着色器程序并将图像渲染到屏幕上。如果视频有 25FPS,我必须以 40ms 的步长(1000ms/25FPS)更新屏幕。

在每个步骤中,我必须执行以下操作:

  • 从解码器获取图像
  • 将其推送到 gpu 内存
  • 渲染屏幕
  • 交换缓冲区

到目前为止,它正在工作。现在发生了,解码器需要超过 40 毫秒来解码一帧。这不会一直发生,但有时会发生。

一个解决方案是构建缓存。意思是,在显示第一张之前,我确实渲染了 5 张图像。这带来了一个问题,它必须异步发生,因此可以同时构建缓存和渲染屏幕。如果发生这种情况,您可以在视频中看到它,因为它不再是“流动的”。

我的问题:

  • 有解决方案吗?
  • 是否可以创建一个?缓冲区,可以在渲染表面的后台缓冲区上复制(?!),这样我就可以使用这种缓冲区创建一个缓存,并将其复制到后台缓冲区而不阻塞另一个线程正在创建这个缓冲区?

或者

  • 如何用另一个缓冲区填充后缓冲区?

我已经试过了:

  • 将帧缓冲区(纹理)渲染为缓存。这几乎是完美的,除了纹理也必须被渲染。这意味着(因为它是异步的)如果构建了缓存帧并且构建了屏幕的图像,则必须互斥(/同步)渲染方法,否则程序会崩溃。但是同步化需要异步进行。所以这不是一个好的解决方案。
0 投票
2 回答
7648 浏览

android - 用 EGL_KHR_image_base 替换 glReadPixels 以获得更快的像素复制

我正在尝试在 android 本机进程中使用 EGL_KHR_image_base 来替换 glReadPixels ,因为它很慢( 220ms for 1280x800 RGBA )。

这是我到目前为止所拥有的,但它会产生一个空缓冲区(只有零)

我究竟做错了什么 ?

0 投票
3 回答
775 浏览

android - 带有 GL_PIXEL_PACK_BUFFER 的 glBindBuffer 返回枚举错误代码

我正在尝试做:

glBindBuffer(GL_PIXEL_PACK_BUFFER, pbo_id);

在 android 4.3 中,我得到了“枚举错误代码”,尽管文档说我可以使用 GL_PIXEL_PACK_BUFFER。

也许我没有使用“OpenGL ES 3.0”?我需要做什么来强制使用 v3?

OpenGL上下文:

0 投票
1 回答
3419 浏览

opengl-es - 如何在 opengl/egl 中更改渲染表面的大小?

我正在使用 C 语言在 OpenGL ES 2.0 中工作。(不是 Android)我想更改 egl 表面的大小,以便我可以同时在屏幕上渲染两个不同的上下文。

是否可以调整 egl 表面的大小?

0 投票
1 回答
1545 浏览

android - Android WebView 在 android 4.4 上不起作用

我正在开发一个使用 webview 的应用程序。在我的带有 android 4.1 的 Lg-p880 上一切正常,但在新的 Kitkat 手机(以及模拟器)上,Logcat 向我显示:

01-29 11:16:03.095: E/eglCodecCommon(2179): * * 错误未知类型 0x10037 (glSizeof,72)

01-29 11:16:03.695:E/eglCodecCommon(2179):glUtilsParamSize:未知参数 0x00000b44

如果我评论这条线它可以工作,但(逻辑上)没有显示任何东西。

我在谷歌上没有找到任何东西,请帮助我并提前感谢

0 投票
2 回答
18638 浏览

java - Android Webview 无法在 Android 4.4 上运行

我正在开发一个基于 Webview 的 Android 应用程序。在 Android 4.1 上一切正常,但在 4.4 上它会抛出此错误。

01-29 11:16:03.075: E/eglCodecCommon(2179): glUtilsParamSize: 未知参数 0x00000bd0 01-29 11:16:03.095: E/eglCodecCommon(2179): * * 错误未知类型 0x10037 (glSizeof,72)

如果我取消注释此行,它可以工作,但(逻辑上)没有显示任何内容

Webview 配置代码如下所示。

HTML代码正是

Java-Javascript 接口是

非常感谢提前

0 投票
1 回答
8561 浏览

opengl - Fedora 19 使用 rpmfussion 的 NVIDIA 驱动程序:libGL 错误:加载驱动程序失败:swrast

在我的 Fedora 19 机器上运行使用 Qt 4.7 的应用程序时,我从应用程序中收到以下错误:

我在使用 glx 配置上下文的股票 X11 应用程序中看不到这些错误。我假设这是因为 Qt 在下面使用 egl。在运行他们的多维数据集示例时,使用来自http://malideveloper.arm.com/develop-for-mali/tools/opengl-es-3-0-emulator/的 EGL 3 模拟器也会发生同样的事情。

我已经验证安装了 xorg-x11-drv-nvidia-libs.i686 和 yum install xorg-x11-drv-nvidia-libs.x86_64 rpms。

我的系统信息是:

而 glxinfo 是:

这里有什么建议还是需要更多信息?