public void UpdateRgbImage() { // if (image_Thread.ThreadState == ThreadState.Suspended) { // image_Thread.Resume(); // } Marshal.Copy(NiteWrapper.getRGB(), image, 0, RGBwidth * RGBheight * 3); int p = 0; int flipIndex; int usersMapSize = 640 * 480; for (int i = 0; i < usersMapSize; i++) { flipIndex = usersMapSize - i - 1; Color c = new Color((float)image[p++] / 255f, (float)image[p++] / 255f, (float)image[p++] / 255f); usersImageColors[flipIndex] = c; } usersImageTex.SetPixels(usersImageColors); usersImageTex.Apply(); bg.texture = usersImageTex; double I = NiteWrapper.getIntensity(niteController.getCurrentUser()); total_intensity -= intensity[p_intensity]; total_intensity += I; intensity[p_intensity] = I; p_intensity = (p_intensity > 8)? 0 : p_intensity + 1; Light light = GameObject.Find("Point light").GetComponent <Light>(); light.intensity = 1 * (float)(total_intensity / 10.0); niteController.strIntensity = "user = "******", intensity = " + I; }