我有一个opengl软件,它生成一个窗口,然后通过套接字将其字节发送到统一。 opengl软件检索数据:
glreadPixels(0,0,width,height,GL_RGB,GL_UNSIGNED_BYTE, buffer);
其中'缓冲区'是byte []缓冲区,它被发送到统一应用程序。在那里,我尝试将其转换回图像:
Texture2D t = new Texture(width,hight,Textureformat.ETC2_RGB,false);
t.LoadRawTextureData(buffer);
t.Applay();
然而,纹理会像黑色屏幕一样呈现出色彩斑斓的色彩,这些色彩会在周期性地移动和消失。 我选择了' ETC2_RGB'格式,因为它看起来相关,但我也尝试了TextureFormat的更多格式,并且所有格式看起来都是白色\黑色,带有彩色圆点\粉红色等等。我应该选择哪种正确的转换?
答案 0 :(得分:0)
您使用的是错误的纹理格式。 ETC2_RGB
是一种压缩格式,每像素4位。您从glReadPixel
查询的是未压缩格式,每个通道8位。格式为Textureformat.RGB24
。