[英]Fast way to set byte array to unity texture2d
在unity3d中,我從相機(彩色相機設備)獲取圖像作為插件的字節數組,我希望在屏幕上實時顯示圖像。
如果我使用Texture2D.SetPixels32
來制作紋理,它會顯着降低fps (從80到10)。
//First convert byte[] to color[]
colorr = GetColor(imageBuffer);
imageColor.SetPixels32(colorr);
imageColor.Apply(); // fps reduced here
我想我需要在GPU上使用着色器執行此操作。
那么更快的解決方案是什么? 如果回答是使用着色器,可以給出樣本。
謝謝。
我使用openGL完成了它。 只需編寫一個Unity的插件並從Unity獲取Texture2D NativeID並將其發送到插件然后使用openGL將字節設置為紋理! 這是驚人的 ! FPS從10增加到50! 你也需要知道你必須在OpenGL模式下運行游戲,使用“-force-opengl”來使用opengl函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.