Пример #1
0
        private void OnEnable()
        {
            graph = new BarGraphBuf();
            buf   = new GPUList <float>();

            rend = GetComponent <Renderer>();

            Build();
        }
Пример #2
0
    private void OnEnable()
    {
        we    = new WaveEquation1DBuf();
        graph = new BarGraphBuf();
        v     = new GPUList <float>();
        u0    = new GPUList <float>();
        u1    = new GPUList <float>();

        rend = GetComponent <Renderer>();

        validator.Reset();
        validator.Validation += () => {
            we.C        = speed;
            we.H        = 1000f / count;
            we.MaxSlope = maxSlope;

            graph.Peak = maxSlope * 2;

            time = 0f;
            dt   = Mathf.Min(we.SupDt(), Time.fixedDeltaTime) / (2 * quality);
            Debug.LogFormat("Set dt={0} for speed={1}", dt, speed);

            var dw     = 4f / count;
            var offset = dw * 0.5f * count;
            var dam    = Mathf.RoundToInt(0.1f * count);
            v.Clear();
            u0.Clear();
            u1.Clear();
            for (var i = 0; i < count; i++)
            {
                var w = 1f - Mathf.Clamp01(Mathf.Abs(dw * i - offset));
                u0.Add(w);
                u1.Add(0);
                v.Add(0);
            }
        };
    }