问题标签 [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.
android-camera - 用于同步摄像头的 MediaCodec
我正在使用 MediaCodec API 开发同步摄像机流和录制。我想合并来自相机的帧并提供给渲染以及 Mediacodec 以记录为表面。我不想创建多个 EGLContext 而是应该使用相同的。我以 Bigflake 媒体编解码器示例作为参考,但我不清楚这是否可能。还有如何绑定多个纹理?因为我们需要两个相机的两个纹理。您的宝贵意见将帮助我进一步进步。目前我被卡住了,不清楚下一步该怎么做。
问候内哈尔
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。
android - egl 表面属性未实现?
我的应用程序运行正常,但突然显示此错误:
Egl surface attribute not implemented.
我认为它甚至不是错误。一切正常,我从本地主机正确接收数据,但未显示。我尝试更改模拟器,创建新的模拟器但没有用。
android - 在 OpenGLES 2.0 中缓存输出图像
我的问题:
我有一个视频(可以说是 25FPS),必须在屏幕上使用 opengles 2.0 进行渲染。为了阅读视频,我使用了一个解码器,将该视频解码为 opengl es 纹理。使用渲染通道,我在屏幕上绘制了这个纹理。
我要做的是从解码器获取图像,将其上传到 gpu,调用着色器程序并将图像渲染到屏幕上。如果视频有 25FPS,我必须以 40ms 的步长(1000ms/25FPS)更新屏幕。
在每个步骤中,我必须执行以下操作:
- 从解码器获取图像
- 将其推送到 gpu 内存
- 渲染屏幕
- 交换缓冲区
到目前为止,它正在工作。现在发生了,解码器需要超过 40 毫秒来解码一帧。这不会一直发生,但有时会发生。
一个解决方案是构建缓存。意思是,在显示第一张之前,我确实渲染了 5 张图像。这带来了一个问题,它必须异步发生,因此可以同时构建缓存和渲染屏幕。如果发生这种情况,您可以在视频中看到它,因为它不再是“流动的”。
我的问题:
- 有解决方案吗?
- 是否可以创建一个?缓冲区,可以在渲染表面的后台缓冲区上复制(?!),这样我就可以使用这种缓冲区创建一个缓存,并将其复制到后台缓冲区而不阻塞另一个线程正在创建这个缓冲区?
或者
- 如何用另一个缓冲区填充后缓冲区?
我已经试过了:
- 将帧缓冲区(纹理)渲染为缓存。这几乎是完美的,除了纹理也必须被渲染。这意味着(因为它是异步的)如果构建了缓存帧并且构建了屏幕的图像,则必须互斥(/同步)渲染方法,否则程序会崩溃。但是同步化需要异步进行。所以这不是一个好的解决方案。
android - 用 EGL_KHR_image_base 替换 glReadPixels 以获得更快的像素复制
我正在尝试在 android 本机进程中使用 EGL_KHR_image_base 来替换 glReadPixels ,因为它很慢( 220ms for 1280x800 RGBA )。
这是我到目前为止所拥有的,但它会产生一个空缓冲区(只有零)
我究竟做错了什么 ?
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上下文:
opengl-es - 如何在 opengl/egl 中更改渲染表面的大小?
我正在使用 C 语言在 OpenGL ES 2.0 中工作。(不是 Android)我想更改 egl 表面的大小,以便我可以同时在屏幕上渲染两个不同的上下文。
是否可以调整 egl 表面的大小?
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
如果我评论这条线它可以工作,但(逻辑上)没有显示任何东西。
我在谷歌上没有找到任何东西,请帮助我并提前感谢
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 接口是
非常感谢提前
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 是:
这里有什么建议还是需要更多信息?