与夏同炙 2017-01-20 11:51 采纳率: 0%
浏览 4319
已结题

Android opengl es20 glReadPixels获取原视频分辨率大小帧数据

Android上用opengl es20在小屏幕上渲染1080P视频,怎么通过glReadPixels获取原分辨率大小的帧数据?现在通过glReadPixels只能获取到渲染后屏幕大小的分辨率,需要 获取原视频的帧数据

  • 写回答

1条回答 默认 最新

  • 张悠悠爸 2017-01-22 03:00
    关注

    渲染到纹理(render to texture)

    一、
    创建纹理texture
    glCreateTexture2D(NULL,&OriginalTex,GL_RGBA8/*3*/,1920,1080,GL_RGBA);
    挂到FBO上
    glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, OriginalTex, 0);
    二、显示
    glEnable(GL_TEXTURE_2D);
    glBindTexture(GL_TEXTURE_2D, OriginalTex);
    glBegin(GL_QUADS);
    glTexCoord2i(0, 1); glVertex2i(0 , 1080);
    glTexCoord2i(1, 1); glVertex2i(1920, 1080);
    glTexCoord2i(1, 0); glVertex2i(1920, 0);
    glTexCoord2i(0, 0); glVertex2i(0 ,0);
    glEnd();
    glBindTexture(GL_TEXTURE_2D, 0);
    glDisable(GL_TEXTURE_2D);

    评论

报告相同问题?