我正在结合 libvpx(WebM 解码库)和 OpenGL ES 2.0 着色器(适用于 Android)获得的 yuv 数据进行编程。
这些是相同的字节数组,但在这种情况下未正确绘制。
成功:
// ex) unsigned char *p = yuv.y, yuv.u or yuv.v;
for(int dy = 0; dy < hh; dy++){
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, dy, ww, 1, GL_LUMINANCE, GL_UNSIGNED_BYTE, p);
p += ww;
}
失败 :
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, ww, hh, GL_LUMINANCE, GL_UNSIGNED_BYTE, p);
因为我不了解OpenGL,所以我不明白这个原因。我认为如果每行都调用 glTexSubImage2D ,性能会变差。是不是不能再改进了?