Esempio n. 1
0
    void UpdateRequestFinished(DSPNodeUpdateRequest <SpectrumUpdateKernel, SpectrumNode.Parameters, SpectrumNode.Providers, SpectrumNode> request)
    {
        _Waiting = false;
        if (_Initialized == false)
        {
            return;
        }
        _ScopeDataBuffer?.SetData(_Buffer);

        Compute.SetInt("BufferSize", _Buffer.Length);
        Compute.SetInt("SampleRate", AudioSettings.GetConfiguration().sampleRate);

        Compute.SetTexture(_GridKernelId, "Result", SpectrumRT);
        Compute.Dispatch(_GridKernelId, SpectrumRT.width, SpectrumRT.height, 1);

        Compute.SetBuffer(_SpectrumKernelId, "SpectrumData", _ScopeDataBuffer);
        Compute.SetTexture(_SpectrumKernelId, "Result", SpectrumRT);
        Compute.Dispatch(_SpectrumKernelId, SpectrumRT.width, 1, 1);
    }
Esempio n. 2
0
    void UpdateRequestFinished(DSPNodeUpdateRequest <ScopeUpdateKernel, ScopeNode.Parameters, ScopeNode.Providers, ScopeNode> request)
    {
        _Waiting = false;
        if (_Initialized == false)
        {
            return;
        }
        _ScopeDataBuffer?.SetData(_BufferX);

        Compute.SetInt("InputChannelsX", request.UpdateJob.InputChannelsX);
        Compute.SetInt("MaxChannels", ScopeNode.MAX_CHANNELS);
        Compute.SetInt("BufferSize", ScopeNode.BUFFER_SIZE);
        Compute.SetInt("BufferIdx", request.UpdateJob.BufferIdx);
        Compute.SetFloat("TriggerThreshold", request.UpdateJob.TriggerThreshold);
        Compute.SetFloat("ScopeXHeight", Height);
        Compute.SetFloat("ScopeXOffset", Offset);

        Compute.SetTexture(_GridKernelId, "Result", ScopeRT);
        Compute.Dispatch(_GridKernelId, ScopeRT.width, ScopeRT.height, 1);

        Compute.SetBuffer(_ScopeKernelId, "ScopeData", _ScopeDataBuffer);
        Compute.SetTexture(_ScopeKernelId, "Result", ScopeRT);
        Compute.Dispatch(_ScopeKernelId, ScopeNode.BUFFER_SIZE, 1, 1);
    }