繁体   English   中英

显示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例程。 如何显示opengles转换的结果?

您发布的代码与OpenGL-ES无关。 使用OpenGL(-ES)实现颜色空间转换的典型方法是将图像加载到纹理中 ,加载执行颜色转换的片段着色器 ,并绘制 (全视口) 纹理四边形 (如果四边形是,则glDrawArrays会这样做)几何图形已被加载到顶点数组中)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM