예제 #1
0
    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;
    }