【发布时间】:2019-05-28 08:41:30
【问题描述】:
在 Windows 上测试时,代码按预期工作,但在 android 上,glGetTexImage api 不存在,是否有其他方法可以在创建纹理之前从 OpenGL 获取所有像素而不缓存它们?
这是代码:
void Texture::Bind(int unit)
{
glActiveTexture(GL_TEXTURE0 + unit);
glBindTexture(GL_TEXTURE_2D, mTextureID);
}
GLubyte* Texture::GetPixels()
{
Bind();
int data_size = mWidth * mHeight * 4;
GLubyte* pixels = new GLubyte[mWidth * mHeight * 4];
glGetTexImage(GL_TEXTURE_2D, 0, GL_RGBA, GL_UNSIGNED_BYTE, pixels);
return pixels;
}
【问题讨论】:
标签: opengl-es opengl-es-2.0 opengl-es-3.0