Пример #1
0
    public void Test24()
    {
        Texture2D tex24 = sp24.texture;

        byte[] data = tex24.GetRawTextureData();
        print(data.Length);
        print("width: " + tex24.width);
        print("height: " + tex24.height);

        byte[] result_24   = new byte[data.Length];
        byte[] result_24h  = new byte[data.Length];
        byte[] result_24_4 = new byte[data.Length];
        byte[] result_24v  = new byte[data.Length];

        TimeSpan ts;
        DateTime dt = DateTime.Now;

        GaussianBlur.Blur24(data, tex24.width, tex24.height, 1, 5, result_24_4);
        ts = DateTime.Now - dt;
        print("blur24_4: " + ts);
        dt = DateTime.Now;
        GaussianBlur.Blur24(data, tex24.width, tex24.height, result_24);
        ts = DateTime.Now - dt;
        print("blur24: " + ts);
        dt = DateTime.Now;
        for (int i = 0; i < GaussianBlur.cDefaultRadius + GaussianBlur.cDefaultRadius + 1; i++)
        {
            GaussianBlur.Blur24Horizontal(data, tex24.width, tex24.height, i, result_24h);
        }
        ts = DateTime.Now - dt;
        print("blur24h: " + ts);
        dt = DateTime.Now;
        for (int i = 0; i < GaussianBlur.cDefaultRadius + GaussianBlur.cDefaultRadius + 1; i++)
        {
            GaussianBlur.Blur24Vertical(data, tex24.width, tex24.height, i, result_24v);
        }
        ts = DateTime.Now - dt;
        print("blur24v: " + ts);

        Texture2D t24 = new Texture2D(tex24.width, tex24.height, TextureFormat.RGB24, false, true);

        t24.LoadRawTextureData(result_24);
        File.WriteAllBytes(Path.Combine(Application.dataPath, "test_gaussianblur24.png"), t24.EncodeToPNG());

        Texture2D t24h = new Texture2D(tex24.width, tex24.height, TextureFormat.RGB24, false, true);

        t24h.LoadRawTextureData(result_24h);
        File.WriteAllBytes(Path.Combine(Application.dataPath, "test_gaussianblur24h.png"), t24h.EncodeToPNG());

        Texture2D t24v = new Texture2D(tex24.width, tex24.height, TextureFormat.RGB24, false, true);

        t24v.LoadRawTextureData(result_24v);
        File.WriteAllBytes(Path.Combine(Application.dataPath, "test_gaussianblur24v.png"), t24v.EncodeToPNG());

        Texture2D t24_4 = new Texture2D(tex24.width, tex24.height, TextureFormat.RGB24, false, true);

        t24_4.LoadRawTextureData(result_24_4);
        File.WriteAllBytes(Path.Combine(Application.dataPath, "test_gaussianblur24_4.png"), t24_4.EncodeToPNG());
    }