Fast way to set byte array to unity texture2d
c#, shader, unity-game-engine
Solution
I have done it with using openGL. Just write a plugin for unity and get Texture2D NativeID from unity and send that to the plugin then use openGL to set bytes to the texture ! It was amazing ! FPS increased from 10 to 50 !!! also you need to know that you have to run games in OpenGL mode, with "-force-opengl" to use opengl functions.
Problem
In unity3d I get image from camera (color camera device) as byte array from a plugin , and I want show image in real-time in screen . If i use `Texture2D.SetPixels32` for making a texture, it decrease fps dramatically ( from 80 to 10). ``` //First convert byte[] to color[] colorr = GetColor(imageBuffer); imageColor.SetPixels32(colorr); imageColor.Apply(); // fps reduced here ``` I guess I need to do this with a shader on GPU . So what is solution to do this faster ? If answer is using shader , can give a sample . Thx.