2017-08-30 15 views
0

私はウィンドウを生成し、そのバイトをソケットを通して1に変換するOpenGLソフトウェアを持っています。 OpenGLのソフトウェアは、データを取得:「バッファ」OpenGL画面をバイトに変換してテクスチャに統一して返します

glreadPixels(0,0,width,height,GL_RGB,GL_UNSIGNED_BYTE, buffer); 

はユニティアプリに送信されるバイト[]バッファです。

Texture2D t = new Texture(width,hight,Textureformat.ETC2_RGB,false); 
t.LoadRawTextureData(buffer); 
t.Applay(); 

をテクスチャが移動し、周期的にdisapearingされているカラフルな汚れに黒い画面としてapearsしかし:そこ私が行って、戻って画像に変換してみてください。 私は 'ETC2_RGB'形式を選択しましたが、関連性が高いと思われますが、TextureFormatからいくつかの形式を試してみましたが、そのすべてがカラフルなドット\ピンクなどで白く見えていました。

答えて

0

不適切なテクスチャ形式を使用しています。 ETC2_RGBは、1ピクセルあたり4ビットの圧縮形式です。 glReadPixelから照会するものは、チャネルあたり8ビットの非圧縮形式です。これのフォーマットはTextureformat.RGB24です。

+0

このフォーマットでは、静的な対角線のように表示されます。カラフルなドットからのラインと、側面の太いカラフルなラインです。私のopenglスクリーンは緑色の線で緑色で書かれています。 – SuzLy

関連する問題