其他升级问题,部分已解决。希望对需要的同学有帮助
我们基于 3.0.0 实现了 GLES3Texture.getPixelBytes 功能,一切正常。但升级到 3.3.1 版本后,同样的代码发现获取到的图片不符合预期
实际效果如下
预期效果如下
代码实现
unsigned char* GLES3Texture::getPixelBytes() {
const GLuint texture = _gpuTexture->glTexture;
const uint width = _gpuTexture->width;
const uint height = _gpuTexture->height;
// convert texture to pixel array
GLuint fbo;
glGenFramebuffers(1, &fbo);
glBindFramebuffer(GL_FRAMEBUFFER, fbo);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texture, 0);
const uint size = width * height * 4;
auto* pixels = new GLubyte[size];
glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, pixels);
glBindFramebuffer(GL_FRAMEBUFFER, 0);
glDeleteFramebuffers(1, &fbo);
return pixels;
}
以上是需要使用模型截屏的功能,目前官方不支持。上述是我们定制的功能,麻烦官方同学一起帮看下 @panda
更新
安卓端获取到的 RT 信息