显示 OpenglES 缓冲区的内容
Display contents of OpenglES buffer
我想将 yuv 到 rgb 转换后的帧显示为默认显示。目前,我正在使用以下代码执行此操作,其中yuv到rgb的转换由加载CPU的汇编代码完成。我找到了一些代码来对 opengles 做同样的事情。
Yuv420_to_RGB(ui8buf, buffer1, h1, w1); /* RGB data will be resulted in buffer1 */
window = ANativeWindow_fromSurface(env, surface);
ANativeWindow_acquire(window);
wid = ANativeWindow_getWidth(window);
hei = ANativeWindow_getHeight(window);
ANativeWindow_setBuffersGeometry(window,w1,h1,1)
if (ANativeWindow_lock(window, &buffer, NULL) == 0)
{
memcpy(buffer.bits, buffer1, (4* w1*h1));
ANativeWindow_unlockAndPost(window);
}
ANativeWindow_release(window);
我有以glDrawArrays结尾的opengles例程。如何显示开格斯转换的结果?
您发布的代码与OpenGL-ES没有任何关系。使用 OpenGL(-ES) 实现色彩空间转换的典型方法是将图像加载到纹理中,加载执行颜色转换的片段着色器并绘制(全视口)纹理四边形(这就是 glDrawArrays 将要做的,如果之前已将四边形的几何体加载到顶点数组中)。
相关文章:
- C++字符*缓冲区的大小
- 为什么msgrcv()将垃圾字符馈送到缓冲区
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- ostream过载时的缓冲区冲洗
- C++中的高效循环缓冲区,它将被传递给C样式数组函数参数
- Xaudio2在更改缓冲区或循环时弹出声音
- 为什么我在leetcode上收到AddressSanitizer:地址0x602000000058上的堆缓冲区溢出错误
- 如何将图像传输到c++(dll)中的缓冲区,然后在c#的缓冲区中读/写
- 如何在cpp.中使用协议缓冲区存储大缓冲区/数组(char/int)
- 多线程双缓冲区
- Android P-9.0.0_r53 Logcat主缓冲区超出定义大小
- 套接字读取后,我在缓冲区中看到意外输入
- std::带有自定义缓冲区的 iostream 不允许我写入
- phytec phyBOARD iMX-6在从闪存而不是SD卡运行qt5 opengles应用程序时表现不佳(FPS减半
- 从返回的顶点缓冲区查询顶点结构
- Vulkan 中的动态顶点缓冲区格式设置
- OpenGL 16 位模板缓冲区?
- 在 leetcode 上提交解决方案时出现堆栈缓冲区溢出错误
- 为什么我的索引缓冲区未与gldrawarraysinstanced一起使用(OpenGles 3.0)
- 显示 OpenglES 缓冲区的内容